Apache 软件基金会(ASF)孵化器于2022年12月03日,通过了 Apache Linkis 计算中间件项目的孵化毕业投票。2023年01月18日,Apache 软件基金会官方宣布 Apache Linkis 顺利毕业,成为 Apache 重要项目(TLP)。
以上截图来自 Apache 官网
原文链接:
一、关于 Apache Linkis
Apache Linkis 计算中间件项目,是由微众银行大数据平台团队在2019年7月进行开源,并于2021年8月正式捐献给全球重要开源社区 Apache 软件基金会(ASF),成为 ASF 孵化项目,在2022年12月03日通过孵化毕业投票。
Apache Linkis 在上层应用程序和底层引擎之间构建了一层计算中间件。通过使用 Linkis 提供的 REST/JDBC/Shell 等标准接口,上层应用可以方便地连接访问 MySQL/Spark/Hive/Trino/Flink 等底层引擎,同时实现变量、脚本、函数和资源文件等用户资源的跨上层应用互通,以及通过 REST 标准接口提供了数据源管理和数据源对应的元数据查询服务。作为计算中间件,Linkis 提供了强大的连通、复用、编排、扩展和治理管控能力。通过计算中间件将应用层和引擎层解耦,简化了复杂的网络调用关系,降低了整体复杂度,同时节约了整体开发和维护成本。
自开源以来,开源社区群用户总数超 7600人,沙箱累计试用公司超 2600家,收到超过 110家企业已投入生产的反馈,生产环境支撑的数据量超 400PB,生产服务的用户超 5000人,涉及金融、电信、制造、互联网等多个行业。许多公司已经用 Linkis 来解决大数据平台连通、扩展、管控、编排等计算治理问题。
在一年多的孵化期间,Apache Linkis 由社区开发者主导发布了7个 Apache 版本,平均约两个月就会发布一个版本;新加入了4个 PPMC成员 和13个 Committers,来自不同的公司和团队,贡献人数达到127人。Apache Linkis 社区各项指标发展良好,项目已经趋于成熟, Apache Linkis 顺利通过 ASF 孵化器项目管理委员会的毕业评估和投票,并得到ASF董事会批准,毕业晋升为 Apache 基金会重要项目。
二、Apache Linkis 的核心功能点以及 Roadmap
通过使用 Linkis,上层应用工具如批量系统可以把 Linkis 作为统一的网关或者 JobServer 来提交批量任务;数据分析工具可以利用 Linkis 的交互式任务的能力实时获取日志、结果集、进度信息等能力。集成了 Linkis 的工具可以做到互联互通,在不同的工具中可以使用同一个定义的 UDF、数据源、物料等。
接入了 Linkis 的上层应用工具都可以拥有以下核心功能特性:
丰富的底层计算存储引擎支持:Spark、Hive、Flink、Python、Sqoop、OpenLooKeng、Presto、Trino、ElasticSearch、JDBC、SeaTunnel 和 Shell 等;
丰富的语言支持:SparkSQL、HiveQL、Python、Shell、Pyspark、Scala、JSON 和 JAVA 等;
强大的计算治理能力:能够提供基于多级标签的任务路由、负载均衡、多租户、流量控制、资源控制等能力;
全栈计算存储引擎架构支持:能够接收、执行和管理针对各种计算存储引擎的任务和请求,包括离线批量任务、交互式查询任务、实时流式任务和数据湖任务;
统一上下文服务:支持跨用户、系统、计算引擎去关联管理用户和系统的资源文件(JAR、ZIP、Properties 等),结果集、参数变量、函数、UDF 等,一处设置,处处自动引用;
统一物料:提供了系统和用户级物料管理,可分享和流转,跨用户、跨系统共享物料;
统一数据源管理:提供了 Hive、ElasticSearch、Mysql、Kafka、MongoDB 等类型数据源信息的增删查改、版本控制、连接测试和对应数据源的元数据信息查询能力;
错误码能力:提供了任务常见错误的错误码和解决方案,方便用户自助定位问题;
从孵化器毕业也证明了 Linkis 项目和社区进一步走向成熟,但是要成为一个世界计算中间件项目还有很多的事情要做。Linkis 社区整理了一份 Roadmap ,欢迎大家参与一起贡献。部分重大特性如下:
三、Apache Linkis 生态
Linkis 作为计算中间件,也积极推动与多个开源社区的项目进行集成,以丰富 Linkis 的生态。下图是部分已经与 Linkis 集成的开源项目,涵盖了数据分析、工作流、数据交换、数据质量、机器学习、以及常用的计算和存储引擎等。上层应用工具通过 Linkis 提交和管理各类引擎的任务,把 Linkis 当成了一个开发基座。极大地降低了上层应用工具在连通、扩展、管控等计算治理方面的开发工作量,让上层应用工具只需专注于其自身的功能性需求。
未来我们也将进一步引导和推动更多的上层工具系统和底层引擎,去与 Linkis 对接集成,丰富 Linkis 的生态。欢迎越来越多的项目参与其中。