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。参数 schemaroledatabasewarehouse 需要包含在 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 的 descriptionslast_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__foofoo 都存在于连接的 extra dict 中,之前会使用带有前缀的版本;现在,将优先使用不带前缀的版本。

版本 4.0.04.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

此提供程序的初始版本。

此条目是否有帮助?