SQLExecuteQueryOperator 连接到 Snowflake¶
使用 SQLExecuteQueryOperator
在 Snowflake 数据库中执行 SQL 命令。
警告
之前,SnowflakeOperator 用于执行此类操作。但目前 SnowflakeOperator 已被弃用,并将在该提供程序的未来版本中移除。请考虑尽快切换到 SQLExecuteQueryOperator。
使用操作符¶
使用 conn_id
参数连接到 Snowflake 实例,其中连接元数据结构如下
参数 |
输入 |
---|---|
登录名: 字符串 |
Snowflake 用户名 |
密码: 字符串 |
Snowflake 用户的密码 |
模式: 字符串 |
设置默认在其上执行 SQL 操作的模式 |
额外: 字典 |
|
以下是使用 SQLExecuteQueryOperator 连接到 Snowflake 的示例
snowflake_op_sql_str = SQLExecuteQueryOperator(
task_id="snowflake_op_sql_str", sql=CREATE_TABLE_SQL_STRING
)
snowflake_op_with_params = SQLExecuteQueryOperator(
task_id="snowflake_op_with_params",
sql=SQL_INSERT_STATEMENT,
parameters={"id": 56},
)
snowflake_op_sql_list = SQLExecuteQueryOperator(task_id="snowflake_op_sql_list", sql=SQL_LIST)
snowflake_op_sql_multiple_stmts = SQLExecuteQueryOperator(
task_id="snowflake_op_sql_multiple_stmts",
sql=SQL_MULTIPLE_STMTS,
split_statements=True,
)
snowflake_op_template_file = SQLExecuteQueryOperator(
task_id="snowflake_op_template_file",
sql="example_snowflake_snowflake_op_template_file.sql",
)
注意
可以传递给操作符的参数将优先于 Airflow 连接元数据中已给定的参数(例如 schema
、role
、database
等)。
SnowflakeSqlApiOperator¶
使用 SnowflakeSqlApiHook
在 Snowflake 数据库中执行 SQL 命令。
您还可以通过将 deferrable
参数设置为 True
在可延迟模式下运行此操作符。这将确保任务从 Airflow 工作槽中延迟,并且任务状态的轮询发生在触发器上。
使用操作符¶
使用 snowflake_conn_id
参数连接到 Snowflake 实例,其中连接元数据结构如下
参数 |
输入 |
---|---|
登录名: 字符串 |
Snowflake 用户名。如果使用 OAuth 连接,则这是 |
密码: 字符串 |
Snowflake 用户的密码。如果使用 OAuth,则这是 |
模式: 字符串 |
设置默认在其上执行 SQL 操作的模式 |
额外: 字典 |
|
以下是 SnowflakeSqlApiHook 的示例用法
snowflake_sql_api_op_sql_multiple_stmt = SnowflakeSqlApiOperator(
task_id="snowflake_op_sql_multiple_stmt",
sql=SQL_MULTIPLE_STMTS,
statement_count=len(SQL_LIST),
)
注意
可以传递给操作符的参数将优先于 Airflow 连接元数据中已给定的参数(例如 schema
、role
、database
等)。