apache-airflow-providers-databricks

更新日誌

7.0.0

注意

此供應商版本僅適用於 Airflow 2.9+,如 Apache Airflow 供應商支援政策 中所述。

重大變更

警告

所有已棄用的類別、參數和功能已從 databricks 供應商套件中移除。已導入以下重大變更

  • 移除 已棄用的 DatabricksRunNowDeferrableOperator。 請改用 DatabricksRunNowOperator 並設定 deferrable=True。

  • 移除 已棄用的 DatabricksSubmitRunDeferrableOperator。 請改用 DatabricksSubmitRunOperator 並設定 deferrable=True。

  • 移除 已棄用的 return_tuple 參數 DatabricksSqlHook。 現在將 總是 傳回 namedtuple。

  • Databricks Provider 移除 棄用項目 (#44566)

錯誤修正

  • [FIX] 修正 databricks repair run deferrable (#44213)

  • fix(providers/databricks): 移除 傳遞給 repair_run 額外 引數 (#44140)

其他

  • 新增 job_clusters 作為 可模板化的 參數 CreateDatabricksWorkflowOperator (#45022)

  • providers 中的 最低 Airflow 版本 提升 Airflow 2.9.0 (#44956)

  • databricks SDK 最低 版本 提升 3.0.0 (#43272)

  • 更新 多個 providers 文件中的 DAG 範例 連結 (#44034)

  • 整個 程式碼庫中的 execution_date 重新命名為 logical_date (#43902)

6.13.0

功能

  • 允許 Databricks SQL hook 取消 超時的 查詢 (#42668)

  • DatabricksRunNowOperator 中新增 job_parameters dbt_commands 的支援 (#43895)

  • Databricks provider 啟用 工作負載身分驗證 (#41639)

其他

  • 新增 DbApiHook、 PrestoHook TrinoHook 的分號剝離支援 (#41916)

6.12.0

功能

  • databricks provider 中新增 TimeoutError 作為 可重試的 錯誤 (#43137)

  • databricks provider 中新增 ClientConnectorError 作為 可重試的 錯誤 (#43091)

錯誤修正

  • DatabricksHook: 修正 status 屬性 async 模式下 ClientResponse 搭配使用 (#43333)

  • [DatabricksHook] 遵循 連線 設定 (#42618)

6.11.0

功能

  • 'on_kill' 新增至 Databricks Workflow Operator (#42115)

其他

  • task_key>100 時,新增 警告 日誌 (#42813)

  • Databricks provider 中新增 debug 日誌 列印 Request/Response 資料 (#42662)

6.10.0

功能

  • (feat) databricks repair run 具有 reason match 適當的 設定 (#41412)

其他

  • min airflow 版本 >= 2.8.0 時,移除 已棄用的 method referance airflow.www.auth.has_access (#41747)

  • providers 中移除 已棄用的 soft_fail (#41710)

6.9.0

注意

此供應商版本僅適用於 Airflow 2.8+,如 Apache Airflow 供應商支援政策 中所述。

其他

  • providers 中的 最低 Airflow 版本 提升 Airflow 2.8.0 (#41396)

6.8.0

注意

此版本還原了 6.7.0 中圍繞與 XComs、Jinja 表達式值相容的 json 參數新增的部分功能

功能

  • 新增 DatabricksWorkflowPlugin (#40724)

錯誤修正

  • DatabricksPlugin - 透過使用 url_for 重新導向 修正 dag 檢視 重新導向 URL (#41040)

  • 修正 Databricks 運算子中的 具名 參數 模板化 (#40864)

其他

  • [Databricks Provider] 還原 PR #40864 #40471 (#41050)

6.7.0

功能

  • 使 Databricks 運算子的 json 參數 XComs、 Jinja 表達式值 相容 (#40471)

錯誤修正

  • 錯誤/修正 Databricks 運算子中支援 azure 受管理身分 (#40332)

6.6.0

功能

  • 新增 DatabricksTaskOperator (#40013)

  • 新增 DatabricksWorkflowTaskGroup (#39771)

錯誤修正

  • Databricks: 'list_jobs' 中可選擇性地包含 使用者名稱 (#40178)

其他

  • 使用 最低直接依賴性解析 實作 每個供應商的 測試 (#39946)

  • 降低 INFO DEBUG 日誌 層級 減少 日誌 詳細程度 - Databricks provider 驗證 (#39941)

  • 更新 Python 3.12 pandas 最低 需求 (#40272)

6.5.0

功能

  • 新增 'DatabricksNotebookOperator' deferrable 支援 (#39295)

錯誤修正

  • DatabricksCreateJobsOperator 中引發例外時,取得 所有 失敗任務的 錯誤 (#39354)

其他

  • 更快的 'airflow_version' 匯入 (#39552)

  • 簡化 'airflow_version' 匯入 (#39497)

  • BaseOperator 'defer' 更佳類型標註 (#39742)

6.4.0

注意

此供應商版本僅適用於 Airflow 2.7+,如 Apache Airflow 供應商支援政策 中所述。

功能

  • 新增 DatabricksNotebookOperator (#39178)

  • 新增 通知 設定 參數 (#39175)

  • [FEAT] DatabricksRunNowDeferrableOperator 中,使用主要的 notebook 錯誤 引發 例外 (#39110)

其他

  • providers 中的 最低 Airflow 版本 提升 Airflow 2.7.0 (#39240)

6.3.0

功能

  • cancel_previous_run 新增至 DatabricksRunNowOperator (#38702)

  • deferrable 模式下,新增 DatabricksRunNowOperator repair_run 支援 (#38619)

  • 更新 權限 中,新增 job_id 作為 路徑 參數 (#38962)

錯誤修正

  • 修正 剩餘的 D401 檢查 (#37434)

  • job 重設期間更新 ACL (#38741)

  • 更新 權限 端點移除 額外的 斜線 (#38918)

  • DatabricksRunNowOperator: 修正 latest_repair_id 中的 錯字 (#39050)

其他

  • refactor(databricks): 移除 多餘的 else 區塊 (#38397)

  • 重新命名 'DatabricksSqlOperator''s 欄位' 名稱 符合 可模板化 欄位 驗證 (#38052)

6.2.0

功能

  • 更新 DatabricksSqlOperator 使用 namedtuple (#37025)

其他

  • 提升 aiohttp 最低 版本 避免 CVE-2024-23829 CVE-2024-23334 (#37110)

  • feat: 所有 類別、 函數、 方法 棄用項目 切換為 裝飾器 (#36876)

  • 擺脫 pytest-httpx 作為 依賴項 (#37334)

6.1.0

功能

  • [FEAT] databricks 新增 repair run 功能 (#36601)

錯誤修正

  • 修正 databricks_sql hook 查詢 return_tuple 結果上失敗 (#36827)

  • 欄位名稱重新命名為 有效的 namedtuple 屬性 + 確保 Row.fields 作為 tuple 擷取 (#36949)

  • deferrable 模式下 執行 DatabricksSubmitRunOperator & DatabricksSubmitRunOperator 之前檢查 狀態 (#36862)

6.0.0

注意

此供應商版本僅適用於 Airflow 2.6+,如 Apache Airflow 供應商支援政策 中所述。

重大變更

  • DBApi 衍生類別中傳回 通用 資料 結構 (#36205)

錯誤修正

  • 修正: ODBCHook Databricks SQL Hook 中實作 'fetchone()' 的支援 (#36161)

其他

  • providers 中的 最低 Airflow 版本 提升 Airflow 2.6.0 (#36017)

  • 修正 DatabricksSubmitRunOperator 中的 錯字 (#36248)

  • 透過 Ruff docstrings 中新增 程式碼 片段 格式設定 (#36262)

5.0.1 (已撤回)

警告

此版本已撤回,原因:provider DBApiHook 輸出 傳回 損壞的 輸出。

其他

  • 透過 新的 'make_serializable' 方法,使 pyodbc.Row databricks.Row 可進行 JSON 序列化 (#32319)

5.0.0

重大變更

list_jobs 中,offset 參數已被棄用,改為使用 page_token 進行更快速的分頁,類似於 Databricks API

  • 'DatabricksHook' 中的 'list_jobs' 函數移除 基於 offset 的 分頁 (#34926)

4.7.0

功能

  • 新增 Databricks 中建立 jobs 運算子 (#35156)

4.6.0

注意

此供應商版本僅適用於 Airflow 2.5+,如 Apache Airflow 供應商支援政策 中所述。

功能

  • 新增 'DatabricksHook' ClusterState (#34643)

錯誤修正

  • 'DatabricksSqlSensor' 中遵循 'soft_fail' 參數 (#34544)

  • 執行 DatabricksPartitionSensor 時,遵循 'soft_fail' 引數 (#34517)

  • 解碼 f-string 中的 回應 (#34518)

其他

  • 提升 providers 最低 airflow 版本 (#34728)

  • databricks hook 中,針對 aiohttp 會話使用 aiohttp.BasicAuth 而非 HTTPBasicAuth (#34590)

  • 'DatabricksHook' 中的 'list_jobs' 函數更新為 基於 token 的 分頁 (#33472)

4.5.0

功能

  • 部署 之後,將 "QUEUED" 新增至 RUN_LIFE_CYCLE_STATES (#33886)

  • 允許 DatabricksSubmitRunOperator 接受 pipeline_task pipeline 名稱 (#32903)

其他

  • Airflow providers 中以解包取代 序列 串連 (#33933)

  • 透過將 Airflow providers 中的 部分模組 匯入 類型檢查 區塊,改進模組匯入 (#33754)

  • providers 中使用 常值 dict 而非呼叫 dict() (#33761)

  • Airflow providers 中使用 f-string 而非 %(…)s (#33752)

4.4.0

注意

此版本排除 databricks-sql-connector 版本 2.9.0,原因是它未正確宣告 urllib3 的錯誤,如需更多資訊,請參閱 https://github.com/databricks/databricks-sql-python/issues/190

功能

  • Databricks 新增 服務主體 OAuth。 (#33005)

其他

  • 更新 databricks.py 中的 文件 - 我們現在使用 2.1 (#32340)

  • 不要 建立 我們不需要的 列表 (#33519)

  • 重構: 改進 重複項的 偵測 列表 排序 (#33675)

  • 簡化 其他 providers len() 條件 (#33569)

  • 重構: 簡化 較小 providers 中的 程式碼 (#33234)

4.3.3

其他

  • SQL 運算子新增 一個新參數 以指定 conn id 欄位 (#30784)

4.3.2

錯誤修正

  • fix(providers/databricks): 即將棄用的 DatabricksRunNowDeferrableOperator 中移除 execute 方法 (#32806)

其他

  • 'DatabricksRunNowOperator' 新增 遺失的 execute_complete 方法 (#32689)

  • DbApiHook.run 方法新增 更精確的 類型標註 (#31846)

4.3.1

錯誤修正

  • 修改 'DatabricksSqlOperator' 'template_fields' 以支援 父類別 欄位 (#32253)

其他

  • 新增 default_deferrable 組態 (#31712)

4.3.0

注意

此版本已停止支援 Python 3.7

功能

  • 迴圈中產生 event 時,新增 return 以停止 執行 (#31985)

錯誤修正

  • 修正 類型 標註 (#31888)

  • 修正 Databricks SQL 運算子 序列化 (#31780)

  • 再次使 Databricks run 相關的 多查詢 字串 一個 session 中執行 (#31898) (#31899)

其他

  • 移除 triggers 類別中 yield from 之後的 return 陳述式 (#31703)

  • 移除 Python 3.7 支援 (#30963)

4.2.0

注意

此供應商版本僅適用於 Airflow 2.4+,如Apache Airflow 供應商支援政策中所述。

功能

  • SQL 運算子中新增 條件式 輸出 處理 (#31136)

  • 新增 取消 所有 執行 功能至 Databricks Hook (#31038)

  • databrics 非同步 運算子中新增 retry 參數 (#30744)

  • 新增 修復 任務 功能至 databricks Hook (#30786)

  • 新增 'DatabricksPartitionSensor' (#30980)

其他

  • 提升 供應商中 最低 Airflow 版本 (#30917)

  • 棄用 databricks 非同步 運算子 (#30761)

4.1.0

功能

  • 新增 刪除 非使用中 執行 功能至 databricks 供應商 (#30646)

  • Databricks SQL 感測器 (#30477)

4.0.1

錯誤修正

  • DatabricksSubmitRunOperator 支援 taskflow (#29840)

4.0.0

重大變更

DatabricksSqlHook 現在遵循與所有其他 DBApiHook 實作相同的語意,並在其 run 方法中傳回相同的回應類型。先前(供應商的 4.* 版本之前),Hook 傳回 (“游標描述”, “結果”) 的 Tuple,這與僅傳回 “結果” 的其他 DBApiHook 不相容。在此變更之後(並依賴 common.sql >= 1.3.1),DatabricksSqlHook 現在僅傳回 “結果”。在 run 方法完成後,可以透過 hook 的 last_description 欄位檢索 description

這使得 DatabricksSqlHook 適用於通用 SQL 運算子和詳細的沿襲分析。

如果您有自訂 hook 或在您的 TaskFlow 程式碼或依賴此行為的自訂運算子中使用 Hook,則需要調整您的 DAG。

Databricks DatabricksSQLOperator 也更加標準,並且衍生自通用的 SQLExecuteQueryOperator,並在使用 SQL 查詢時使用更一致的方法來處理輸出。然而,在這種情況下,execute 方法傳回的結果沒有改變(它仍然傳回 (“description”, “results”) 的 Tuple,並且這個 Tuple 被推送到 XCom,因此您的 DAG 依賴此行為應該可以繼續運作而無需任何更改。

  • 修正 Databricks SQL 運算子中 重構時 引入的 錯誤 (#27854)

  • 提升 common.sql 供應商 1.3.1 (#27888)

錯誤修正

  • 修正 DatabricksSQLOperator 中的 範本化 欄位 do_xcom_push (#27868)

  • 最終 修正 SQL Hook 運算子的 行為 (#27912)

3.4.0 (已撤回)

警告

此版本已撤回,原因:DatabricsksSQLOperator 中存在 錯誤

注意

此供應商版本僅適用於 Airflow 2.3+,如Apache Airflow 供應商支援政策中所述。

其他

  • 所有 供應商的 最低 airflow 版本 移至 2.3.0 (#27196)

  • urlparse 替換為 urlsplit (#27389)

功能

  • 新增 SQLExecuteQueryOperator (#25717)

  • 使用 新的 任務 搜尋 API 名稱 觸發 Databricks 任務 (#27446)

3.3.0

功能

  • DatabricksSubmitRunOperator dbt 任務 支援 (#25623)

其他

  • common-sql 新增 common-sql 下限 (#25789)

  • 移除 供應商內 重複的 連線類型 (#26628)

錯誤修正

  • Databricks: 修正 User-Agent 字串中的 供應商名稱 (#25873)

3.2.0

功能

  • Databricks: 更新 user-agent 字串 (#25578)

  • Databricks 運算子的 更多 改進 (#25260)

  • 改進 Databricks 供應商的 遙測 (#25115)

  • 統一 DbApiHook.run() 方法與 覆寫它的 方法 (#23971)

錯誤修正

  • Databricks: 修正 test_connection 實作 (#25114)

  • 不要 deep_string_coerce 函式中 布林值 轉換為 字串 (#25394)

  • 正確地 處理 失敗任務的 輸出 (#25427)

  • Databricks: 修正 Airflow 2.2.x 供應商 (#25674)

3.1.0

功能

  • 新增 databricks_conn_id 作為 範本化 欄位 (#24945)

  • 新增 'test_connection' 方法至 Databricks Hook (#24617)

  • 所有 SQL 類別 移動到 common-sql 供應商 (#24836)

錯誤修正

  • 更新 供應商以 使用 functools compat 用於 ''cached_property'' (#24582)

3.0.0

重大變更

注意

此供應商版本僅適用於 Airflow 2.2+,如Apache Airflow 供應商支援政策中所述。

功能

  • 新增 可延遲的 Databricks 運算子 (#19736)

  • 新增 git_source DatabricksSubmitRunOperator (#23620)

錯誤修正

  • 修正: DatabricksSubmitRunOperator DatabricksRunNowOperator 無法 .json 定義為 template_ext (#23622) (#23641)

  • 修正 DatabricksSqlHook sql 列表時的 UnboundLocalError (#23815)

2.7.0

功能

  • 更新 DBSQL 連接器的 已發布 版本

  • DatabricksSqlOperator - 切換至 databricks-sql-connector 2.x

  • 進一步 改進 Databricks 任務 運算子 (#23199)

2.6.0

功能

  • 更多 Databricks Repos 運算子 (#22422)

  • 新增 Databricks 任務執行的 連結 (#22541)

  • Databricks SQL 運算子 現在 Python 3.10 相容 (#22886)

錯誤修正

  • Databricks: 正確處理 HTTP 例外 (#22885)

其他

  • 重構 'DatabricksJobRunLink' 建立 臨時的 TaskInstances (#22571)

2.5.0

功能

  • 用於 更新 Databricks Repos 運算子 (#22278)

錯誤修正

  • 修正 錯誤地 所有 供應商 新增的 install_requires (#22382)

2.4.0

功能

  • 新增 選項至 DatabricksCopyIntoOperator (#22076)

  • Databricks hook - HTTP 狀態 429 時也 重試 (#21852)

其他

  • 跳過 Python 3.10 上執行的 Databricks 的一些 測試 (#22221)

2.3.0

功能

  • 新增-顯示-執行階段-錯誤-功能-至-DatabricksSubmitRunOperator (#21709)

  • Databricks: 新增 名稱 觸發 任務的 支援 (#21663)

  • 新增 template_ext = ('.json') databricks 運算子 #18925 (#21530)

  • Databricks SQL 運算子 (#21363)

錯誤修正

  • 修正 2022 1 月(延遲)供應商版本的 變更日誌 (#21439)

其他

  • 支援 Python 3.10

  • 更新 Databricks 文件以 符合 正確的 任務 2.1 API 連結 (#21494)

2.2.0

功能

  • Databricks 運算子 新增 'wait_for_termination' 引數 (#20536)

  • ''DatabricksHook'' 更新 連線 物件為 ''cached_property'' (#20526)

  • 'DatabricksHook' 移除 'host' 作為 實例 屬性 (#20540)

  • Databricks: 修正 受管理身分 驗證 (#20550)

2.1.0

功能

  • Databricks: 新增 更多 方法以 表示 執行 狀態 資訊 (#19723)

  • Databricks - 允許 其他 Azure 雲端上進行 Azure SP 驗證 (#19722)

  • Databricks: 允許 密碼 欄位中 指定 PAT (#19585)

  • Databricks 任務 2.1 (#19544)

  • Databricks API 2.0 更新到 2.1 (#19412)

  • Databricks 供應商中的 使用 AAD 權杖進行 驗證 (#19335)

  • 更新 Databricks 運算子以 符合 最新版本的 API 2.0 (#19443)

  • DatabricksHook.__init__() 移除 db 呼叫 (#20180)

錯誤修正

  • 修正 字串 串連 (#19099)

  • Databricks hook: 修正 到期時間 檢查 (#20036)

2.0.2

錯誤修正

  • DB 呼叫 移出 DatabricksHook.__init__ (#18339)

2.0.1

其他

  • 最佳化 Airflow 2.2.0 連線 匯入

2.0.0

重大變更

  • 自動套用 apply_default 裝飾器 (#15667)

警告

由於移除了 apply_default 裝飾器,此供應商版本需要 Airflow 2.1.0+。如果您的 Airflow 版本 < 2.1.0,並且您想要安裝此供應商版本,請先將 Airflow 升級到至少 2.1.0 版本。否則,您的 Airflow 套件版本將自動升級,您將必須手動執行 airflow upgrade db 以完成遷移。

1.0.1

更新了文件和 readme 檔案。

1.0.0

供應商的初始版本。

此條目是否有幫助?