ich auf das folgende Problem bin struggeling Variablen in einer Oozie Workflow-Definition mit Überprüfung, ob eine bestimmte Datei erstellt wurde. Es ist mit absolutem Pfad wie die folgenden zu arbeiten, aber ich kann einen absoluten Pfad nicht verwenden:Oozie fs: existiert mit Variablen
${fs:exists('/mypath/file.hql')}
In meinem Fall der NameNode und die Workflow-ID ersetzt werden muss, sondern in dem Entscheidungsknoten dieser nicht funktioniert. Die Variablen werden nicht ersetzt, was ist die korrekte Syntax dafür?
<decision name="check-hql-file-created">
<switch>
<case to="hive-exec-il2rl-hql4baseentity">
${fs:exists(${nameNode}'/tmp/oozie_tmp/'${wf:id()}'.hql')}
</case>
<default to="il2rl-loop"/>
</switch>
</decision>
Ich habe mit diesem Problem auch zu kämpfen. Dies funktioniert bei vorhandenen EL-Ausdrücken, aber wenn Sie Konfigurationseigenschaften für einen Workflow haben, können Sie im EL-Ausdruck auf die Namen verweisen. Beispiel, 'FILE_PATH' kann nicht' $ {FILE_PATH} 'im EL-Ausdruck sein, es muss' FILE_PATH' sein. – pjames
Wenn zwei Variablen übergeben werden sollen, dann verwenden Sie $ {fs: exists (concat (varaible1, variable2))} ' –