输出pig fs命令到文件或变量

时间:2017-01-30 01:23:51

标签: apache-pig

我正在尝试监控HDFS系统中的文件。 目前,我这样做的方式非常痛苦:fs -ls -R /river/entity/files;

此命令在控制台日志文件中输出结果。然后我需要将结果复制/粘贴到文件中以使用它...这根本没有效率。使用 PIG ,是否有一种简单的方法可以将命令的结果直接输出到文件中?

编辑:谢谢答案,但我还不够清楚。对不起! 我不能用终端。我只执行一个猪脚本,我希望我的结果是HDFS。是否有可能只在hadoop方面这样做?

2 个答案:

答案 0 :(得分:1)

是的,你可以!实际上,您可以在Pig脚本中执行任何shell命令,如下所示:

%declare dummy `hdfs dfs -ls -R /river/entity/files | hdfs dfs -put - hdfs://nn.example.com/hadoop/myfile.log`

但你应该认为Pig语句没有按照脚本中出现的顺序执行!

答案 1 :(得分:0)

只需输入您的终端:

$hadoop fs -ls -R /river > your/path/to/file.txt
shell脚本示例file.sh中的

或write命令包含以下代码,然后运行shell脚本:

hadoop fs -ls -R /river > your/path/to/file.txt

如果您使用Pig Grunt shell或Pig脚本,请使用shell utility commands

示例file_name.pig包含代码fs -ls -R /river/entity/files

然后从PIG file_name.pig > your/path/to/file2.txt

等终端运行您的猪脚本