一、背景

随着大数据技术的广泛应用,有各种的上层应用和计算引擎,而对于上层应用来说,连接每种引擎的方式都不一样,这样极不方便,急需一个中间件来解耦,Linis便出世了。Linkis主要是提供统一的数据中间件,对接上层应用工具,屏蔽掉底层的各种调用和使用细节,使用户使用的时候不会再因底层的变化而做处理,用户只对接Linkis即可。接下来看个图,就更加理解了
在这里插入图片描述

二、简介

Linkis,一个打通了多个计算存储引擎如Spark、TiSpark、Hive、Python和HBase等,对外提供统一REST/WebSocket/JDBC接口,提交执行SQL、Pyspark、HiveQL、Scala等脚本的数据中间件。

Github 地址:https://github.com/WeBankFinTech/Linkis
Gitee 地址:https://gitee.com/WeBank/Linkis/

三、主要功能

Linkis基于微服务架构,提供了金融级多租户隔离、资源管控、权限隔离等企业级特性,支持统一变量、UDF、函数、用户资源文件管理,具备高并发、高性能、高可用的大数据作业/请求全生命周期管理能力。

(1)丰富的底层计算存储引擎支持

目前支持的计算存储引擎:Spark、Hive、Python、Presto、ElasticSearch、MLSQL、TiSpark、JDBC和Shell等。
支持的脚本语言:SparkSQL, HiveQL, Python, Shell, Pyspark, R, Scala 和JDBC 等。

(2)强大的计算治理能力

基于Orchestrator、Label Manager和定制的Spring Cloud Gateway等服务,Linkis能够提供基于多级标签的跨集群/跨IDC 细粒度路由、负载均衡、多租户、流量控制、资源控制和编排策略(如双活、主备等)支持能力。

(3)全栈计算存储引擎架构支持

能够接收、执行和管理针对各种计算存储引擎的任务和请求,包括离线批量任务、交互式查询任务、实时流式任务和存储型任务;

(4)资源管理能力

ResourceManager 不仅具备 Linkis0.X 对 Yarn 和 Linkis EngineManager 的资源管理能力,还将提供基于标签的多级资源分配和回收能力,让 ResourceManager 具备跨集群、跨计算资源类型的强大资源管理能力。

(5)统一上下文服务

为每个计算任务生成context id,跨用户、系统、计算引擎的关联管理用户和系统资源文件(JAR、ZIP、Properties等),结果集,参数变量,函数等,一处设置,处处自动引用;

(6)统一物料

系统和用户级物料管理,可分享和流转,跨用户、系统共享物料

支持的引擎细节如下

引擎 引擎版本 Linkis 0.X 版本要求 Linkis 1.X 版本要求 说明
Flink 1.12.2 >=dev-0.12.0, PR #703 尚未合并 >=1.0.2 Flink EngineConn。支持FlinkSQL 代码,也支持以Flink Jar 形式启动一个新的Yarn 应用程序。
Impala >=3.2.0, CDH >=6.3.0" >=dev-0.12.0, PR #703 尚未合并 ongoing Impala EngineConn. 支持Impala SQL 代码.
Presto >= 0.180 >=0.11.0 ongoing Presto EngineConn. 支持Presto SQL 代码.
ElasticSearch >=6.0 >=0.11.0 ongoing ElasticSearch EngineConn. 支持SQL 和DSL 代码.
Shell Bash >=2.0 >=0.9.3 >=1.0.0_rc1 Shell EngineConn. 支持Bash shell 代码.
MLSQL >=1.1.0 >=0.9.1 ongoing MLSQL EngineConn. 支持MLSQL 代码.
JDBC MySQL >=5.0, Hive>=1.2.1 >=0.9.0 >=1.0.0_rc1 JDBC EngineConn. 已支持MySQL 和HiveQL,可快速扩展支持其他有JDBC Driver 包的引擎, 如Oracle.
Spark Apache 2.0.0~2.4.7, CDH >=5.4.0 >=0.5.0 >=1.0.0_rc1 Spark EngineConn. 支持SQL, Scala, Pyspark 和R 代码.
Hive Apache >=1.0.0, CDH >=5.4.0 >=0.5.0 >=1.0.0_rc1 Hive EngineConn. 支持HiveQL 代码.
Hadoop Apache >=2.6.0, CDH >=5.4.0 >=0.5.0 ongoing Hadoop EngineConn. 支持Hadoop MR/YARN application.
Python >=2.6 >=0.5.0 >=1.0.0_rc1 Python EngineConn. 支持python 代码.
TiSpark 1.1 >=0.5.0 ongoing TiSpark EngineConn. 支持用SparkSQL 查询TiDB.

四、架构

Linkis基于微服务架构,其服务分别是:

(1)计算治理服务

支持计算任务/请求处理流程的3个主要阶段:提交->准备->执行

(2)公共增强服务

包括上下文服务、物料管理服务及数据源服务等

(3)微服务治理服务

包括定制化的Spring Cloud Gateway、Eureka、Open Feign

其架构图:
在这里插入图片描述

Logo

永洪科技,致力于打造全球领先的数据技术厂商,具备从数据应用方案咨询、BI、AIGC智能分析、数字孪生、数据资产、数据治理、数据实施的端到端大数据价值服务能力。

更多推荐