apache-airflow-providers-databricks

更新日志

7.0.0

注意

Apache Airflow 提供程序支持策略 中所述,此提供程序版本仅适用于 Airflow 2.9+。

重大更改

警告

所有已弃用的类、参数和功能都已从 databricks 提供程序包中删除。引入了以下重大更改

  • 已删除 已弃用的 DatabricksRunNowDeferrableOperator。 请改用 deferrable=True DatabricksRunNowOperator。

  • 已删除 已弃用的 DatabricksSubmitRunDeferrableOperator。 请改用 deferrable=True DatabricksSubmitRunOperator。

  • 已删除 已弃用的 DatabricksSqlHook 中的 return_tuple 参数。 现在将始终返回 namedtuple

  • 删除 Databricks Provider 中的 弃用 (#44566)

错误修复

  • [修复] 修复了 databricks 修复 运行 可延期的问题 (#44213)

  • fix(providers/databricks): 删除传递给 repair_run 的额外参数 (#44140)

其他

  • job_clusters 添加为 CreateDatabricksWorkflowOperator 模板参数 (#45022)

  • 提供程序中的 最低 Airflow 版本提升至 Airflow 2.9.0 (#44956)

  • databricks SDK 的最低版本提升至 3.0.0 (#43272)

  • 更新多个提供程序文档中的 DAG 示例链接 (#44034)

  • 在整个代码库中将 execution_date 重命名为 logical_date (#43902)

6.13.0

功能

  • 允许 Databricks SQL 钩子取消 超时的查询 (#42668)

  • DatabricksRunNowOperator 中添加了对 job_parameters dbt_commands 的支持 (#43895)

  • Databricks 提供程序启用工作负载标识身份验证 (#41639)

其他

  • DbApiHook、 PrestoHook TrinoHook 添加了对分号剥离的支持 (#41916)

6.12.0

功能

  • databricks 提供程序中添加 TimeoutError 作为可重试的错误 (#43137)

  • databricks 提供程序中添加 ClientConnectorError 作为可重试的错误 (#43091)

错误修复

  • DatabricksHook: 修复了 status 属性 以在异步模式下与 ClientResponse 一起使用 (#43333)

  • [DatabricksHook] 遵守 连接设置 (#42618)

6.11.0

功能

  • 'on_kill' 添加到 Databricks Workflow Operator (#42115)

其他

  • task_key>100 时,添加警告日志 (#42813)

  • Databricks 提供程序中添加调试日志,以打印请求/响应数据 (#42662)

6.10.0

功能

  • (feat) databricks 使用原因匹配和适当的新设置修复运行 (#41412)

其他

  • min airflow 版本 >= 2.8.0 时,删除已弃用的方法引用 airflow.www.auth.has_access (#41747)

  • providers 中删除 已弃用的 soft_fail (#41710)

6.9.0

注意

Apache Airflow 提供程序支持策略 中所述,此提供程序版本仅适用于 Airflow 2.8+。

其他

  • 提供程序中的 最低 Airflow 版本提升至 Airflow 2.8.0 (#41396)

6.8.0

注意

此版本恢复了 6.7.0 中添加的关于与 XComs、Jinja 表达式值兼容的 json 参数的一些功能

功能

  • 添加 DatabricksWorkflowPlugin (#40724)

错误修复

  • DatabricksPlugin - 通过使用 url_for 重定向来修复 dag 视图重定向 URL (#41040)

  • 修复 Databricks 操作符中的命名参数模板化 (#40864)

其他

  • [Databricks Provider] 还原 PR #40864 #40471 (#41050)

6.7.0

功能

  • 使 Databricks 操作符的 json 参数与 XComs、 Jinja 表达式值兼容 (#40471)

错误修复

  • 错误/修复 Databricks 操作符中支持 Azure 管理的标识 (#40332)

6.6.0

功能

  • 添加 DatabricksTaskOperator (#40013)

  • 添加 DatabricksWorkflowTaskGroup (#39771)

错误修复

  • Databricks: 可选地在 'list_jobs' 中包含用户名 (#40178)

其他

  • 使用最低直接依赖关系解析来实现每个提供程序的测试 (#39946)

  • 将日志级别从 INFO 降低到 DEBUG ,以减少日志的详细程度 - Databricks 提供程序身份验证 (#39941)

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

6.5.0

功能

  • 'DatabricksNotebookOperator' 添加可延迟支持 (#39295)

错误修复

  • DatabricksCreateJobsOperator 引发异常时,获取所有失败的任务错误 (#39354)

其他

  • 更快地导入 'airflow_version' (#39552)

  • 简化 'airflow_version' 的导入 (#39497)

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

6.4.0

注意

正如 Apache Airflow 提供程序支持策略 中所述,此版本的提供程序仅适用于 Airflow 2.7+。

功能

  • 添加 DatabricksNotebookOperator (#39178)

  • 添加通知设置参数 (#39175)

  • [FEAT] DatabricksRunNowDeferrableOperator 中引发带有主笔记本错误的异常 (#39110)

其他

  • 将提供程序中的最低 Airflow 版本提升到 Airflow 2.7.0 (#39240)

6.3.0

功能

  • DatabricksRunNowOperator 添加 cancel_previous_run (#38702)

  • 在可延迟模式下向 DatabricksRunNowOperator 添加 repair_run 支持 (#38619)

  • 在更新权限中,将 job_id 作为路径参数添加 (#38962)

错误修复

  • 修复剩余的 D401 检查 (#37434)

  • 在作业重置期间更新 ACL (#38741)

  • 从更新权限端点中删除多余的斜杠 (#38918)

  • DatabricksRunNowOperator: 修复 latest_repair_id 中的错别字 (#39050)

其他

  • refactor(databricks): 删除多余的 else (#38397)

  • 重命名 'DatabricksSqlOperator' 的字段名称,以符合模板化字段验证 (#38052)

6.2.0

功能

  • 更新 DatabricksSqlOperator 以使用 namedtuple (#37025)

其他

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

  • feat: 将所有类、函数、方法的弃用切换到装饰器 (#36876)

  • 摆脱 pytest-httpx 作为依赖项 (#37334)

6.1.0

功能

  • [FEAT] databricks 添加修复运行功能 (#36601)

错误修复

  • 修复 databricks_sql hook return_tuple 为空结果时查询失败的问题 (#36827)

  • 将列重命名为有效的 namedtuple 属性 + 确保 Row.fields 作为元组检索 (#36949)

  • DatabricksSubmitRunOperator & DatabricksSubmitRunOperator 以可延迟模式执行之前,检查状态 (#36862)

6.0.0

注意

正如 Apache Airflow 提供程序支持策略 中所述,此版本的提供程序仅适用于 Airflow 2.6+。

重大更改

  • DBApi 派生类中返回通用数据结构 (#36205)

错误修复

  • 修复: ODBCHook Databricks SQL Hook 中实现对 'fetchone()' 的支持 (#36161)

其他

  • 将提供程序中的最低 Airflow 版本提升到 Airflow 2.6.0 (#36017)

  • 修复 DatabricksSubmitRunOperator 中的错别字 (#36248)

  • 通过 Ruff 在文档字符串中添加代码片段格式 (#36262)

5.0.1 (已撤销)

警告

此版本已撤销,原因是:该提供程序 DBApiHook 输出返回了损坏的输出。

其他

  • 通过新的 'make_serializable' 方法使 pyodbc.Row databricks.Row 可进行 JSON 序列化 (#32319)

5.0.0

重大更改

list_jobs 中已弃用 offset 参数,转而使用 page_token 进行更快的分页,类似于 Databricks API

  • 'DatabricksHook' 中的 'list_jobs' 函数中删除基于偏移量的分页 (#34926)

4.7.0

功能

  • 添加在 Databricks 中创建作业的操作符 (#35156)

4.6.0

注意

Apache Airflow 提供商支持策略 中所述,此提供商版本仅适用于 Airflow 2.5+。

功能

  • 添加 'DatabricksHook' ClusterState (#34643)

Bug 修复

  • 尊重 'soft_fail' 参数 'DatabricksSqlSensor' (#34544)

  • 在运行 DatabricksPartitionSensor 时尊重 'soft_fail' 参数 (#34517)

  • 解码 f-字符串 中的响应 (#34518)

其他

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

  • databricks hook 中使用 aiohttp.BasicAuth 代替 HTTPBasicAuth 进行 aiohttp 会话 (#34590)

  • 更新 'DatabricksHook' 中的 'list_jobs' 函数以进行基于令牌的分页 (#33472)

4.5.0

功能

  • 部署 后,将 "QUEUED" 添加到 RUN_LIFE_CYCLE_STATES (#33886)

  • 允许 DatabricksSubmitRunOperator 接受 管道任务的管道名称 (#32903)

其他

  • Airflow 提供程序中用解包替换序列连接 (#33933)

  • 通过将一些模块放入类型检查块中,改进 Airflow 提供程序中的模块导入 (#33754)

  • providers 中使用字面量字典而不是调用 dict() (#33761)

  • Airflow 提供程序中使用 f-string 代替 (#33752)

4.4.0

注意

此版本排除了 databricks-sql-connector 版本 2.9.0,因为它存在一个错误,即它没有正确声明 urllib3,更多信息请参见 https://github.com/databricks/databricks-sql-python/issues/190

功能

  • Databricks 添加服务主体 OAuth (#33005)

其他

  • 更新 databricks.py 中的文档 - 我们现在使用 2.1 (#32340)

  • 不创建我们不需要的列表 (#33519)

  • 重构:改进重复检测和列表排序 (#33675)

  • 简化其他提供程序中对 len() 的条件 (#33569)

  • 重构:简化较小提供程序中的代码 (#33234)

4.3.3

其他

  • SQL 运算符添加一个新参数,以指定连接 ID 字段 (#30784)

4.3.2

Bug 修复

  • 修复(providers/databricks):从即将被弃用的 DatabricksRunNowDeferrableOperator 中删除执行方法 (#32806)

其他

  • 'DatabricksRunNowOperator' 添加缺少的 execute_complete 方法 (#32689)

  • DbApiHook.run 方法添加更准确的类型提示 (#31846)

4.3.1

Bug 修复

  • 修改 'DatabricksSqlOperator' 'template_fields' 以支持父类字段 (#32253)

其他

  • 添加 default_deferrable 配置 (#31712)

4.3.0

注意

此版本放弃了对 Python 3.7 的支持

功能

  • 添加一个当在循环中产生事件时返回的语句,以停止执行 (#31985)

Bug 修复

  • 修复类型注释 (#31888)

  • 修复 Databricks SQL 运算符序列化 (#31780)

  • 再次使 Databricks 运行相关的多查询字符串在一个会话中运行 (#31898) (#31899)

其他

  • 从触发器类中删除 yield from 之后的 return 语句 (#31703)

  • 删除 Python 3.7 支持 (#30963)

4.2.0

注意

Apache Airflow 提供商支持策略 中所述,此提供商版本仅适用于 Airflow 2.4+。

功能

  • SQL 运算符中添加条件输出处理 (#31136)

  • Databricks hook 添加取消所有运行的功能 (#31038)

  • databrics 异步运算符中添加重试参数 (#30744)

  • databricks hook 添加修复作业功能 (#30786)

  • 添加 'DatabricksPartitionSensor' (#30980)

其他

  • 提升 providers 中的最小 Airflow 版本 (#30917)

  • 弃用 databricks 异步运算符 (#30761)

4.1.0

功能

  • databricks 提供程序添加删除非活动运行的功能 (#30646)

  • Databricks SQL 传感器 (#30477)

4.0.1

Bug 修复

  • DatabricksSubmitRunOperator 支持 taskflow (#29840)

4.0.0

重大更改

现在,DatabricksSqlHook 的行为与其他所有 DBApiHook 实现保持一致,并且在其 run 方法中返回相同类型的响应。之前(provider 的 4.* 版本之前),Hook 返回的是一个包含 (“游标描述”, “结果”) 的元组,这与其他只返回 “结果” 的 DBApiHooks 不兼容。在此更改(以及依赖于 common.sql >= 1.3.1)之后,DatabricksSqlHook 现在只返回 “结果”。在 run 方法完成后,可以通过 hook 的 last_description 字段检索 description

这使得 DatabricksSqlHook 适用于通用的 SQL 操作符和详细的血统分析。

如果您有自定义的 hook,或者在 TaskFlow 代码或依赖于此行为的自定义操作符中使用了该 Hook,则需要调整您的 DAG。

Databricks 的 DatabricksSQLOperator 也更加标准化,它继承自通用的 SQLExecuteQueryOperator,并在运行 SQL 查询时使用更一致的方法来处理输出。但是,在这种情况下,execute 方法返回的结果没有改变(它仍然返回一个包含 (“description”, “results”) 的元组,并且此元组会被推送到 XCom,因此您的 DAG 依赖于此行为应该可以继续工作,而无需进行任何更改。

  • 修复在重构时引入的 Databricks SQL 操作符中的错误 (#27854)

  • 将 common.sql provider 升级到 1.3.1 (#27888)

Bug 修复

  • 修复 DatabricksSQLOperator 中的模板化字段和 do_xcom_push (#27868)

  • 最终修复 SQL Hooks 和操作符的行为 (#27912)

3.4.0 (已撤回)

警告

此版本已被撤回,原因:DatabricsksSQLOperator 中存在一个错误

注意

Apache Airflow provider 支持策略 中所述,此版本的 provider 仅适用于 Airflow 2.3+。

其他

  • 将所有 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)

Bug 修复

  • Databricks:修复 User-Agent 字符串中的 provider 名称 (#25873)

3.2.0

功能

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

  • Databricks 操作符的更多改进 (#25260)

  • 改进了 Databricks provider 的遥测 (#25115)

  • 将 DbApiHook.run() 方法与覆盖它的方法统一起来 (#23971)

Bug 修复

  • 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)

Bug 修复

  • 更新 provider 以使用 functools compat 的 ''cached_property'' (#24582)

3.0.0

重大更改

注意

Apache Airflow provider 支持策略 中所述,此版本的 provider 仅适用于 Airflow 2.2+。

功能

  • 添加可延迟的 Databricks 操作符 (#19736)

  • 向 DatabricksSubmitRunOperator 添加 git_source (#23620)

Bug 修复

  • 修复:DatabricksSubmitRunOperator 和 DatabricksRunNowOperator 无法将 .json 定义为 template_ext (#23622) (#23641)

  • 修复 DatabricksSqlHook 中 sql 为空列表时出现的 UnboundLocalError (#23815)

2.7.0

功能

  • 更新到已发布的 DBSQL 连接器版本

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

  • 进一步改进 Databricks Jobs 操作符 (#23199)

2.6.0

功能

  • 更多用于 Databricks Repos 的操作符 (#22422)

  • 添加指向 Databricks 作业运行的链接 (#22541)

  • Databricks SQL 操作符现在与 Python 3.10 兼容 (#22886)

Bug 修复

  • Databricks:正确处理 HTTP 异常 (#22885)

其他

  • 重构 'DatabricksJobRunLink' 以避免创建临时的 TaskInstances (#22571)

2.5.0

功能

  • 用于更新 Databricks Repos 的操作符 (#22278)

Bug 修复

  • 修复错误地为所有 provider 添加的 install_requires (#22382)

2.4.0

功能

  • 向 DatabricksCopyIntoOperator 添加新选项 (#22076)

  • Databricks hook - 也对 HTTP 状态 429 进行重试 (#21852)

其他

  • 跳过在 Python 3.10 上运行的 Databricks 的某些测试 (#22221)

2.3.0

功能

  • 为DatabricksSubmitRunOperator添加显示运行时错误的功能 (#21709)

  • Databricks: 添加 通过名称触发作业的 支持 (#21663)

  • template_ext = ('.json') 添加到 databricks 操作符 #18925 (#21530)

  • Databricks SQL 操作符 (#21363)

Bug修复

  • 修复了 2022年1月 (延迟) 提供商发布的 更新日志 (#21439)

其他

  • 支持 Python 3.10

  • 更新了 Databricks 文档,使其与 正确的 作业 2.1 API 链接 一致 (#21494)

2.2.0

新特性

  • Databricks 操作符添加 'wait_for_termination' 参数 (#20536)

  • ''DatabricksHook'' 中将 连接 对象更新为 ''cached_property'' (#20526)

  • 'DatabricksHook' 中删除 'host' 作为 实例 属性 (#20540)

  • Databricks: 修复了 托管身份验证的 验证 (#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 提供程序中 使用 AAD 令牌进行身份验证 (#19335)

  • 更新 Databricks 操作符,使其与最新的 API 2.0 版本匹配 (#19443)

  • DatabricksHook.__init__() 中删除 db 调用 (#20180)

Bug修复

  • 修复字符串连接 (#19099)

  • Databricks 钩子: 修复过期时间检查 (#20036)

2.0.2

Bug修复

  • DB 调用 移出 DatabricksHook.__init__ (#18339)

2.0.1

其他

  • 优化 Airflow 2.2.0 的连接导入

2.0.0

破坏性更改

  • 自动应用 apply_default 装饰器 (#15667)

警告

由于移除了 apply_default 装饰器,此版本的提供程序需要 Airflow 2.1.0+。如果您的 Airflow 版本低于 2.1.0,并且您想安装此提供程序版本,请先将 Airflow 升级到至少 2.1.0 版本。否则,您的 Airflow 包版本将自动升级,您必须手动运行 airflow upgrade db 来完成迁移。

1.0.1

更新了文档和自述文件。

1.0.0

提供程序的初始版本。

此条目是否对您有帮助?