oozie使用今天日期创建参数

big*_*ata 10 date oozie oozie-coordinator

如何使用格式的今天日期创建参数:

yyyy-mm-dd
Run Code Online (Sandbox Code Playgroud)

在oozie.我将此变量传递给hive脚本,该脚本正在添加该日期的分区,我找到了使用以下命令创建时间戳的函数:

<param>DATE=${wf:timestamp()}</param>
Run Code Online (Sandbox Code Playgroud)

应该以下列形式返回输出:

(YYYY-MM-DDThh:mm:ss.sZ). I.e.: 1997-07-16T19:20:30.45Z
Run Code Online (Sandbox Code Playgroud)

但我收到错误:

No function is mapped to the name "wf:timestamp"
Run Code Online (Sandbox Code Playgroud)

另外我只想YYYY-MM-DD从时间戳开始,并且没有子串函数也可以给我前10个字符串的字符串.

Mzf*_*Mzf 8

对于基本的EL函数,您不需要添加wf它应该看起来像这样

<param>DATE=${timestamp()}</param>
Run Code Online (Sandbox Code Playgroud)

如果你正在使用协调器,那么使用可以简单地向wf添加新的参数.它应该看起来像这样

<action>
        <workflow>
            <app-path>${appPath}</app-path>
            <configuration>
                        <property>
                            <name>reportDate</name>
                            <value>${coord:formatTime(coord:dateOffset(coord:nominalTime(), -1,
                                'DAY'), "yyyy-MM-dd")}
                            </value>
                        </property>
              </configuration>
        </workflow>
</action>
Run Code Online (Sandbox Code Playgroud)

  • 你绝对可以拥有一个没有协调员的工作流程 (12认同)