Mysql 使用 SQLExecuteQueryOperator 的操作指南¶
使用 SQLExecuteQueryOperator 在 MySql 資料庫中執行 SQL 命令。
此前,使用 MySqlOperator 執行此類操作。但在棄用後已被移除。請改用 SQLExecuteQueryOperator。
使用 Operator¶
使用 conn_id 引數連線到您的 MySql 例項,其連線元資料結構如下
引數 |
輸入 |
|---|---|
主機: 字串 |
MySql 主機名 |
Schema: 字串 |
設定預設執行 SQL 操作的 schema |
登入名: 字串 |
MySql 使用者名稱 |
密碼: 字串 |
MySql 使用者密碼 |
埠: 整數 |
MySql 埠 |
SQLExecuteQueryOperator 的示例如下
tests/system/mysql/example_mysql.py
drop_table_mysql_task = SQLExecuteQueryOperator(
task_id="drop_table_mysql", sql=r"""DROP TABLE table_name;""", dag=dag
)
您還可以使用外部檔案執行 SQL 命令。指令碼資料夾必須與 DAG.py 檔案處於同一級別。
tests/system/mysql/example_mysql.py
mysql_task = SQLExecuteQueryOperator(
task_id="drop_table_mysql_external_file",
sql="/scripts/drop_table.sql",
dag=dag,
)
注意
可以傳遞給 Operator 的引數將優先於 Airflow 連線元資料中已有的引數(例如 schema、login、password 等等)。