Как получить ApplicationID из приложения Apache Apex?

Можно ли получить идентификатор приложения Apex: egapplication_1463594017097_0024 в программе Apex? Например, из объекта DAG или другого объекта?

1 ответ

Используйте объект conf, переданный StreamingApplication

Строка appid = dag.getValue(DAGContext.APPLICATION_ID);

В операторе используйте

Строка appid = Context.OperatorContext.getValue(Context.DAGContext. APPLICATION_ID);

Примечание: он не может быть запущен в функции populateDAG. APPLICATION_ID назначается приложению после его запуска. На этапе populateDag() логический план создается, но фактическое приложение YARN не создается. APPLICATION_ID еще не создан, поэтому он является нулевым.

Другие вопросы по тегам