首页 > 解决方案 > 如何在气流中将列表作为变量传递给 SQL

问题描述

因此,python 列表将呈现为["a", "b", "c"...]哪个 SQL 将视为无效语法。

我有一些设置 xcom 变量的 python 代码

#tried with () and []
y = ("2020-10-01", "2020-10-02")
kwargs['ti'].xcom_push(key='refresh_dates', value=y)

然后在我的sql中我做

where start_date IN {{ task_instance.xcom_pull(key='refresh_dates', task_ids='prep_dag_task')

然而,这会被呈现为一个 python 列表["2020-10-01", "2020-10-02"],就像 sql 无法重新调整一样。如何传递正确的 sql 列表?如果我创建一个字符串"("2020-10-01", "2020-10-02")",它将被呈现为一个字符串而不是一个列表。那么我该如何完成呢?

标签: pythonsqlairflow

解决方案


推荐阅读