OpenLineage 1.28.0版本发布:增强Spark集成与Java客户端能力
项目概述
OpenLineage是一个开源的数据血缘追踪框架,它通过收集、处理和存储数据管道执行过程中产生的元数据,帮助组织理解数据流动和依赖关系。该框架支持多种数据处理工具和平台,包括Spark、dbt等,并提供标准化的元数据模型和API接口。
核心功能更新
Java客户端增强
-
自定义SSL上下文支持 新版本允许开发者为HTTP传输层配置自定义的SSL上下文。这项改进特别适合企业级应用场景,当需要与使用特定证书或加密配置的后端服务通信时,开发者可以灵活地配置SSL参数,确保数据传输的安全性。
-
异步任务队列断路器 引入了一个基于任务队列的异步断路器机制。该机制通过线程池队列执行任务,在队列满时会放弃任务,并跟踪被拒绝的任务。这种设计能够有效防止系统过载,提高客户端的稳定性,特别适合高并发环境下的元数据收集场景。
Spark集成改进
-
节点过滤配置化 原先Spark集成会过滤特定计划节点类的事件,现在通过
allowedSparkNodes和deniedSparkNodes配置项,用户可以灵活控制哪些节点类应该被包含或排除在事件收集范围之外。这种细粒度的控制能力使得用户可以根据具体需求优化事件收集策略。 -
DML命令支持扩展 新增了对多种Spark DML命令的完整支持,包括:
- AlterTableRecoverPartitionsCommandVisitor
- RefreshTableCommandVisitor
- RepairTableCommandVisitor 这些改进显著提升了Spark操作的血缘追踪覆盖率,使元数据收集更加全面。
-
架构优化 对Spark监听器进行了架构重构,使其构造函数仅接收SparkConf实例。虽然这不会改变现有功能,但为未来的扩展提供了更好的基础。同时,直接暴露LogicalPlan和SparkPlan对象的设计变更,为后续移除对QueryExecution对象的直接访问做准备。
dbt适配器支持
-
Trino适配器初步支持 新增了对dbt-Trino适配器的初步支持,使得使用Trino作为计算引擎的dbt项目能够正确发出包含Trino数据集的事件。这对于企业中使用Trino作为统一查询引擎的数据栈特别有价值。
-
结构化日志修复 修复了在使用结构化日志选项时ParentRunFacet的附加问题,确保血缘关系能够正确建立。这个修复对于依赖dbt进行数据转换和建模的项目至关重要,保证了血缘信息的完整性和准确性。
其他重要改进
-
错误日志优化 针对不支持的目录类,现在会生成不带堆栈跟踪的警告日志,减少了日志噪音,提高了可读性。
-
列血缘增强 改进了COMPLETE事件中的输入数据集包含逻辑,同时确保版本facet只在START事件中附加。这一改进使得列级别的血缘追踪更加准确和完整。
技术影响分析
OpenLineage 1.28.0版本的发布在几个关键方面提升了框架的实用性和可靠性:
-
企业级特性增强:SSL上下文支持和断路器机制的引入,使得OpenLineage更适合部署在企业生产环境中,满足安全性和稳定性的严格要求。
-
生态兼容性扩展:对Trino适配器的支持进一步扩大了OpenLineage的生态系统,使其能够覆盖更广泛的数据处理工具链。
-
用户体验优化:配置化的节点过滤和错误日志改进,使得框架更加用户友好,降低了运维复杂度。
-
架构演进:Spark集成的内部重构为未来的功能扩展和技术演进奠定了更好的基础,体现了项目团队对长期可维护性的重视。
总结
OpenLineage 1.28.0版本通过多项功能增强和问题修复,进一步巩固了其作为数据血缘追踪领域领先开源解决方案的地位。无论是Java客户端的可靠性提升,Spark集成的功能扩展,还是对新适配器的支持,都体现了项目团队对用户需求的深入理解和快速响应能力。这些改进将帮助组织更好地实现数据治理目标,提高数据管道的透明度和可观测性。
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 StartedRust0446
源启盛夏_AtomGit暑期开发者成长计划「源启盛夏」暑期校园开发者成长计划旨在激活校园开源力量,通过积分激励、认证扶持、资源倾斜等形式,引导高校组织和开发者完成「入驻 — 建项目 — 做贡献 — 获认证 — 得资源」的完整闭环。无论你是想带领社团入驻平台的组织者,还是希望用代码贡献证明自己的开发者,都能在这里找到属于你的成长路径。Markdown00
jiuwenswarmJiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0761
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++0310
DragonOSDragonOS is an operating system developed from scratch using Rust, with Linux compatibility. It is designed for **Serverless** scenarios. 使用Rust从0自研内核,具有Linux兼容性的操作系统,面向云计算Serverless场景而设计。Rust00