2016-08-01 25 views
1

Ich versuche, den aktuellen Zeitstempel unter Verwendung der unten in Oozie zu erhalten:ist keine Funktion mit dem Namen zugeordnet "coord: Formattime"

<property> 
<name>date</name> 
<value>${coord:formatTime(coord:dateOffset(coord:nominalTime(), -1, 
         'DAY'), "yyyy-MM-dd")} 
    </value> 
</property> 

Mein Bienenstock Aktion:

<script>/abc/test.hql</script> 
<param>DATE=${date}</param> 

My Hive Aktion fehlschlägt sagen:

EL_ERROR 

No function is mapped to the name "coord:formatTime" 

Jede Idee, warum es sagt, so dass ich mein Date will als YYYY-MM-DD HH-MM-SS

+0

Wie Sie sich denken können, enthält der 'coord' NameSpace alle EL-Funktionen, die nur innerhalb eines ** Coordinator ** XML-Skripts gültig sind. Und ich würde wetten, dass Sie es in einem Workflow-Skript * ausprobiert haben (aber es ist schwer zu wissen, weil es nicht wichtig war, Ihr Skript im Kontext zu zeigen) *. –

Antwort

1
${coord:formatTime(coord:dateOffset(coord:nominalTime(), -1, 'DAY'), 'yyyyMMdd')} 

Dies funktioniert für mich. Welche Version von Oozie benutzt du?

1

Verwenden Sie die Dokumentation für coord:formatTime

6.8.2. coord: Formattime (String ts, String-Format), EL-Funktion (seit Oozie 2.3.2)

So wahrscheinlich Ihre Oozie Version niedriger als 2.3.2 Auch ist es wichtig, die Aufmerksamkeit für die xmlns Version in Ihrem Koordinator zu zahlen xml

xmlns:coordinator="uri:oozie:coordinator: 

Hope this Hilfe