Я хочу проверить, существует ли файл в указанном месте HDFS.
Мы можем проверить, существует файл или нет в заданном месте HDFS с помощью fs:exists, т.е.
Если имя файла test_25082016
, с помощью задания согласования мы можем получить значение даты, т.е. в качестве параметра today
в нашем примере.
job.prop
path=/user/cloudera/file/input/test_
в рабочем процессе.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?
пожалуйста, помогите мне в этом заранее спасибо.