首页
/ Astronomer Cosmos v1.10.0a1预览版:全面拥抱Airflow 3时代

Astronomer Cosmos v1.10.0a1预览版:全面拥抱Airflow 3时代

2025-07-08 15:35:08作者:邓越浪Henry

项目简介

Astronomer Cosmos是一个基于Apache Airflow的开源项目,专注于为数据工程团队提供现代化的数据编排解决方案。该项目特别强调与dbt(data build tool)的深度集成,帮助用户在Airflow环境中高效运行和管理dbt项目。通过Cosmos,数据团队可以将dbt的强大转换能力与Airflow的工作流调度完美结合。

核心更新解析

Airflow 3全面兼容

本次v1.10.0a1预览版最重要的特性是对即将发布的Airflow 3的全面支持。开发团队从多个维度进行了适配工作:

  1. 任务实例字段渲染重构:针对Airflow 2.x和3.x的不同API,重新设计了Rendered Task Instance Fields(RTIF)的处理逻辑,确保在不同版本间的兼容性。

  2. 异步执行模式增强:特别优化了BigQuery的延迟执行(ExecutionMode.AIRFLOW_ASYNC)在Airflow 3中的表现,充分利用新版本的异步特性提升任务执行效率。

  3. DAG渲染机制升级:改进了DbtDag在Airflow 3环境下的渲染过程,使得复杂的数据转换工作流能够更稳定地在新版本中运行。

dbt依赖管理优化

针对大型dbt项目中依赖管理耗时的问题,本次更新引入了创新的增量依赖管理方案:

  1. 预定义包支持:新增了copy_dbt_packages功能,允许用户将常用的dbt包预置在项目中,避免每次运行都重新下载。

  2. 智能依赖解析:在执行dbt deps命令时,系统会智能判断哪些依赖已经存在,只下载新增或变更的依赖项,显著减少了项目初始化时间。

测试行为改进

修复了测试间接选择(test_indirect_selection)标志在TestBehavior.BUILD模式下无法正确传递的问题,确保了测试覆盖率的准确性,特别是在构建模式下运行选择性测试时。

技术深度解析

Kubernetes执行模式示例

为展示Cosmos在现代基础设施中的能力,新增了Kubernetes执行模式的示例。这一特性特别适合需要弹性扩展的数据处理场景,允许用户:

  • 动态分配计算资源
  • 实现任务级别的隔离
  • 利用K8s的调度能力优化资源利用率

开发者工具增强

考虑到Airflow 3仍处于开发阶段,项目特别提供了:

  1. 专用开发工具集:简化了针对Airflow 3的开发测试流程
  2. 版本检查优化:在过渡期只检查主版本号,避免频繁的兼容性调整
  3. CI/CD改进:直接从主分支安装Airflow进行测试,确保与最新进展保持同步

质量保证措施

团队在代码质量方面采取了多项措施:

  1. 预提交钩子更新:加强了代码提交前的自动化检查
  2. OpenLineage事件处理:针对Airflow 3调整了事件完成标记的关联方式
  3. 示例DAG补充:新增了基础任务组(basic_cosmos_task_group)的符号链接,便于测试

总结展望

Astronomer Cosmos v1.10.0a1预览版展现了项目团队对技术前沿的快速响应能力。通过提前布局Airflow 3兼容性,优化核心的dbt集成体验,以及增强开发者工具链,为数据工程团队提供了面向未来的解决方案。特别值得一提的是增量依赖管理功能,这在大型dbt项目中将带来显著的效率提升。

随着Airflow 3正式发布的临近,Cosmos项目已经做好了充分准备,帮助用户平滑过渡到新一代的工作流调度平台。这一版本虽然标记为预览版,但其完成度和稳定性已经达到了相当高的水平,值得关注数据编排领域的技术团队提前评估和试用。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
27
11
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
470
3.48 K
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
10
1
leetcodeleetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
65
19
flutter_flutterflutter_flutter
暂无简介
Dart
718
172
giteagitea
喝着茶写代码!最易用的自托管一站式代码托管平台,包含Git托管,代码审查,团队协作,软件包和CI/CD。
Go
23
0
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
209
84
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.27 K
695
rainbondrainbond
无需学习 Kubernetes 的容器平台,在 Kubernetes 上构建、部署、组装和管理应用,无需 K8s 专业知识,全流程图形化管理
Go
15
1
apintoapinto
基于golang开发的网关。具有各种插件,可以自行扩展,即插即用。此外,它可以快速帮助企业管理API服务,提高API服务的稳定性和安全性。
Go
22
1