进阶 dagster.io 2026-10-10 01:48:56 · 7 阅读

第38章 Dagster 1.7 版本前瞻:Dagster Core 核心更新

在即将发布的 Dagster+ 之前,Dagster Core 迎来了一系列重大更新。 Dagster 1.7 版本为 Dagster Core 带来了一些关键增强。这些改进将立即惠及开源 Dagster 用户,并为 4 月 17 日即将到来的 Dagster+ 发布奠定基础。以下是 1.6.0 到 1.7.0 之间十四个子版本和 1066 次提交的增强功能回顾。 Asset Tags Asset Checks 感谢自 1.6.1 以来所有社区贡献者的付出 组织你的资产 无论是开源的 Dagster Core 还是即将推出的 Dagster+,都提供数据资产目录功能。Dagster Core 1.7.0 版本中新增了一些功能,帮助你组织、搜索和共享关键资产: 新版 Asset Details 页面 我们发布了新版 Asset Details 页面。它包含一个“Overview”标签页,将关于资产的最重要信息(如当前状态、描述和列)集中在同一处显示。 Dagster 更新的 Asset Details 页面。(点击放大) Asset Tags 随着项目规模扩大,将资产组织到逻辑组中很有帮助。使用标签标记资产、Ops、Jobs 和 Job Runs,可以更容易找到它们。除了任意标签外,你現在还可以将资产分配给特定用户,从而支持针对特定用户的警报。 Dagster Asset Tags 帮助你组织和查找资产。(点击放大) 这些标签会显示在资产目录和详情页中。你可以基于这些标签过滤资产目录。例如,在上图中的截屏中,我们过滤出仅包含 PII 的资产。我们还将计划在 4 月 17 日即将进行的 Dagster+ 发布中,宣布一些与 Asset Tags 相关的激动人心的功能。 Asset Checks 从 Dagster 1.7.0 开始,Asset Checks 不再被标记为实验性功能,因此你可以预期该 API 将保持稳定。 Dagster Asset Checks 将数据质量和可靠性引入你的管道逻辑。(点击放大) 此外,Asset Checks 还在不断演进: 现在可以将 Checks 标记为 blocking,如果检查失败,同一 run 中的下游资产将被跳过。这是通过 blocking 参数设置的,默认为 False。 新的 @multi_asset_check 装饰器允许你定义一个执行多个 asset checks 的函数。 Freshness check 是一种 asset check,允许你识别出过期需要刷新数据的 Dagster 资产。在 1.7 中,我们引入了两个新 API——build_last_updated_freshness_checks 和 build_time_partition_freshness_checks——允许你定义资产过期更新的检查。 新的 build_column_schema_change_checks API 允许定义资产检查,当资产的列自上次物化以来发生变化时发出警告。 集成更新 dbt Dagster 的 dbt 集成在此版本中获得了多项更新: * 此集成现在可以配置为自动收集列模式(column schema)和列血缘(column lineage)的元数据。 * dbt 测试现在默认作为 Dagster asset checks 引入。 * dbt 资源标签现在自动作为 Dagster asset tags 引入。 * 来自 dbt 组的 dbt 所有者现在自动作为 Dagster 所有者引入。 Snowflake 和 GCP 的数据新鲜度 dagster-snowflake 和 dagster-gcp 包现在都暴露了 fetch_last_updated_timestamps API,这使得在源资产观察函数中收集数据新鲜度信息变得简单直接。 除了上述所有内容外,我们还对 UI 进行了许多改善用户体验的改进,并大幅更新了文档。 如果你还没有访问过,请查看 Dagster University 的课程,包括新的 dbt 模块。 寻找更细致的增强列表?
查阅完整的 Dagster 更新日志。 1.6.0 版本以来的贡献者: 自 1.6.0 发布至上周 1.7 上线期间,我们衷心感谢所有为 Dagster 做出贡献的社区成员。    以下是 1.6.1 到 1.7.0 版本中为 Dagster 核心做出贡献的精彩社区成员名单: Jens Blawatt | James Campbell | Joe Youssouf | Todd Matthews | Andrew Resnikoff | Đỗ Trọng Hải | Craig Austin | Ion Koutsouris | Mathieu Larose | Ignas Anikevicius | Avril Aysha | Daniel Gafni | CapitanHeMo | Cameron Martin | Zoltan C. Toth | jlloyd-widen | Casper Weiss Bang | Shiv Gupta | Marijn Valk | Clifford Ressel | Christopher Tee | Emeric Planet | Parth Shyara | zyd14 | Rhiyo | onefloid | Jiri Vyoralek | Tyler Hunt | Marcel Steinbach | Dan Schafer | Stian Thaulow | maxfirman | Rui | Tyler Eason | thomaslaber | Amit | Aksel Stokseth | Brandon Freeman | Nicolas Huray | Steven Matson | geoHeil | Brandon Peebles | Karsten Gebbert | Ryan Waldheim | Dragos Pop
您对 Dagster 的改进有什么建议?
加入我们的 GitHub 讨论区,帮助我们确定优先事项。如有反馈或疑问?请在 Slack 或 GitHub 发起讨论。有意加入我们?查看开放职位。想要更多此类内容?请在 LinkedIn 上关注我们。

评论 (0)