10

形式の今日の日付でパラメータを作成するにはどうすればよいですか:

yyyy-mm-dd

ウジーで。この変数を、その日付のパーティションを追加するハイブ スクリプトに渡します。次を使用してタイムスタンプを作成する関数を見つけました。

<param>DATE=${wf:timestamp()}</param>

次の形式で出力を返す必要があります。

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

しかし、私はエラーが発生しています:

No function is mapped to the name "wf:timestamp"

またYYYY-MM-DD、タイムスタンプのみが必要で、文字列の最初の 10 文字を取得できる部分文字列関数もありません。

4

2 に答える 2

8

基本的な EL 関数については、追加する必要がないので、次のwfようになります。

<param>DATE=${timestamp()}</param>

coordinatorを使用している場合は、新しいパラメーターを 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>
于 2014-06-02T20:13:40.050 に答える