SQLExecuteQueryOperator 連接 Snowflake¶
使用 SQLExecuteQueryOperator
在 Snowflake 資料庫中執行 SQL 命令。
警告
以前,SnowflakeOperator 被用於執行此類操作。但目前 SnowflakeOperator 已被棄用,並將在未來版本中移除。請考慮盡快切換到 SQLExecuteQueryOperator。
使用運算子¶
使用 conn_id
參數來連接到您的 Snowflake 實例,其中連線元數據結構如下
參數 |
輸入 |
---|---|
登入:字串 |
Snowflake 使用者名稱 |
密碼:字串 |
Snowflake 使用者密碼 |
Schema:字串 |
設定預設執行 SQL 操作的 schema |
額外參數:字典 |
|
以下是如何使用 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 worker 插槽延遲,並且任務狀態的輪詢發生在觸發器上。
使用運算子¶
使用 snowflake_conn_id
參數來連接到您的 Snowflake 實例,其中連線元數據結構如下
參數 |
輸入 |
---|---|
登入:字串 |
Snowflake 使用者名稱。如果使用 OAuth 連線,這是 |
密碼:字串 |
Snowflake 使用者密碼。如果使用 OAuth,這是 |
Schema:字串 |
設定預設執行 SQL 操作的 schema |
額外參數:字典 |
|
以下是如何使用 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
等等)。