首页
/ 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项目已经做好了充分准备,帮助用户平滑过渡到新一代的工作流调度平台。这一版本虽然标记为预览版,但其完成度和稳定性已经达到了相当高的水平,值得关注数据编排领域的技术团队提前评估和试用。

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

项目优选

收起
docsdocs
暂无描述
Markdown
827
5.48 K
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
494
515
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
783
1.57 K
pytorchpytorch
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
800
1.14 K
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
970
2.28 K
kernelkernel
deepin linux kernel
C
32
16
AscendNPU-IRAscendNPU-IR
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
480
312
jiuwenswarmjiuwenswarm
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
3.01 K
766
cannbot-skillscannbot-skills
CANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体,本仓库为其提供可复用的 Skills 模块。
Markdown
1.26 K
808
cann-learning-hubcann-learning-hub
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
647
284