我正在尝试监控HDFS系统中的文件。
目前,我这样做的方式非常痛苦:fs -ls -R /river/entity/files;
。
此命令在控制台日志文件中输出结果。然后我需要将结果复制/粘贴到文件中以使用它...这根本没有效率。使用 PIG ,是否有一种简单的方法可以将命令的结果直接输出到文件中?
编辑:谢谢答案,但我还不够清楚。对不起! 我不能用终端。我只执行一个猪脚本,我希望我的结果是HDFS。是否有可能只在hadoop方面这样做?答案 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