我们需要从Azkaban的作业名称,当试图安排一个任务。有什么内建的房产吗?我们正在从${azkaban.job.flowid}获得流名称。
我的工作档案是:
type=command
command=python xyz.py ${azkaban.job.attempt} ${azkaban.job.flowid}发布于 2017-04-14 20:39:40
找到了答案:
Azkaban作业使用以下环境变量运行:
{ JOB_OUTPUT_PROP_FILE='xxx',
JOB_PROP_FILE='xxx',
JOB_NAME='xxx' }以下Python片段可以轻松获取作业名称:
import os
job_name = os.environ["JOB_NAME"]发布于 2017-04-08 22:13:45
Azkaban作业运行时属性存储在env变量JOB_PROP_FILE.引用的文件中。在python程序中读取这个文件并获得所需的属性。
import os
azkaban_job_prop_file = os.environ["JOB_PROP_FILE"]
with open(azkaban_job_prop_file,'r') as f:
print f.readline()我们可以根据这些属性azkaban.flow.nested.path和azkaban.job.metadata.file推断作业名称。
如果作业是嵌入式DAG的一部分,则azkaban.flow.nested.path ->使用此操作。
https://stackoverflow.com/questions/43088393
复制相似问题