針對使用 SQLExecuteQueryOperator 的 Mysql 操作指南

使用 SQLExecuteQueryOperator 運算子在 MySql 資料庫中執行 SQL 指令。

以前,MySqlOperator 運算子被用於執行此類操作。但在棄用後已被移除。請改用 SQLExecuteQueryOperator。

使用運算子

使用 conn_id 參數連接到您的 MySql 實例,其連線元數據結構如下

MySql Airflow 連線元數據

參數

輸入

主機:字串

MySql 主機名稱

Schema:字串

設定預設執行 SQL 操作的 schema

登入:字串

MySql 使用者

密碼:字串

MySql 使用者密碼

Port:整數

MySql Port

以下是 SQLExecuteQueryOperator 的範例用法

tests/system/mysql/example_mysql.py[source]


    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[source]


    mysql_task = SQLExecuteQueryOperator(
        task_id="drop_table_mysql_external_file",
        sql="/scripts/drop_table.sql",
        dag=dag,
    )

注意

傳遞給運算子的參數將優先於 Airflow 連線元數據中已給定的參數(例如 schemaloginpassword 等等)。

這個條目有幫助嗎?