将 pig fs 命令输出到文件或变量
output pig fs command to a file or a variable
我正在尝试监控我的 HDFS 系统中的文件。
目前,我这样做的方式非常痛苦:fs -ls -R /river/entity/files;
。
此命令在控制台日志文件中输出结果。然后我需要将结果 copy/paste 放入文件中才能使用它……这根本没有效率。使用PIG,有没有一种简单的方法可以将命令的结果直接输出到文件中?
编辑:感谢您的回答,但我还不够清楚。对不起 !
我无法使用终端。我只执行一个 pig 脚本,我希望在 HDFS 中得到结果。是否可以只在 hadoop 端这样做?
只需在您的终端中输入:
$hadoop fs -ls -R /river > your/path/to/file.txt
或在 shell 脚本示例中编写命令 file.sh
包含以下代码,然后 运行 您的 shell 脚本:
hadoop fs -ls -R /river > your/path/to/file.txt
如果您使用的是 Pig G运行t shell 或 Pig 脚本,则使用 shell utility commands
示例 file_name.pig
包含代码 fs -ls -R /river/entity/files
然后 运行 来自终端的猪脚本 PIG file_name.pig > your/path/to/file2.txt
是的,你可以!事实上,您可以像这样在 Pig 脚本中执行任何 shell 命令:
%declare dummy `hdfs dfs -ls -R /river/entity/files | hdfs dfs -put - hdfs://nn.example.com/hadoop/myfile.log`
但是您应该考虑到 Pig 语句不会按照脚本中出现的顺序执行!
我正在尝试监控我的 HDFS 系统中的文件。
目前,我这样做的方式非常痛苦:fs -ls -R /river/entity/files;
。
此命令在控制台日志文件中输出结果。然后我需要将结果 copy/paste 放入文件中才能使用它……这根本没有效率。使用PIG,有没有一种简单的方法可以将命令的结果直接输出到文件中?
编辑:感谢您的回答,但我还不够清楚。对不起 ! 我无法使用终端。我只执行一个 pig 脚本,我希望在 HDFS 中得到结果。是否可以只在 hadoop 端这样做?
只需在您的终端中输入:
$hadoop fs -ls -R /river > your/path/to/file.txt
或在 shell 脚本示例中编写命令 file.sh
包含以下代码,然后 运行 您的 shell 脚本:
hadoop fs -ls -R /river > your/path/to/file.txt
如果您使用的是 Pig G运行t shell 或 Pig 脚本,则使用 shell utility commands
示例 file_name.pig
包含代码 fs -ls -R /river/entity/files
然后 运行 来自终端的猪脚本 PIG file_name.pig > your/path/to/file2.txt
是的,你可以!事实上,您可以像这样在 Pig 脚本中执行任何 shell 命令:
%declare dummy `hdfs dfs -ls -R /river/entity/files | hdfs dfs -put - hdfs://nn.example.com/hadoop/myfile.log`
但是您应该考虑到 Pig 语句不会按照脚本中出现的顺序执行!