提问者:小点点

气流2.0。2-Jinja2顶级模板错误


我看到以下错误发生:

回溯(最近一次调用):文件“/usr/local/lib/python3.8/site packages/afflow/models/taskinstance.py”,第1138行,在“运行”任务自身中_使用回调(上下文,任务)文件“/usr/local/lib/python3.8/site packages/afflow/models/taskinstance.py”准备和执行任务,第1275行,使用回调自身执行任务。render_templates(context=context)文件“/usr/local/lib/python3.8/site packages/afflow/models/taskinstance.py”,第1779行,在render_templates self中。任务render_template_fields(上下文)文件“/usr/local/lib/python3.8/site packages/afflow/models/baseoperator.py”,第892行,在render_template_fields self中_do_render_template_字段(self,self.template_字段,context,jinja_env,set())文件“/usr/local/lib/python3.8/site packages/afflow/models/baseoperator.py”,第905行,在do_render_template_字段render_content=self中。render_template(内容、上下文、jinja_env、seen_OID)文件“/usr/local/lib/python3.8/site packages/aiffort/models/baseoperator.py”,第942行,在render_template中返回jinja_env。从字符串(内容)。render(**context)文件“/usr/local/lib/python3.8/site packages/jinja2/environment.py”,第1090行,在render self中。环境handle_exception()文件“/usr/local/lib/python3.8/site packages/jinja2/environment.py”,第832行,在handle_exception reraise(*rewrite_traceback_stack(source=source))文件“/usr/local/lib/python3.8/site packages/jinja2/_compat.py”,第28行,在reraise提升值中。带回溯(tb)

文件“”,第1行,顶层模板代码为jinja2。例外情况。UndefinedError:“target_table”未定义

尝试在气流中运行此任务时:

TABLE_NAME = 'sales.il_sales'

t4 = SnowflakeOperator(
    task_id='my_test_query.sql',
    sql='sql/my_test_query.sql',
    params={
        'target_table': TABLE_NAME,
    },
    retries=0,
    pool='airflow')

这很奇怪,因为target_table是'sales.il_sales'


共1个答案

匿名用户

在您的sql/my\u test\u查询中。sql文件如果您使用的是{{target\u table}}它将不起作用。您需要使用{{params.target_table}

例子:

SELECT * from {{ params.target_table }}

检查文档中的示例:https://airflow.apache.org/docs/apache-airflow/stable/tutorial.html#templating-和金贾

相关问题