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

Sai*_*Sai 6 hadoop oozie oozie-coordinator hadoop2 cloudera-cdh

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

在我的 HDFS 位置,我test_08_01_2016.csv每天晚上 11 点都会收到这样的文件。

我想在晚上 11.15 之后检查此文件是否存在。我可以使用 Oozie 协调器作业来安排批处理。

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

abh*_*eor 6

您可以在 oozie 中使用 EL 表达式,例如:

<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>
Run Code Online (Sandbox Code Playgroud)

您还可以使用捕获输出使用简单的 shell 脚本构建文件的名称。