1

是否可以在 Apex 程序中检索 Apex 应用程序 ID:egapplication_1463594017097_0024?例如来自 DAG 对象或其他对象?

4

1 回答 1

1

使用传递给 StreamingApplication 的 conf 对象

字符串 appid = dag.getValue(DAGContext.APPLICATION_ID);

在运算符中,使用

字符串 appid = Context.OperatorContext.getValue(Context.DAGContext.APPLICATION_ID);

注意:它不能在 populateDAG 函数中运行。APPLICATION_ID 在应用程序启动后分配给它。在 populateDag() 阶段,正在创建逻辑计划,但未创建实际的 YARN 应用程序。尚未创建 APPLICATION_ID,这就是它为空的原因。

于 2016-05-21T03:17:17.160 回答