气流通过雪花 session_parameters

时间:2021-04-09 14:04:01

标签: python airflow snowflake-cloud-data-platform airflow-operator

正如您在代码示例中看到的那样,我正在尝试通过 Airflow DAG 任务将 session_parameters 传递给我的 Snowflake 连接,但该参数没有被拾取,有什么解决方案吗?

task = SnowflakeOperator(
    task_id='Task',
    sql="CREATE OR REPLACE TABLE MY_DB.MY_SCHEMA.MY_TABLE (test VARCHAR)",
    session_parameters={
        "QUERY_TAG": "my_tag"
    },
    snowflake_conn_id="snowflake_connection",
    warehouse="MY_WH",
    dag=dag,
)

1 个答案:

答案 0 :(得分:2)

您可能使用的是过时版本的雪花运算符。 在 PR

中添加了对 session_parameters 的支持

对于 Airflow<2.0.0,您需要:

pip install apache-airflow-backport-providers-snowflake>='2020.11.23'

对于 Airflow>=2.0.0,您需要:

pip install apache-airflow-providers-snowflake

然后您可以将您的代码用作:

from airflow.providers.snowflake.operators.snowflake import SnowflakeOperator
task = SnowflakeOperator(
    task_id='Task',
    sql="CREATE OR REPLACE TABLE MY_DB.MY_SCHEMA.MY_TABLE (test VARCHAR)",
    session_parameters={
        "QUERY_TAG": "my_tag"
    },
    snowflake_conn_id="snowflake_connection",
    warehouse="MY_WH",
    dag=dag,
)