Как получить 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 еще не создан, поэтому он является нулевым.