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

Hadoop 如何使用hdfs shell命令检查文件是否存在,hadoop,Hadoop,我是hadoop新手,需要一些帮助 假设我使用shell脚本在后台运行作业,我如何知道作业是否已完成。我问的原因是,一旦作业完成,我的脚本必须将输出文件移动到其他位置。如何使用hdfs检查作业是否已完成或输出文件是否存在 谢谢 MRK您可以使用它在作业完成时获得通知 我认为您还可以使用ps命令检查启动Hadoop作业的进程的pid 在检测作业是否以这种方式完成时需要小心,因为在作业完成之前可能会有输出 为了回答您的直接问题,为了测试是否存在,我通常会执行hadoop fs-ls$output |

我是hadoop新手,需要一些帮助

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

谢谢 MRK

您可以使用它在作业完成时获得通知


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

在检测作业是否以这种方式完成时需要小心,因为在作业完成之前可能会有输出

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

我的建议是,您可以使用
&&
继续前进:

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

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

HI,我正在shell脚本中运行作业,并添加另一个hdfs命令,以便在作业完成后将输出文件移动到本地文件系统。现在,我想使用&,提交背景文件。如何知道何时移动输出文件。我的意思是,是否有HDFS命令来检查o/p文件是否存在file://location“)在URI中。创建一个shell脚本,该脚本将文件从HDFS复制到本地以及所需的任何位置,然后将脚本的URI提供给setJobEndNotificationURI()。当作业完成(成功或失败)时,将自动调用shell脚本。URI可以包含两个特殊参数:$jobId和$jobStatus。