【问题标题】:jinja2.exceptions.TemplateNotFound error with airflow bash operator气流 bash 运算符的 jinja2.exceptions.TemplateNotFound 错误
【发布时间】:2019-09-20 07:44:33
【问题描述】:

运行以下 DAG 任务。

dag = DAG(
    'TEST',
    default_args=default_args,
    schedule_interval=None,
    max_active_runs=1)

create_command0 = "./auto_script/jobs/start_mail.sh"
t0 = BashOperator(
    task_id='start_mail',
    bash_command=create_command0,
    dag=dag,
    env={
        'subject_area': feed_name,
        'customer_name': customer,
        'job_home': home,
        'job_start_time': start_time})

DAG 继续失败并出现错误“jinja2.exceptions.TemplateNotFound: ./auto_script/jobs/start_mail.sh”

【问题讨论】:

    标签: python jinja2 airflow


    【解决方案1】:

    这是气流的常见错误。试试下面的。这应该在一般情况下完成,因此希望对您的具体问题有所帮助。

    • 您需要像这样在命令末尾添加一个空格。 (注意字符串末尾的空格)
    • 如果可能,您还应该使用完整路径,而不是使用“/home/user/bob/airflow/”是位置的相对路径。
    create_command0 = "/home/user/bob/airflow/auto_script/jobs/start_mail.sh "
    

    而不是

    create_command0 = "/home/user/bob/airflow/auto_script/jobs/start_mail.sh"
    

    希望对您有所帮助。 可以在下面的链接中找到有关确切原因的更多信息。 https://cwiki.apache.org/confluence/display/AIRFLOW/Common+Pitfalls

    【讨论】:

    • 感谢您的回答。尝试过同样的方法,但没有帮助解决问题。
    • 当我添加空格时,我得到“[2019-09-20 08:09:38,913] {{bash_operator.py:128}} INFO - /tmp/airflowtmpzbgpqsqq/start_mailzxam4vvn: 第 1 行: ./auto_script/jobs/start_mail.sh: 没有这样的文件或目录"
    • 不用担心,您从哪里运行气流?如果可能,最好指定正在运行的脚本的完整路径。
    猜你喜欢
    • 2013-02-09
    • 1970-01-01
    • 1970-01-01
    • 2021-01-03
    • 1970-01-01
    • 2018-04-16
    • 1970-01-01
    • 2020-03-20
    • 2018-12-02
    相关资源
    最近更新 更多