我想检查文件是否存在于给定的hdfs位置。
我们可以在fs:exists的帮助下检查文件是否存在于给定的hdfs位置。
如果文件名为 test_25082016
在协调工作的帮助下,我们可以得到日期值,即作为一个参数 today
在我们的例子中。
作业.prop
path=/user/cloudera/file/input/test_
在workflow.xml中
<decision name="CheckFile">
<switch>
<case to="nextOozieTask">
${fs:exists(concat(concat(nameNode, path),today))}
</case>
<case to="nextOozieTask1">
${fs:exists(concat(concat(nameNode, path),yesterday))}
</case>
<default to="MailActionFileMissing" />
</switch> </decision>
它正在按预期工作。
但在我的情况下,我的hdfs位置中有文件名,如下所示。
例子: test_25082016_08.10.06.681.csv ,test_24082016_08.13.16.681.csv
如何检查此类型的文件名,即在日期值之后,即。 _08.10.06.681.csv
, _08.13.16.681.csv
…等等。
是否可以在oozie工作流中使用正则表达式来检查这些值,即 _08.10.06.681.csv
在这种情况下,如何通过oozie验证文件是否存在?
请帮我提前谢谢。
1条答案
按热度按时间ubof19bj1#
在这种情况下,我们可以使用下面的代码检查文件是否存在