如何使用hdfs shell命令检查文件是否存在

时间:2011-09-21 05:30:10

标签: hadoop

我是hadoop的新手,需要一点帮助。

假设我使用shell脚本在后台运行作业,我怎么知道作业是否完成。我要问的原因是,一旦作业完成,我的脚本必须将输出文件移动到其他位置。如何使用hdfs检查作业是否存在或outfile是否存在。

由于 MRK

2 个答案:

答案 0 :(得分:2)

您需要注意以这种方式检测作业的方式,因为在作业完成之前可能会有输出。

要回答您的直接问题,为了测试存在,我通常会hadoop fs -ls $output | wc -l,然后确保该数字大于0.

我的建议是你使用&&来解决问题:

hadoop ... myjob.jar ... && hadoop fs -mv $output $new_output &

这将完成作业,然后执行移动。

答案 1 :(得分:0)

您可以使用JobConf.setJobEndNotificationURI()在作业完成时收到通知。

我认为您还可以使用ps命令检查启动Hadoop作业的进程的pid。