Я хочу проверить, существует ли файл или нет, в местоположении HDFS с использованием партии oozie.Как получить имя файла динамически в узле решения в OOZIE?
В моем местоположении HDFS, в ежедневной базе я получаю файл типа «test_08_01_2016.csv», «test_08_02_2016.csv» на каждый день 11 вечера.
Так что я хочу проверить, существует ли файл после 11.15 вечера, я могу проверить, существует ли файл, не используя узел принятия решения. используя ниже рабочий процесс.
<workflow-app name="HIVECoWorkflow" xmlns="uri:oozie:workflow:0.5">
<start to="CheckFile"/>
<decision name="CheckFile">
<switch>
<case to="nextOozieTask">
${fs:exists("/user/cloudera/file/input/test_08_01_2016.csv")}
</case>
<default to="MailActionFileMissing" />
</switch>
<action name="MailActionFileMissing" cred="hive2">
<hive2 xmlns="uri:oozie:hive2-action:0.1">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<jdbc-url>jdbc:hive2://quickstart.cloudera:10000/default</jdbc-url>
<script>/user/cloudera/email/select.hql</script>
<file>/user/cloudera/hive-site.xml</file>
</hive2>
<ok to="End"/>
<error to="Kill"/>
</action>
<action name="nextOozieTask" cred="hive2">
<hive2 xmlns="uri:oozie:hive2-action:0.1">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<jdbc-url>jdbc:hive2://quickstart.cloudera:10000/default</jdbc-url>
<script>/user/cloudera/email/select1.hql</script>
<file>/user/cloudera/hive-site.xml</file>
</hive2>
<ok to="End"/>
<error to="Kill"/>
</action>
<kill name="Kill">
<message>Action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>
<end name="End"/>
, но я хочу, чтобы получить имя файла динамически, как, например "filenamt_todaysdate i.e test_08_01_2016.csv
".
, пожалуйста, помогите мне в этом, как я могу получить имя файла динамическим.
благодарит заранее.
RTFM => https://oozie.apache.org/docs/4.1.0/CoordinatorFunctionalSpec.html#a6.7.3._coord:nominalTime_EL_Function –