Как создать необязательные аргументы командной строки в рабочем процессе oozie xml

Пожалуйста, имейте в виду, что я полный новичок с oozie. Я знаю, что можно указать аргументы командной строки в xml рабочего процесса oozie с помощью тега arg. Мне было интересно, как можно указать необязательный аргумент командной строки, чтобы oozie не жаловался на отсутствие обязательного параметра, если пользователь его не укажет?

Спасибо заранее. Если информация, которую я дал, недостаточно конкретна, я могу привести конкретный пример, когда завтра войду в свою рабочую машину. Мы используем параметры командной строки Apache Commons для анализа параметров.

Например. Я хочу сделать следующий аргумент необязательным:

-e${endDateTime}


person E Shindler    schedule 30.10.2014    source источник


Ответы (2)


Теоретически вы должны иметь возможность использовать файл «config-default.xml» рядом с вашим файлом «workflow.xml», чтобы задать значения по умолчанию для параметров в рабочем процессе (см. https://oozie.apache.org/docs/3.2.0-incubating/WorkflowFunctionalSpec.html), но я не смог не заставить его работать.

person javierhe    schedule 10.11.2014
comment
Я нашел следующий обходной путь. В файле job.properties напишите 'endDateTime=', затем в java-коде проверьте наличие '' и перезапишите его датой окончания по умолчанию. Если вы добавите аргумент командной строки, это также перезапишет содержимое файла job.properties. - person E Shindler; 11.11.2014

В вашем рабочем процессе, где бы вы ни использовали ${myparam}, замените его на ${firstNotNull(wf:conf('myparam'), 'mydefaultvalue')}.

person tiho    schedule 08.12.2016