我在集群上使用 root
帐户。我知道这是不好的做法,但这只是测试环境。我创建了一个简单的dag:
from airflow import DAG
from airflow.operators.bash_operator import BashOperator
from datetime import datetime, timedelta
dag = DAG('create_directory', description='simple create directory workflow', start_date=datetime(2017, 6, 1))
t1 = BashOperator(task_id='create_dir', bash_command='mkdir /tmp/airflow_dir_test', dag=dag)
t2 = BashOperator(task_id='create_file', bash_command='echo airflow_works > /tmp/airflow_dir_test/airflow.txt')
t2.set_upstream(t1)
问题是当我运行这个作业时 root
用户执行它。我试图补充 owner
参数,但它不起作用。气流显示:
Broken DAG: [/opt/airflow/dags/create_directory.py] name 'user1' is not defined
我的问题是,如何使用root以外的其他用户运行apache-dag?
1条答案
按热度按时间p5fdfcr11#
你可以用
run_as_user
用于为任何任务模拟unix用户的参数:你可以用
default_args
如果要将其应用于dag中的每个任务:请注意
owner
参数用于其他对象,即多租户。