apache-airflow-providers-snowflake
更新日誌¶
6.2.2¶
雜項¶
移除 多餘的 else 塊 (#49199)
6.2.1¶
雜項¶
使 '@task' 從 airflow.sdk 匯入 (#48896)
6.2.0¶
新特性¶
feat: 為每個 Snowflake query_id 傳送獨立的 OpenLineage 事件 (#47736)
6.1.1¶
錯誤修復¶
fix 當 deferrable 為 False 時,在 Snowflake 作業完成前將任務標記為已完成(在 SnowflakeSqlApiOperator 中) (#46672)[OpenLineage] 修復了 CopyFromExternalStageToSnowflakeOperator 的 OL 實現中的輸入問題 (#47168)fix 修復 common.sql 中的棄用警告 (#47169)
雜項¶
將 flit 升級到 3.11.0 (#46938)
6.1.0¶
新特性¶
將 SnowflakeSqlApiOperator 的 snowflake_conn_id 新增到 template_fields (#46422)
錯誤修復¶
snowflake: 透傳 ocsp_fail_open 設定 (#46476)
雜項¶
AIP-83 修訂:新增在邏輯日期為 None 時生成 run_id 的邏輯。 (#46616)AIP-72:支援為 SDK 中的 Context dict 提供更好的型別提示 (#45583)移除針對 Python 3.9 之前版本的過時 pandas 規範 (#45399)
6.0.0¶
注意
此 Provider 版本僅適用於 Airflow 2.9+,具體說明請參閱 Apache Airflow provider 支援策略。
重大變更¶
警告
所有已棄用的類、引數和功能已從 snowflake Provider 包中移除。引入了以下重大變更:
移除了已棄用的
SnowflakeOperator。請改用SQLExecuteQueryOperator。
移除 Snowflake 中的 Provider 棄用內容 (#44756)
新特性¶
為 snowflake provider 啟用 client_store_temporary_credential (#44431)允許在 'providers.snowflake.hooks.SnowflakeHook' 的 extra dict 中指定 'json_result_force_utf8_encoding' (#44264)使 Snowflake 連線的主機/埠可配置 (#44079)
雜項¶
將 provider 中的最低 Airflow 版本提升到 Airflow 2.9.0 (#44956)更新多個 provider 文件中的 DAG 示例連結 (#44034)
5.8.1¶
雜項¶
為 DbApiHook, PrestoHook, 和 TrinoHook 新增支援去除分號的功能 (#41916)將 python operator 移至 Standard provider (#42081)
5.8.0¶
新特性¶
新增 Snowpark operator 和 decorator (#42457)
錯誤修復¶
fix: SnowflakeSqlApiOperator 無法解析 SQL 中的引數 (#42719)將 'private_key_content' 在 Snowflake 連線中標記為敏感欄位 (#42649)
5.7.1¶
雜項¶
更新 Snowflake 賬戶名和定位器在 OpenLineage 中的命名方式 (#41775)
5.7.0¶
注意
此 Provider 版本僅適用於 Airflow 2.8+,具體說明請參閱 Apache Airflow provider 支援策略。
錯誤修復¶
Fix: 將 Hook 引數傳遞給 SnowflakeSqlApiHook 併為 API 呼叫做準備 (#41150)
雜項¶
將 provider 中的最低 Airflow 版本提升到 Airflow 2.8.0 (#41396)
5.6.1¶
雜項¶
openlineage: 將 OpenLineage provider 遷移到 V2 Facets。 (#39530)清理 DbApiHook 中剩餘的 getattr 連線 (#40665)
5.6.0¶
新特性¶
chore: 在 SnowflakeHook 中新增對 client_request_mfa_token 引數的支援 (#40394)
5.5.2¶
雜項¶
實現具有最低直接依賴關係的每個 provider 測試 (#39946)openlineage: 在 SQL 解析器呼叫點附近新增一些除錯日誌 (#40200)更新 Python 3.12 的 pandas 最低要求 (#40272)根據支援策略將 Snowflake 客戶端驅動程式版本提升到最低 2.7.11 (#39886)
5.5.1¶
雜項¶
移除 Google 和 Snowflake provider 中對 'openlineage.common' 的依賴。 (#39614)從 docstring 中移除未使用的 'copy_into_postifx' 引數 (#39454)更快的 'airflow_version' 匯入 (#39552)簡化 'airflow_version' 匯入 (#39497)
5.5.0¶
注意
此 Provider 版本僅適用於 Airflow 2.7+,具體說明請參閱 Apache Airflow provider 支援策略。
錯誤修復¶
openlineage, snowflake: 不對 Snowflake 執行外部查詢 (#39113)
雜項¶
將 provider 中的最低 Airflow 版本提升到 Airflow 2.7.0 (#39240)
5.4.0¶
新特性¶
feat: 更新 SnowflakeSqlApiHook 以支援 OAuth (#37922)
雜項¶
移除 snowflake hook docstring 中對 execution_info 的引用 (#37804)
5.3.1¶
雜項¶
feat: 將所有類、函式、方法的棄用切換為使用裝飾器 (#36876)
5.3.0¶
新特性¶
feat: 為 CopyFromExternalStageToSnowflakeOperator 新增 OpenLineage 支援 (#36535)
錯誤修復¶
修復 providers 中 warnings.warn 的 stacklevel 問題 (#36831)
雜項¶
最佳化 SnowflakeSqlApiOperator 在可延遲模式下的執行 (#36850)
5.2.1¶
錯誤修復¶
在派生自 DBApi 的類中返回公共資料結構在子類中遵循 BaseHook connection_fields 方法簽名 (#36086)
5.2.0¶
注意
此 Provider 版本僅適用於 Airflow 2.6+,具體說明請參閱 Apache Airflow provider 支援策略。
雜項¶
將 provider 中的最低 Airflow 版本提升到 Airflow 2.6.0 (#36017)
5.1.2¶
錯誤修復¶
OpenLineage 整合嘗試在 SnowflakeHook 中使用不存在的方法 (#35752)
5.1.1¶
雜項¶
在 'create_filter_clauses' 中將 schema 過濾器轉換為大寫 (#35428)提升 'snowflake-connector-python' 的最低版本 (#35440)
5.1.0¶
注意
此 Provider 版本僅適用於 Airflow 2.5+,具體說明請參閱 Apache Airflow provider 支援策略。
錯誤修復¶
在 f-string 中解碼響應 (#34518)
雜項¶
提升 providers 的最低 Airflow 版本 (#34728)在 providers 中使用 'airflow.exceptions.AirflowException' (#34511)
5.0.1¶
雜項¶
透過將部分匯入放入型別檢查塊中,改進 Airflow providers 中的模組匯入 (#33754)在 providers 中使用具有多個上下文的單個語句代替巢狀語句 (#33768)在 providers 中使用字面量 dict 而不是呼叫 dict() (#33761)
5.0.0¶
重大變更¶
警告
移除了已棄用的 S3ToSnowflakeOperator,推薦使用 CopyFromExternalStageToSnowflakeOperator。引數 s3_keys 需要更改為 files,但行為應保持不變。
移除了已棄用的 SnowflakeToSlackOperator,推薦使用 Slack Provider 中的 SqlToSlackOperator。引數 schema、role、database、warehouse 需要包含在 sql_hook_params 引數中,行為應保持不變。
移除已棄用的 'S3ToSnowflake' 和 'SnowflakeToSlack' 運算子 (#33558)
錯誤修復¶
在 Snowflake Operators 上設定 snowflake_conn_id 以避免錯誤 (#33681)
4.4.2¶
雜項¶
為 SQL operator 新增新引數以指定 conn id 欄位 (#30784)
4.4.1¶
錯誤修復¶
修復 'SnowflakeValueCheckOperator' 的連線引數 (#32605)
4.4.0¶
新特性¶
openlineage, snowflake: 為 Snowflake 新增 OpenLineage 支援 (#31696)
雜項¶
為 DbApiHook.run 方法新增更精確的型別提示 (#31846)將棄用資訊新增到 providers 模組和類的 docstring (#32536)
4.3.1¶
錯誤修復¶
修復向 Snowflake 傳遞無效私鑰路徑時 Airflow Webserver 崩潰的問題 (#32016)
4.3.0¶
新特性¶
為 SnowflakeSqlApiOperator 新增 Deferrable 開關 (#31596)
4.2.0¶
注意
此版本放棄了對 Python 3.7 的支援
新特性¶
新增 SnowflakeSqlApiOperator 運算子 (#30698)
雜項¶
SnowflakeSqlApiOperator - 更改其基類 (#31751)將 sql_api_generate_jwt 移出 hooks 資料夾 (#31586)
4.1.0¶
注意
此 Provider 版本僅適用於 Airflow 2.4+,具體說明請參閱 Apache Airflow provider 支援策略。
雜項¶
提升 provider 中的最低 Airflow 版本 (#30917)
4.0.5¶
雜項¶
更新 snowflake provider 4.0 重大變更的文件 (#30020)
4.0.4¶
錯誤修復¶
修復 files 引數缺失括號的問題 (#29437)
4.0.3¶
錯誤修復¶
為父類 operator 提供缺失的連線 (#29211)Snowflake Provider - 從 UI 中隱藏 host (#29208)
4.0.2¶
重大變更¶
注意
此 Provider 版本僅適用於 Airflow 2.3+,具體說明請參閱 Apache Airflow provider 支援策略。
SnowflakeHook 現在遵循與所有其他 DBApiHook 實現相同的語義,並在其 run 方法中返回相同型別的響應。之前 (4.* 版本之前),Hook 返回 { "column": "value" ... } 字典,這與只返回序列的 DBApiHook 不相容。此更改後 (並依賴 common.sql >= 1.3.1),SnowflakeHook 現在預設返回與 python DbApi 相容的“結果”。
description (即返回的列名和型別等) 可以在 run 方法完成後透過 Hook 的 descriptions 和 last_description 欄位獲取。
這使得 DatabricksSqlHook 適用於通用 SQL operator 和詳細的 lineage 分析。
如果您有自定義 Hook,或在 TaskFlow 程式碼或依賴此行為的自定義 operator 中使用了 Hook,您需要調整您的 DAG,或者可以透過向 hook 的 run 方法傳遞 return_dictionaries=True 來使 SnowflakeHook 回到返回字典的行為。
SnowflakeOperator 也更加標準化,派生自通用的 SQLExecuteQueryOperator,並在執行 SQL 查詢時使用更一致的方法處理輸出。但在這種情況下,execute 方法返回的結果保持不變(它仍然返回字典而不是序列,並且這些字典會被推送到 XCom),因此您的依賴此行為的 DAG 應無需更改即可繼續工作。
更新:4.0 版本中一個未提及的重大變更是在 operator 中將 autocommit 預設切換為 False。儘管這不太方便使用者,但它是為了統一與其他 SQL operator 的介面而產生的副作用,並且我們已經發布給了使用者,所以再次切換回 True 會導致更多困惑。如果您想繼續使用 SnowflakeOperator 並期望 autocommit 工作,您應該手動為其新增 autocommit=True 引數,但更好的做法是切換到 SQLExecuteQueryOperator。
在 SnowflakeHook 中,如果 extra__snowflake__foo 和 foo 都存在於連線的 extra dict 中,之前會使用帶有字首的版本;現在,將優先使用不帶字首的版本。
版本 4.0.0 和 4.0.1 已損壞並被撤回,因此 4.0.2 是 4.* 系列中應使用的第一個版本。
修復 exasol 和 snowflake DB hook 的 run() 方法結果的包裝問題 (#27997)使 Snowflake Hook 符合 DBApi 的語義 (#28006)
4.0.1 (已撤回)¶
警告
此版本已被撤回,因為它在與 common.sql provider 互動時存在問題。請安裝此版本之後釋出的版本。
錯誤修復¶
修復重構時引入的 Databricks SQL operator 中的錯誤 (#27854)將 common.sql provider 提升到 1.3.1 (#27888)最終修復 SQL Hooks 和 Operators 的 行為 (#27912)
4.0.0 (已撤回)¶
警告
此版本已被撤回,因為它在與 common.sql provider 互動時存在問題。請安裝此版本之後釋出的版本。
更新 snowflake hook,使其不使用額外字首 (#26764)
雜項¶
將所有提供程式的最低 airflow 版本移至 2.3.0 (#27196)
新特性¶
新增 SQLExecuteQueryOperator (#25717)
錯誤修復¶
在 SQLCheckOperator.execute 中使用未使用的 SQLCheckOperator.parameters。 (#27599)
3.3.0¶
新特性¶
在 SnowflakeOperator 中新增 custom handler 引數 (#25983)
錯誤修復¶
修復 'S3ToSnowflakeOperator' 的錯誤棄用警告 (#26047)
3.2.0¶
新特性¶
將所有“舊” SQL operators 移至 common.sql 提供程式 (#25350)將 DbApiHook.run() 方法與其覆蓋方法統一 (#23971)
3.1.0¶
新特性¶
新增通用 'SqlToSlackOperator' (#24663)將所有 SQL 類移至 common-sql 提供程式 (#24836)S3ToSnowflakeOperator 中的 Pattern 引數 (#24571)
錯誤修復¶
S3ToSnowflakeOperator: 轉義 s3_keys 中的單引號 (#24607)
3.0.0¶
重大變更¶
注意
此提供程式版本僅適用於 Airflow 2.2+,詳情請參閱 Apache Airflow providers 支援策略。
錯誤修復¶
修復 SnowflakeHook 在 'sql' 引數中接受空列表時的錯誤 (#23767)
2.7.0¶
新特性¶
允許 Snowflake 的私鑰欄位中使用多行文字 (#23066)
2.6.0¶
新特性¶
新增對 Snowflake 連線中私鑰的支援 (#22266)
錯誤修復¶
修復為所有提供程式錯誤新增 install_requires 的問題 (#22382)
2.5.2¶
雜項¶
移除 Snowflake 限制 (#22181)
2.5.1¶
雜項¶
支援 Python 3.10
2.5.0¶
新特性¶
新增更多 SQL 模板欄位渲染器 (#21237)
錯誤修復¶
修復 #21096: 支援 extra__snowflake__insecure_mode 中的布林值 (#21155)
2.4.0¶
新特性¶
支援 SnowflakeHook 中的不安全模式 (#20106)移除 SnowflakeHook 中未使用的程式碼 (#20107)改進 'SnowflakeHook.get_sqlalchemy_engine' (#20509)排除 snowflake-sqlalchemy v1.2.5 (#20245)限制 Snowflake connector 版本小於 <2.7.2 (#20395)
2.3.1¶
錯誤修復¶
移除 SnowflakeHook 中重複的 get_connection (#19543)
2.3.0¶
新特性¶
為 Snowflake Hook 新增 test_connection 方法 (#19041)將 region 新增到 Snowflake URI 中。 (#18650)
2.2.0¶
新特性¶
新增基於 SQL Checks 的 Snowflake operators (#17741)
2.1.1¶
雜項¶
最佳化 Airflow 2.2.0 的連線匯入
2.1.0¶
新特性¶
新增: snowflake provider hook 中的 Snowflake Role (#16735)
2.0.0¶
重大變更¶
自動應用 apply_default decorator (#15667)
警告
由於移除了 apply_default decorator,此提供程式版本需要 Airflow 2.1.0+。如果您的 Airflow 版本小於 < 2.1.0,並且您想安裝此提供程式版本,請先將 Airflow 升級到至少 2.1.0 版本。否則您的 Airflow 包版本將自動升級,並且您必須手動執行 airflow upgrade db 來完成遷移。
新特性¶
將 'template_fields' 新增到 'S3ToSnowflake' operator (#15926)允許 S3ToSnowflakeOperator 省略 schema (#15817)透過新增 application 引數,使 Snowflake 能夠將使用情況歸因於 Airflow (#16420)
錯誤修復¶
修復:恢復將 sql 作為 str 傳遞給 SnowflakeHook 時的 parameters 支援 (#16102)
1.3.0¶
新特性¶
在 snowflake hook 和 operator 中暴露 snowflake query_id (#15533)
1.2.0¶
新特性¶
向 snowflake 連線新增動態欄位 (#14724)
1.1.1¶
錯誤修復¶
釋出 provider RCs 後,文件和工具中的修正 (#14082)準備釋出下一批提供程式: (#14487)
1.1.0¶
更新了文件和 readme 檔案。
新特性¶
修復 S3ToSnowflakeOperator 以支援上傳指定 stage 中的所有檔案 (#12505)在 S3ToSnowflakeOperator 中新增連線引數 (#12564)
1.0.0 (已撤回)¶
警告
此版本已撤回,原因是:使用時 Snowflake 會破壞 openssl
此提供程式的初始版本。