apache-airflow-providers-databricks

更新日誌

7.3.2

Bug 修復

  • 修復 DatabricksNotebookOperator 無效依賴圖問題 (#48492)

雜項

  • 移除多餘的 else (#49199)

7.3.1

Bug 修復

  • 修復 overriding_parameters repair_task 中丟失的問題 (#48877)

  • 修復 Databricks 修復按鈕無法覆蓋模板引數的問題 (#46704)

7.3.0

功能

  • 新增 DatabricksSQLStatementsOperator (#48507)

7.2.2

雜項

  • AIP-72: Task SDK 中處理自定義 XCom Backend (#47339)

7.2.1

Bug 修復

  • 修復 common.sql 中的棄用警告 (#47169)

雜項

  • airflow.auth 重新定位到 airflow.api_fastapi.auth (#47492)

  • AIP-72: BaseOperatorLink 移動到 task sdk (#47008)

  • 'airflow.www.auth' 移動到 'airflow.providers.fab.www.auth' (#47307)

  • 移除 'api_connexion' (#47171)

  • 移除舊的 UI webserver (#46942)

  • flit 升級到 3.11.0 (#46938)

7.2.0

注意

此版本沒有程式碼更改。釋出此版本是由於先前版本因打包問題而被撤回。

7.1.0

功能

  • 'DatabricksNotebookOperator' 中接受 task_key 作為引數 (#44960)

Bug 修復

  • python_named_parameters 應為 python_named_params (#46299)

雜項

  • AIP-72: SDK 中為 Context 字典提供更好的型別提示支援 (#45583)

  • 移除針對早於 Python 3.9 版本的過時 pandas 規範 (#45399)

7.0.0

注意

提供程式的此版本僅適用於 Airflow 2.9+,具體說明請參閱 Apache Airflow 提供程式支援策略

重大變更

警告

所有已棄用的類、引數和功能已從 databricks provider 包中移除。引入了以下重大變更:

  • 移除已棄用的 DatabricksRunNowDeferrableOperator。請改為使用帶有 deferrable=True DatabricksRunNowOperator。

  • 移除已棄用的 DatabricksSubmitRunDeferrableOperator。請改為使用帶有 deferrable=True DatabricksSubmitRunOperator。

  • 移除 DatabricksSqlHook 中已棄用的 return_tuple 引數。現在將始終返回 namedtuple。

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

Bug 修復

  • [修復] 修復了 databricks repair run deferrable 功能 (#44213)

  • 修復(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

功能

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

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

Bug 修復

  • DatabricksHook: 修復 status 屬性以適用於 async 模式中使用的 ClientResponse (#43333)

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

6.11.0

功能

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

雜項

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

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

6.10.0

功能

  • (功能) 支援 databricks repair run,匹配原因並使用適當的新設定 (#41412)

雜項

  • 當最低 Airflow 版本 >= 2.8.0 時,移除已棄用的方法引用 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)

Bug 修復

  • DatabricksPlugin - 使用 url_for 重定向修復 dag 檢視重定向 URL (#41040)

  • 修復 Databricks operators 中的命名引數模板化問題 (#40864)

雜項

  • [Databricks Provider] 回退 PR #40864 #40471 (#41050)

6.7.0

功能

  • 使 Databricks operators' json 引數與 XComs、 Jinja 表示式值相容 (#40471)

Bug 修復

  • Bug/修復 Databricks operator Azure managed identities 的支援 (#40332)

6.6.0

功能

  • 新增 DatabricksTaskOperator (#40013)

  • 新增 DatabricksWorkflowTaskGroup (#39771)

Bug 修復

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

雜項

  • 實現每個 provider 的測試,採用最低直接依賴解析 (#39946)

  • 將日誌級別從 INFO 降低到 DEBUG,以減少日誌詳細度 - Databricks provider 認證 (#39941)

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

6.5.0

功能

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

Bug 修復

  • 獲取 DatabricksCreateJobsOperator 中丟擲異常時所有失敗的任務錯誤 (#39354)

雜項

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

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

  • BaseOperator 'defer' 提供更好的型別提示 (#39742)

6.4.0

注意

提供程式的此版本僅適用於 Airflow 2.7+,具體說明請參閱 Apache Airflow 提供程式支援策略

功能

  • 新增 DatabricksNotebookOperator (#39178)

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

  • [功能] DatabricksRunNowDeferrableOperator 中丟擲包含主筆記本錯誤的異常 (#39110)

雜項

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

6.3.0

功能

  • DatabricksRunNowOperator 新增 cancel_previous_run 引數 (#38702)

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

  • 在更新許可權時將 job_id 新增為路徑引數 (#38962)

Bug 修復

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

  • 在作業重置期間更新 ACL (#38741)

  • 從更新許可權 endpoint 中移除多餘的斜槓 (#38918)

  • DatabricksRunNowOperator: 修復 latest_repair_id 中的拼寫錯誤 (#39050)

雜項

  • 重構(databricks): 移除冗餘的 else (#38397)

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

6.2.0

功能

  • 更新 DatabricksSqlOperator 以與 namedtuple 協同工作 (#37025)

雜項

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

  • 功能: 將所有類、函式、方法的棄用切換到裝飾器 (#36876)

  • 移除 pytest-httpx 作為依賴項 (#37334)

6.1.0

功能

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

Bug 修復

  • 修復 databricks_sql hook 查詢在 return_tuple 的結果為空時失敗的問題 (#36827)

  • 將列重新命名為有效的 namedtuple 屬性 + 確保 Row.fields 被檢索為 tuple (#36949)

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

6.0.0

注意

提供程式的此版本僅適用於 Airflow 2.6+,具體說明請參閱 Apache Airflow 提供程式支援策略

重大變更

  • DBApi 派生類中返回常見資料結構 (#36205)

Bug 修復

  • 修復: 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 引數已被棄用,取而代之的是與 Databricks API 類似的基於 page_token 的更快分頁。

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

4.7.0

功能

  • 新增 operator 以在 Databricks 中建立作業 (#35156)

4.6.0

注意

提供程式的此版本僅適用於 Airflow 2.5+,具體說明請參閱 Apache Airflow 提供程式支援策略

功能

  • 新增 'DatabricksHook' ClusterState (#34643)

Bug 修復

  • 'DatabricksSqlSensor' 中遵守 'soft_fail' 引數 (#34544)

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

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

雜項

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

  • databricks hook aiohttp session 中使用 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 provider 中使用 f-string 代替  (#33752)

4.4.0

注意

此版本排除了 databricks-sql-connector 2.9.0 版本,原因在於它存在一個 bug,沒有正確宣告 urllib3。更多資訊請參見 https://github.com/databricks/databricks-sql-python/issues/190

新特性

  • Databricks 新增 Service Principal OAuth 支援。 (#33005)

其他

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

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

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

  • 簡化其他 provider 中對 len() 的條件判斷 (#33569)

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

4.3.3

其他

  • SQL operator 新增一個新引數以指定連線 ID 欄位 (#30784)

4.3.2

問題修復

  • 修復(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 的支援

新特性

  • 在迴圈中事件被 yield 時新增一個 return 以停止執行 (#31985)

問題修復

  • 修復型別註解 (#31888)

  • 修復 Databricks SQL operator 序列化 (#31780)

  • 再次在同一個會話中執行與 Databricks 執行相關的多查詢字串 (#31898) (#31899)

其他

  • 移除 triggers 類中 yield from 之後的 return 語句 (#31703)

  • 移除對 Python 3.7 的支援 (#30963)

4.2.0

注意

此版本的 provider 僅適用於 Airflow 2.4+,具體請參見 Apache Airflow provider 支援策略

新特性

  • SQL operator 中新增條件輸出處理 (#31136)

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

  • Databricks 非同步 operator 中新增重試引數 (#30744)

  • databricks hook 新增修復任務的功能 (#30786)

  • 新增 'DatabricksPartitionSensor' (#30980)

其他

  • 提升 provider 中支援的最低 Airflow 版本 (#30917)

  • 廢棄 databricks 非同步 operator (#30761)

4.1.0

新特性

  • databricks provider 新增刪除不活躍執行的功能 (#30646)

  • Databricks SQL sensor (#30477)

4.0.1

問題修復

  • DatabricksSubmitRunOperator 支援 taskflow (#29840)

4.0.0

破壞性變更

The DatabricksSqlHook is now conforming to the same semantics as all the other DBApiHook implementations and returns the same kind of response in its run method. Previously (pre 4.* versions of the provider, the Hook returned Tuple of (“cursor description”, “results”) which was not compatible with other DBApiHooks that return just “results”. After this change (and dependency on common.sql >= 1.3.1), The DatabricksSqlHook returns now “results” only. The description can be retrieved via last_description field of the hook after run method completes.

這使得 DatabricksSqlHook 適用於通用 SQL operator 和詳細的血緣分析。

如果您有自定義 Hook,或者在依賴此行為的 TaskFlow 程式碼或自定義 operator 中使用了 Hook,則需要調整您的 DAG。

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

  • 修復重構時引入的 Databricks SQL operator 中的錯誤 (#27854)

  • 提升 common.sql provider 版本至 1.3.1 (#27888)

問題修復

  • 修復 DatabricksSQLOperator 中的模板欄位和 do_xcom_push (#27868)

  • 最終修復 SQL Hook Operator 的行為 (#27912)

3.4.0 (已撤回)

警告

此版本已撤回,原因為:DatabricsksSQLOperator 中存在一個 bug

注意

此版本的 provider 僅適用於 Airflow 2.3+,具體請參見 Apache Airflow provider 支援策略

其他

  • 將所有 provider 支援的最低 Airflow 版本移至 2.3.0 (#27196)

  • urlsplit 替換 urlparse (#27389)

新特性

  • 新增 SQLExecuteQueryOperator (#25717)

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

3.3.0

新特性

  • DatabricksSubmitRunOperator 支援 dbt 任務 (#25623)

其他

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

  • 移除 provider 內部重複的連線型別 (#26628)

問題修復

  • Databricks: 修復 User-Agent 字串中的 provider 名稱 (#25873)

3.2.0

新特性

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

  • 進一步改進 Databricks operator (#25260)

  • 改進了 Databricks provider 的遙測 (#25115)

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

問題修復

  • Databricks: 修復 test_connection 實現 (#25114)

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

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

  • Databricks: 修復適用於 Airflow 2.2.x provider (#25674)

3.1.0

新特性

  • 新增 databricks_conn_id 作為模板欄位 (#24945)

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

  • 將所有 SQL 類移至 common-sql provider (#24836)

問題修復

  • 更新 provider 使用 functools 相容的 ''cached_property'' (#24582)

3.0.0

破壞性變更

注意

此版本的 provider 僅適用於 Airflow 2.2+,具體請參見 Apache Airflow provider 支援策略

新特性

  • 新增可延遲的 Databricks operator (#19736)

  • DatabricksSubmitRunOperator 新增 git_source (#23620)

問題修復

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

  • 修復 DatabricksSqlHook 中當 sql 為空列表時的 UnboundLocalError (#23815)

2.7.0

新特性

  • 更新到已釋出的 DBSQL connector 版本

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

  • 進一步改進 Databricks 任務 operator (#23199)

2.6.0

新特性

  • Databricks Repos 新增更多 operator (#22422)

  • 新增指向 Databricks Job 執行的連結 (#22541)

  • Databricks SQL operator 現在相容 Python 3.10 (#22886)

問題修復

  • Databricks: 正確處理 HTTP 異常 (#22885)

其他

  • 重構 'DatabricksJobRunLink' 使其不建立臨時 TaskInstance (#22571)

2.5.0

新特性

  • 用於更新 Databricks Repos Operator (#22278)

問題修復

  • 修復錯誤為所有 provider 新增 install_requires 的問題 (#22382)

2.4.0

新特性

  • DatabricksCopyIntoOperator 新增新選項 (#22076)

  • Databricks hook - 也對 HTTP 狀態碼 429 進行重試 (#21852)

其他

  • 跳過 Databricks 的一些測試,使其不在 Python 3.10 上執行 (#22221)

2.3.0

新特性

  • DatabricksSubmitRunOperator 新增顯示執行時錯誤的功能 (#21709)

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

  • databricks operator 添加了 template_ext = ('.json') #18925 (#21530)

  • Databricks SQL operator (#21363)

問題修復

  • 修復 2022 1 月(延遲的) provider 版本的更新日誌 (#21439)

其他

  • 支援 Python 3.10

  • 更新了 Databricks 文件,使其包含正確的任務 2.1 API 和連結 (#21494)

2.2.0

新特性

  • Databricks Operator 新增 'wait_for_termination' 引數 (#20536)

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

  • 移除 'host' 作為 'DatabricksHook' 中的例項屬性 (#20540)

  • Databricks: 修復 Managed Identity 驗證問題 (#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 provider 中使用 AAD 令牌進行認證 (#19335)

  • 更新 Databricks operator 以匹配最新的 API 2.0 版本 (#19443)

  • DatabricksHook.__init__() 中移除資料庫呼叫 (#20180)

問題修復

  • 修復字串拼接問題 (#19099)

  • Databricks hook: 修復過期時間檢查問題 (#20036)

2.0.2

問題修復

  • 將資料庫呼叫移出 DatabricksHook.__init__ (#18339)

2.0.1

其他

  • 最佳化 Airflow 2.2.0 的連線匯入

2.0.0

破壞性變更

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

警告

由於移除了 apply_default 裝飾器,此版本的 provider 要求 Airflow 版本為 2.1.0+。如果您的 Airflow 版本低於 2.1.0,並且您想安裝此 provider 版本,請先將 Airflow 升級到至少 2.1.0 版本。否則您的 Airflow 包版本將自動升級,您將不得不手動執行 airflow upgrade db 來完成遷移。

1.0.1

更新了文件和 readme 檔案。

1.0.0

provider 的初始版本。

此條目有幫助嗎?