Airflow 从自定义操作符调用的气流操作符不替换气流宏
我有一个自定义的气流操作符,我从中调用Airflow 从自定义操作符调用的气流操作符不替换气流宏,airflow,airflow-scheduler,airflow-operator,Airflow,Airflow Scheduler,Airflow Operator,我有一个自定义的气流操作符,我从中调用jdbc操作符。传递给JdbcOperator的sql查询包含宏。 我遇到的问题是这些宏在执行过程中没有被替换 class MyCustomOperator(BasicOperator): @apply_defaults def __init__(self, connection, *args, **kwargs): super(MyCustomOperator, self).__init__(*args, **kwargs)
jdbc操作符
。传递给JdbcOperator
的sql查询包含宏。
我遇到的问题是这些宏在执行过程中没有被替换
class MyCustomOperator(BasicOperator):
@apply_defaults
def __init__(self, connection, *args, **kwargs):
super(MyCustomOperator, self).__init__(*args, **kwargs)
self.connection = connection
def execute(self, context):
sql = 'SELECT {{ ds }}' # dummy query with macro
JdbcOperator(task_id='task',
sql=sql,
jdbc_conn_id=connection,
dag=dag).execute(context=context)
在主dag中,我实例化dag并调用我的自定义运算符:
MyCustomOperator(
task_id='some_Task',
connection='conn',
dag=dag)
执行的结果是SELECT{{{ds}
而应该是SELECT 2020-09-29
你知道我怎么解决这个问题吗