Apache Linkis 概述
Apache Linkis 是一种计算中间件,位于上层应用与底层引擎(如 Apache Spark、Apache Hive 和 Apache Flink)之间。它于 2021 年作为 Apache Incubator 项目启动,并于 2023 年 1 月成为 Apache 顶级项目。
主要功能
- 标准化接口:Linkis 提供 REST/WS/JDBC 等标准接口,使 Tableau 或 Jupyter 等功能应用能够访问计算和存储引擎。
- 数据源和元数据管理:通过 REST 标准接口提供数据源和元数据管理服务。
关键优势
- 灵活性:Linkis 灵活地连接上层应用与各种引擎,减少底层变化的影响。
- 分布式微服务架构:易于扩展和添加新功能。
- 任务/请求治理:提供基本编排框架,支持不同的计算任务管理策略,减少连接和扩展的工作量。
- 细粒度路由和负载均衡:支持多租户、流量控制、资源控制和双活、主备等编排策略。
- 访问控制:包括身份验证、风险预防和记录管理。
任务处理阶段
每个任务分为四个阶段:
- 提交阶段:任务提交到 Entrance 服务。
- 准备阶段:任务被调度。
- 执行阶段:任务提交到底层引擎执行。
- 结果返回阶段:结果返回给调用者。
支持的引擎和语言
- 计算和存储引擎:目前支持 Spark、Hive、Flink、Python、Presto、ElasticSearch、JDBC 等,未来将支持 Trino 和 SeaTunnel。
- 脚本语言:支持 SparkSQL、HiveQL、Python、Pyspark、Scala 和 JDBC。
资源管理
Linkis 的 ResourceManager 可以管理 Yarn 和 Linkis EngineManager 的资源,提供基于标签的多级资源分配和回收,支持跨多个 Yarn 集群和多种计算资源类型的强大资源管理能力。
应用场景
Apache Linkis 在金融、银行、电信和互联网等多样化行业中广泛应用,提供上层应用与底层引擎之间的抽象层,简化不同引擎的连接和资源管理。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。