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