关于hadoop:如何使用oozie检查文件是否存在于HDFS位置?

How to check whether the file exist in HDFS location, using oozie?

如何使用oozie检查hdfs位置中的文件是否存在?

在我的HDFS位置,我每天晚上11点会得到一个像这样的文件test_08_01_2016.csv

我想在晚上11点15分以后检查这个文件是否存在。我可以使用Oozie协调器作业来安排批处理。

但是,如何验证HDFS中是否存在该文件?


你可以在Oozie中使用el表达式,比如:

1
2
3
4
5
6
7
8
<decision name="CheckFile">
         <switch>
            <case to="nextOozieTask">
              ${fs:exists('/path/test_08_01_2016.csv')} <!--do note the path which should be in ''-->
            </case>
            <default to="MailActionFileMissing" />
         </switch>
</decision>

还可以使用捕获输出使用简单的shell脚本生成文件名。