Astronomer Cosmos v1.10.0a1预览版:全面拥抱Airflow 3时代
项目简介
Astronomer Cosmos是一个基于Apache Airflow的开源项目,专注于为数据工程团队提供现代化的数据编排解决方案。该项目特别强调与dbt(data build tool)的深度集成,帮助用户在Airflow环境中高效运行和管理dbt项目。通过Cosmos,数据团队可以将dbt的强大转换能力与Airflow的工作流调度完美结合。
核心更新解析
Airflow 3全面兼容
本次v1.10.0a1预览版最重要的特性是对即将发布的Airflow 3的全面支持。开发团队从多个维度进行了适配工作:
-
任务实例字段渲染重构:针对Airflow 2.x和3.x的不同API,重新设计了Rendered Task Instance Fields(RTIF)的处理逻辑,确保在不同版本间的兼容性。
-
异步执行模式增强:特别优化了BigQuery的延迟执行(ExecutionMode.AIRFLOW_ASYNC)在Airflow 3中的表现,充分利用新版本的异步特性提升任务执行效率。
-
DAG渲染机制升级:改进了DbtDag在Airflow 3环境下的渲染过程,使得复杂的数据转换工作流能够更稳定地在新版本中运行。
dbt依赖管理优化
针对大型dbt项目中依赖管理耗时的问题,本次更新引入了创新的增量依赖管理方案:
-
预定义包支持:新增了
copy_dbt_packages功能,允许用户将常用的dbt包预置在项目中,避免每次运行都重新下载。 -
智能依赖解析:在执行
dbt deps命令时,系统会智能判断哪些依赖已经存在,只下载新增或变更的依赖项,显著减少了项目初始化时间。
测试行为改进
修复了测试间接选择(test_indirect_selection)标志在TestBehavior.BUILD模式下无法正确传递的问题,确保了测试覆盖率的准确性,特别是在构建模式下运行选择性测试时。
技术深度解析
Kubernetes执行模式示例
为展示Cosmos在现代基础设施中的能力,新增了Kubernetes执行模式的示例。这一特性特别适合需要弹性扩展的数据处理场景,允许用户:
- 动态分配计算资源
- 实现任务级别的隔离
- 利用K8s的调度能力优化资源利用率
开发者工具增强
考虑到Airflow 3仍处于开发阶段,项目特别提供了:
- 专用开发工具集:简化了针对Airflow 3的开发测试流程
- 版本检查优化:在过渡期只检查主版本号,避免频繁的兼容性调整
- CI/CD改进:直接从主分支安装Airflow进行测试,确保与最新进展保持同步
质量保证措施
团队在代码质量方面采取了多项措施:
- 预提交钩子更新:加强了代码提交前的自动化检查
- OpenLineage事件处理:针对Airflow 3调整了事件完成标记的关联方式
- 示例DAG补充:新增了基础任务组(basic_cosmos_task_group)的符号链接,便于测试
总结展望
Astronomer Cosmos v1.10.0a1预览版展现了项目团队对技术前沿的快速响应能力。通过提前布局Airflow 3兼容性,优化核心的dbt集成体验,以及增强开发者工具链,为数据工程团队提供了面向未来的解决方案。特别值得一提的是增量依赖管理功能,这在大型dbt项目中将带来显著的效率提升。
随着Airflow 3正式发布的临近,Cosmos项目已经做好了充分准备,帮助用户平滑过渡到新一代的工作流调度平台。这一版本虽然标记为预览版,但其完成度和稳定性已经达到了相当高的水平,值得关注数据编排领域的技术团队提前评估和试用。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0448
源启盛夏_AtomGit暑期开发者成长计划「源启盛夏」暑期校园开发者成长计划旨在激活校园开源力量,通过积分激励、认证扶持、资源倾斜等形式,引导高校组织和开发者完成「入驻 — 建项目 — 做贡献 — 获认证 — 得资源」的完整闭环。无论你是想带领社团入驻平台的组织者,还是希望用代码贡献证明自己的开发者,都能在这里找到属于你的成长路径。Markdown00
jiuwenswarmJiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0766
Hy3Hy3 是由腾讯混元团队研发的快慢思考融合的混合专家模型,总参数量 295B,激活参数 21B,MTP 层参数 3.8B。4 月底发布 Hy3 Preview 后,我们在 50 多个业务中获得了广泛的反馈,修复了各种体验问题,进一步提升了后训练的质量和规模。今天,我们发布 Hy3。它展现出显著强于同尺寸并比肩旗舰(参数规模往往是 Hy3 的 2~5 倍)开源模型的智能水平,显著提升了在各类产品和生产力任务中的实用价值。Python00
AscendNPU-IRAscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优C++0312
DragonOSDragonOS is an operating system developed from scratch using Rust, with Linux compatibility. It is designed for **Serverless** scenarios. 使用Rust从0自研内核,具有Linux兼容性的操作系统,面向云计算Serverless场景而设计。Rust00