apache-airflow-providers-snowflake
更新日志¶
6.0.0¶
注意
此提供程序版本仅适用于 Airflow 2.9+,如 Apache Airflow 提供程序支持策略 中所述。
重大更改¶
警告
所有已弃用的类、参数和功能已从 snowflake 提供程序包中移除。引入了以下重大更改
移除了已弃用的
SnowflakeOperator
。请改用SQLExecuteQueryOperator
。
移除 Snowflake 中的 提供程序 弃用 (#44756)
特性¶
为 snowflake 提供程序 启用 client_store_temporary_credential (#44431)
允许 'json_result_force_utf8_encoding' 在 'providers.snowflake.hooks.SnowflakeHook' extra 字典中指定 (#44264)
使 Snowflake 连接的 host/port 可配置 (#44079)
其他¶
将 提供程序中 的 最低 Airflow 版本 提升至 Airflow 2.9.0 (#44956)
更新 多个 提供程序 文档中 的 DAG 示例 链接 (#44034)
5.8.1¶
其他¶
为 DbApiHook, PrestoHook 和 TrinoHook 添加 对 分号去除的 支持 (#41916)
将 python 操作符 移动到 标准 提供程序 (#42081)
5.8.0¶
特性¶
添加 Snowpark 操作符 和 装饰器 (#42457)
Bug 修复¶
修复: SnowflakeSqlApiOperator 无法 解析 SQL 中的 参数 (#42719)
使 'private_key_content' 成为 Snowflake 连接中 的 敏感 字段 (#42649)
5.7.0¶
注意
此提供程序版本仅适用于 Airflow 2.8+,如 Apache Airflow 提供程序支持策略 中所述。
Bug 修复¶
修复: 将 hook 参数 传递给 SnowflakeSqlApiHook 并 为 API 调用 准备 它们 (#41150)
其他¶
将 提供程序中 的 最低 Airflow 版本 提升至 Airflow 2.8.0 (#41396)
5.5.2¶
其他¶
使用 最低直接 依赖项 解析 实现 每个提供程序的 测试 (#39946)
openlineage: 在 sql 解析器 调用站点 周围 添加 一些 调试 日志记录 (#40200)
更新 Python 3.12 的 pandas 最低 要求 (#40272)
根据 支持 策略,将 Snowflake 客户端驱动程序版本 提升到 最低 2.7.11 (#39886)
5.5.1¶
其他¶
删除 Google 和 Snowflake 提供程序中的 'openlineage.common' 依赖项。 (#39614)
从 文档字符串中 删除 未使用的 'copy_into_postifx' 参数 (#39454)
更快地 'airflow_version' 导入 (#39552)
简化 'airflow_version' 导入 (#39497)
5.5.0¶
注意
此提供程序版本仅适用于 Airflow 2.7+,如 Apache Airflow 提供程序支持策略 中所述。
Bug 修复¶
openlineage, snowflake: 不为 Snowflake 运行 外部 查询 (#39113)
其他¶
将 提供程序中 的 最低 Airflow 版本 提升至 Airflow 2.7.0 (#39240)
5.4.0¶
特性¶
feat: 更新 SnowflakeSqlApiHook 以支持 OAuth (#37922)
其他¶
删除 snowflake hook 文档字符串中 对 execution_info 的 引用 (#37804)
5.3.0¶
特性¶
feat: 为 CopyFromExternalStageToSnowflakeOperator 添加 openlineage 支持 (#36535)
Bug 修复¶
修复 providers 中 warnings.warn 中的 stacklevel (#36831)
其他¶
优化 'SnowflakeSqlApiOperator' 在 可延迟模式下 的 执行 (#36850)
5.2.0¶
注意
此提供程序版本仅适用于 Airflow 2.6+,如 Apache Airflow 提供程序支持策略 中所述。
其他¶
将 提供程序中 的 最低 Airflow 版本 提升至 Airflow 2.6.0 (#36017)
5.1.1¶
其他¶
在 'create_filter_clauses' 中将 schema 过滤器 设置为 大写 (#35428)
提升 最低 'snowflake-connector-python' 版本 (#35440)
5.1.0¶
注意
如 Apache Airflow 提供程序支持策略 中所述,此提供程序版本仅适用于 Airflow 2.5+。
Bug 修复¶
在 f-string 中解码 响应 (#34518)
其他¶
提升 提供程序的 最低 airflow 版本 (#34728)
在 providers 中使用 'airflow.exceptions.AirflowException' (#34511)
5.0.1¶
其他¶
通过将 一些 模块放入 类型检查 块 中,改进 Airflow 提供程序中的 模块导入 (#33754)
在 providers 中使用 包含多个上下文的 单个语句,而不是嵌套语句 (#33768)
在 providers 中使用 字面量字典,而不是调用 dict() (#33761)
5.0.0¶
重大更改¶
警告
删除已弃用的 S3ToSnowflakeOperator
,改为使用 CopyFromExternalStageToSnowflakeOperator
。作为 s3_keys
传递的参数需要更改为 files
,行为应保持不变。
删除已弃用的 SnowflakeToSlackOperator
,改为使用 Slack 提供程序中的 SqlToSlackOperator
。作为 schema
、role
、database
、warehouse
传递的参数需要包含在 sql_hook_params
参数中,行为应保持不变。
删除 已弃用的 'S3ToSnowflake' 和 'SnowflakeToSlack' 操作符 (#33558)
Bug 修复¶
在 Snowflake 操作符上设置 snowflake_conn_id 以避免错误 (#33681)
4.4.0¶
功能¶
openlineage, snowflake: 为 Snowflake 添加 OpenLineage 支持 (#31696)
其他¶
为 DbApiHook.run 方法添加更准确的类型提示 (#31846)
向提供程序模块和类的文档字符串添加弃用信息 (#32536)
4.2.0¶
注意
此版本放弃了对 Python 3.7 的支持
功能¶
添加 SnowflakeSqlApiOperator 操作符 (#30698)
其他¶
SnowflakeSqlApiOperator - 更改 基类 (#31751)
将 sql_api_generate_jwt 移出 hooks 文件夹 (#31586)
4.1.0¶
注意
如 Apache Airflow 提供程序支持策略 中所述,此提供程序版本仅适用于 Airflow 2.4+。
其他¶
提升 提供程序中的 最低 Airflow 版本 (#30917)
4.0.2¶
重大更改¶
注意
如 Apache Airflow 提供程序支持策略 中所述,此提供程序版本仅适用于 Airflow 2.3+。
SnowflakeHook
现在符合所有其他 DBApiHook
实现的相同语义,并在其 run
方法中返回相同类型的响应。之前(提供程序的 4.* 版本之前),Hook 返回 { "column": "value" ... }
的字典,这与其他返回序列序列的 DBApiHook 不兼容。在此更改(以及对 common.sql >= 1.3.1 的依赖)之后,SnowflakeHook
现在默认返回与 python DbApi 兼容的“结果”。
可以在 run
方法完成后,通过 hook 的 descriptions
和 last_description
字段检索 description
(即,除其他外,返回的列的名称和类型)。
这使得 DatabricksSqlHook
适用于通用 SQL 操作符和详细的血缘分析。
如果你的 TaskFlow 代码或自定义操作符中使用了自定义钩子或 Hook,并且依赖于此行为,你需要调整你的 DAG,或者可以通过将 return_dictionaries=True
传递给钩子的 run 方法,将 SnowflakeHook
恢复为返回字典。
SnowflakeOperator
也更加标准化,它继承自通用的 SQLExecuteQueryOperator
,并在运行 SQL 查询时使用更一致的方法来处理输出。然而,在这种情况下,execute
方法返回的结果没有改变(它仍然返回字典而不是序列,并且这些字典会被推送到 XCom,因此依赖此行为的 DAG 应该可以继续工作而无需任何更改)。
更新:4.0 版本中,操作符一个未提及的重大更改是将默认的自动提交 (autocommit) 设置为 False。虽然这对用户不太友好,但这是与其他 SQL 操作符统一接口的副作用,并且我们已将其发布给用户,因此再次将其切换回原状会导致更多混淆。如果你想继续使用 SnowflakeOperator 并期望自动提交工作,你应该手动添加 autocommit=True,但更好的做法是切换到 SQLExecuteQueryOperator。
在 SnowflakeHook 中,如果连接的 extra 字典中同时存在 extra__snowflake__foo
和 foo
,则会使用带前缀的版本;现在,将优先使用不带前缀的版本。
4.0.0
和 4.0.1
版本已损坏并被撤回,因此 4.0.2 是 4.*
系列中第一个应该使用的版本。
修复 exasol 和 snowflake 数据库 钩子的 run() 方法 结果 的 包装 (#27997)
使 Snowflake Hook 符合 DBApi 的 语义 (#28006)
4.0.1(已撤回)¶
警告
此版本已撤回,因为它在与 common.sql provider 交互时存在问题。请安装之后发布的版本。
Bug 修复¶
修复 重构时引入的 Databricks SQL 操作符中的 错误 (#27854)
将 common.sql provider 升级到 1.3.1 (#27888)
最终 修复 SQL 钩子和操作符的 行为 (#27912)
4.0.0(已撤回)¶
警告
此版本已撤回,因为它在与 common.sql provider 交互时存在问题。请安装之后发布的版本。
更新 snowflake 钩子 以 不使用 额外的 前缀 (#26764)
其他¶
将 所有 provider 的 最低 Airflow 版本 移至 2.3.0 (#27196)
功能¶
添加 SQLExecuteQueryOperator (#25717)
Bug 修复¶
在 SQLCheckOperator.execute 中 使用 未使用的 SQLCheckOperator.parameters 。 (#27599)
3.3.0¶
功能¶
在 SnowflakeOperator 中添加 自定义 处理程序 参数 (#25983)
Bug 修复¶
修复 'S3ToSnowflakeOperator' 的 错误 弃用警告 (#26047)
3.2.0¶
功能¶
将所有“旧” SQL 操作符 移至 common.sql providers (#25350)
将 DbApiHook.run() 方法 与其覆盖的 方法 统一 (#23971)
3.1.0¶
功能¶
添加 通用 'SqlToSlackOperator' (#24663)
将 所有 SQL 类 移至 common-sql provider (#24836)
S3ToSnowflakeOperator 中的 模式 参数 (#24571)
Bug 修复¶
S3ToSnowflakeOperator: 在 s3_keys 中转义 单引号 (#24607)
3.0.0¶
重大更改¶
注意
如 Apache Airflow providers 支持策略 中所述,此 provider 版本仅适用于 Airflow 2.2+。
Bug 修复¶
修复 SnowflakeHook 在 'sql' 参数中接受空列表时的 错误 (#23767)
2.5.0¶
功能¶
添加更多 SQL 模板 字段渲染器 (#21237)
Bug 修复¶
修复 #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 连接器 限制为 <2.7.2 (#20395)
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
以完成迁移。
功能¶
为 'S3ToSnowflake' 操作符添加 'template_fields' (#15926)
允许 S3ToSnowflakeOperator 省略 schema (#15817)
添加了 Snowflake 通过添加 一个 应用程序参数 将 使用情况 归因于 Airflow 的功能 (#16420)
Bug 修复¶
修复: 当 sql 作为 str 传递给 SnowflakeHook 时,恢复参数支持 (#16102)