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 的初始版本。