apache-airflow-providers-common-sql
變更日誌¶
1.21.0¶
注意
此供應商版本僅適用於 Airflow 2.9+,如 Apache Airflow 供應商支援政策 中所述。
警告
所有已棄用的類別、參數和功能都已從 Common SQL 供應商套件中移除。舊版供應商可能依賴 common.sql 的私有函數,導致使用者在不知情的情況下圍繞它們建立自訂程式碼來使用私有函數。此問題早已修復,但可能會影響舊版供應商的使用者。我們目前不認為這是一個重大變更,但我們明確列出變更以提高可見性。引入了以下重大變更
- Hook
從
DbApiHook
中移除_make_serializable
方法。改用_make_common_data_structure
。
功能¶
新增 output_processor 參數 至 SQLQueryOperator,並修正 return_single_query_results 處理常式 在 None 作為 split_statements 傳遞時的錯誤 (#44781)
將 common SQL 處理常式 方法 從 common-sql-provider 移至 專用 模組 (#43747)
雜項¶
將 供應商中的 最低 Airflow 版本 提升至 Airflow 2.9.0 (#44956)
修正 common SQL hook 中的 靜態 檢查 (#44930)
為 SqlThresholdCheckOperator 新增 文件 (#44787)
移除 Common SQL 中的 供應商 棄用 (#44645)
更新 多個 供應商文件中的 DAG 範例 連結 (#44034)
1.19.0¶
功能¶
功能: 為 DbApiHook 的 insert_rows 新增 fast_executemany 參數 (#43357)
在 GenericTransfer 中將 conn id 參數 設為範本,並 允許 傳遞 hook 參數,如 BaseSQLOperator 中所示 (#42891)
允許 在 SqlSensor 中擷取 複寫 延遲 (#43107)
雜項¶
修正 mypy 失敗 (#43206)
1.18.0¶
功能¶
feat(providers/common/sql): 新增 警告 至 連線 設定器 (#42736)
錯誤修正¶
FIX: 僅在 JdbcHook 中將 連線 傳遞至 sqlalchemy 引擎 (#42705)
1.16.0¶
注意
此供應商版本僅適用於 Airflow 2.8+,如 Apache Airflow 供應商支援政策 中所述。
錯誤修正¶
fix: 移除 已棄用的 import (#41461)
雜項¶
將 供應商中的 最低 Airflow 版本 提升至 Airflow 2.8.0 (#41396)
1.14.2¶
錯誤修正¶
FIX: DbApiHook.insert_rows 不必要地 重新啟動 連線 (#40615)
雜項¶
在 ruff 中啟用 強制執行 pydocstyle 規則 D213。 (#40448)
1.14.1¶
雜項¶
實作 每個供應商的 測試,並使用 最低直接 相依性 解析 (#39946)
更新 Python 3.12 的 pandas 最低 需求 (#40272)
標準化 'BaseSQLOperator' 的 範本 欄位,並 新增 'database' 作為 範本 欄位 (#39826)
1.14.0¶
功能¶
為 SqlSensor 新增 'parameters' 作為 範本 欄位 (#39588)
錯誤修正¶
DbAPiHook: 如果 預留位置 為 None 則不要 記錄 警告 訊息,並 確保 警告 訊息 格式正確 (#39690)
雜項¶
refactor: insert_rows 的 executemany 參數 不應 棄用,因為 對於某些 hook,我們 不希望 啟用 系統範圍的 supports_executemany 參數,這樣 我們 也可以 在 專用 情況下繼續使用它 (#39630)
更快速的 'airflow_version' 匯入 (#39552)
簡化 'airflow_version' 匯入 (#39497)
為 SqlSensor 新增 類型提示 (#39773)
1.13.0¶
注意
此供應商版本僅適用於 Airflow 2.7+,如 Apache Airflow 供應商支援政策 中所述。
功能¶
為 'DbApiHook' 類別 新增 'sqlalchemy_url' 屬性 (#38871)
在 DbApiHook 中插入 列時,一律 使用 executemany 方法,因為它 快得多 (#38715)
錯誤修正¶
修正 'DbApiHook.insert_rows' 在 'rows' 為 產生器時的問題 (#38972)
修正 'update-common-sql-api-stubs' pre-commit 檢查 (#38915)
雜項¶
將 供應商中的 最低 Airflow 版本 提升至 Airflow 2.7.0 (#39240)
openlineage, snowflake: 不要 為 Snowflake 執行 外部 查詢 (#39113)
1.12.0¶
功能¶
為 BaseSQLOperator 相關的 運算子 新增 hook_params 至 template_fields (#38724)
使 DbApiHook 的 'placeholder' 可在 UI 中設定 (#38528)
雜項¶
取消棄用 'DBApiHookForTests._make_common_data_structure' (#38573)
1.11.1¶
錯誤修正¶
在 'DbApiHook.insert_rows' 中將 'executemany' 關鍵字 參數 設為僅限關鍵字 (#37840)
將 'pandas' 限制為 '<2.2' (#37748)
1.11.0¶
功能¶
增強功能: 使用 fast executemany + SAP Hana 支援 增強 DbApiHook 的 insert_rows 方法效能 (#37246)
錯誤修正¶
修正 SQLThresholdCheckOperator 在 falsey 值上的錯誤 (#37150)
雜項¶
feat: 將所有 類別、 函數、 方法 棄用 切換為 裝飾器 (#36876)
新增 more-itertools 作為 common-sql 的 相依性 (#37359)
1.10.0¶
使 ODBC 的 "placeholder" 可在 UI 中設定 (#36000)
錯誤修正¶
在 DBApi 衍生 類別中傳回 通用 資料 結構
如果 SQLCheckOperator 傳回 包含任何 False 值的字典,則會失敗 (#36273)
1.9.0¶
注意
此供應商版本僅適用於 Airflow 2.6+,如 Apache Airflow 供應商支援政策 中所述。
雜項¶
將 供應商中的 最低 Airflow 版本 提升至 Airflow 2.6.0 (#36017)
為 common.sql 介紹新增 架構 決策 記錄 (#36015)
1.8.1¶
雜項¶
新增 '_make_serializable' 方法,當 來自 游標的結果 不是 JSON 可序列化時,其他 SQL 運算子可以覆寫此方法 (#32319)
移除 DbApiHook 的回溯相容性 繼承 (#35754)
1.8.0¶
注意
此供應商版本僅適用於 Airflow 2.5+,如 Apache Airflow 供應商支援政策 中所述。
錯誤修正¶
fix(providers/sql): 在 引發例外狀況時,尊重 soft_fail 引數 (#34199)
雜項¶
提升 供應商的 最低 airflow 版本 (#34728)
在 供應商中使用 'airflow.exceptions.AirflowException' (#34511)
1.6.1¶
錯誤修正¶
修正 'SQLExecuteQueryOperator' 中的 本機 OpenLineage 匯入。 (#32400)
雜項¶
為 Openlineage 授權方法新增 預設 連接埠。 (#32828)
為 DbApiHook.run 方法新增 更精確的 類型提示 (#31846)
1.6.0¶
功能¶
openlineage, common.sql: 提供 OL SQL 剖析器 作為 內部 OpenLineage 供應商 API (#31398)
雜項¶
傳遞 SQLAlchemy 引擎以 建構 資訊 綱要 查詢。 (#32371)
1.5.0 (已撤銷)¶
警告
此版本已撤銷,原因:此 版本可能 導致 舊版 airflow 版本 不受限制地安裝,從而 導致 執行階段錯誤。
注意
此供應商版本僅適用於 Airflow 2.4+,如 Apache Airflow 供應商支援政策 中所述。
功能¶
在 SQL 運算子中新增 條件式 輸出 處理 (#31136)
雜項¶
從 SQL 表格 檢查中移除 雜訊 記錄 (#31037)
1.4.0¶
功能¶
新增 選項以在 記錄中顯示 'SQLExecuteQueryOperator' 的 輸出 (#29954)
雜項¶
修正 Common SQL 供應商的 Python API 文件 格式 (#29863)
1.3.2¶
錯誤修正¶
fIx 最近發佈的 isort 版本引入的 isort 問題 (#28434)
修正 Common SQL 運算子的 範本 轉譯 (#28202)
在 SQLExecuteQueryOperator 中延遲至 hook 設定 split_statements (#28635)
雜項¶
釐清 已更新 DbApiHook 的 文件字串 (#27966)
1.3.1¶
此版本修正了在重構常見部分時,common.sql 運算子中引入的一些錯誤
SQLExecuteQueryOperator
中的_process_output
方法現在具有一致的語意和類型提示,它也可以修改衍生自SQLExecuteQueryOperator
的運算子中傳回(並儲存在 XCom 中)的值。所有傳回結果的描述都儲存在 DBApiHook 中的 descriptions 屬性中
是否傳回單一查詢結果值的最後一個游標描述現在透過 last_description 屬性在 DBApiHook 中公開。
運算子中的不一致導致 1.3.0
被撤銷 - 不應使用 1.3.0
- 如果您已安裝 1.3.0
,請升級至 1.3.1
。
錯誤修正¶
還原 common.sql 中已移除的(但 已使用的)方法 (#27843)
修正 重構時引入的 Databricks SQL 運算子中的錯誤 (#27854)
將 common.sql 供應商提升至 1.3.1 (#27888)
最終修正 SQL Hook 和 運算子的行為 (#27912)
1.3.0 (已撤銷)¶
警告
此版本已撤銷,原因:中斷 SQLExecute 的 Google 8.4.0 供應商
注意
此供應商版本僅適用於 Airflow 2.3+,如 Apache Airflow 供應商支援政策 中所述。
雜項¶
將 所有 供應商的 最低 airflow 版本 移至 2.3.0 (#27196)
功能¶
新增 SQLExecuteQueryOperator (#25717)
為 DbApiHook.get_records 和 DbApiHook.get_first 使用 DbApiHook.run (#26944)
DbApiHook 一致的 insert_rows 記錄 (#26758)
錯誤修正¶
常見 sql 錯誤修正和 改進 (#26761)
在 SQLCheckOperator.execute 中使用未使用的 SQLCheckOperator.parameters。 (#27599)
1.2.0¶
功能¶
使 預留位置 樣式 可設定 (#25939)
針對 pre-common-sql 供應商提供 更佳的 錯誤 訊息 (#26051)
錯誤修正¶
修正 (並 測試) postgresql 上的 SQLTableCheckOperator (#25821)
不要 將 Pandas 用於 SQLTableCheckOperator (#25822)
捨棄 SQL hook 中的 分號 剝離 (#25855)
1.1.0¶
功能¶
改善 工作流程 類型提示 ,使用 ParamSpec (#25173)
將所有 「舊」 SQL 運算子 移至 common.sql 提供者 (#25350)
棄用 hql 參數 並同步 DBApiHook 方法 API (#25299)
統一 DbApiHook.run() 方法 與 覆寫它的 方法 (#23971)
通用 SQLCheckOperators 各種功能更新 (#25164)
Bug 修正¶
允許 舊版 SqlSensor 使用 common.sql 提供者 (#25293)
修正 fetch_all_handler & db-api 測試 ,針對它 (#25430)
對齊 通用 SQL 提供者 標誌位置 (#25538)
修正 SQL 分割字串 以包含 「無分號」 陳述式 (#25713)
1.0.0¶
提供者的初始版本。新增 SQLColumnCheckOperator
和 SQLTableCheckOperator
。將 DBApiHook
、SQLSensor
和 ConnectorProtocol
移至提供者。