Я создал рабочий процесс, который имеет два действия hive2, и я запускаю его, используя Hue.Мне нужно получить текущее время из системы при запуске рабочего процесса и передать его обоим действиям.Это структура рабочего процесса:
<?xml version="1.0" encoding="UTF-8"?>
<workflow-app xmlns="uri:oozie:workflow:0.5" name="workflow.xml">
<global>
<job-tracker>host1:1234</job-tracker>
<name-node>hdfs://myhost:4312</name-node>
<configuration>
<property>
<name>execution_start</name>
<value>${timestamp()}</value>
</property>
</configuration>
</global>
<start to="script1" />
<action name="script1">
<hive2 xmlns="uri:oozie:hive2-action:0.2">
<jdbc-url>jdbc:hive2://myhost:10/default</jdbc-url>
<script>script1.hql</script>
<param>execution_start=${execution_start}</param>
</hive2>
<ok to="script2" />
<error to="fail" />
</action>
<action name="script2">
<hive2 xmlns="uri:oozie:hive2-action:0.2">
<jdbc-url>jdbc:hive2://myhost:10/default</jdbc-url>
<script>script2.hql</script>
<param>execution_start=${execution_start}</param>
</hive2>
<ok to="end" />
<error to="fail" />
</action>
<kill name="fail">
<message>Sub workflow failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>
<end name="end" />
</workflow-app>
Мне нужно иметь одинаковую метку времени в обоих действиях улья.Пока что Хюэ просит ввести параметр с именем execution_start
.
Я тоже пробовал: <param>execution_start=${wf:conf('execution_start')}>
.Мне не нужно вводить параметр с этим, но я получаю значение NULL внутри скрипта.
Обратите внимание, что <param>execution_start=${timestamp()}>
работает, но он не работает для меня, поскольку временные метки будут отличаться в каждом действии.