Apache Airflow - 如何在使用BashOperator时指定Unix用户

时间:2017-10-26 14:25:11

标签: python apache-spark airflow apache-airflow

目前,我的团队正在测试Airflow以创建Spark作业的工作流程。我们使用的是Airflow版本1.8.0。我们在远程计算机上运行Airflow Web服务器,我们所有人都可以通过SSH访问。另一个团队成员是从他自己的提示启动Web服务器的人,因此该过程显示为在他的用户名下运行。

我创建了自己的DAG,由服务器运行,基本上只是使用BashOperator的spark-submit命令的串行工作流程。当我通过Web界面运行这些作业时,它们被正确提交,我可以通过我们集群的HUE作业浏览器跟踪它们。 问题是它们未被我的用户名列为提交,它们被列为由运行Airflow网络服务器的团队成员的用户名提交。

有没有办法指定BashOperator作用的用户?或者是否有最佳实践说明如何最好地处理由单个用户提交的所有BashOperator任务?

非常感谢任何帮助,谢谢!

修改

看起来这可能是Airflow-357所描述的功能上的差距...但我仍然想知道是否存在我正在忽略的解决方法或方法/参数。

1 个答案:

答案 0 :(得分:0)

在DAG定义的default_args中尝试'run_as_user':''。

这将在启动BashOperator时生成一个sudo -c