【数据管理】Apache Linkis介绍

视频号

微信公众号

知识星球

Chinese, Simplified

Linkis在上层应用程序和底层引擎之间构建了一层计算中间件。通过使用Linkis提供的REST/WS/JDBC等标准接口,上层应用程序可以轻松访问MySpark/Hive/Presto/Flink等底层引擎,实现统一变量、脚本、UDF、函数、资源文件等用户资源的互通,并通过REST标准接口提供数据源和元数据管理服务。同时

作为一种计算中间件,Linkis提供了强大的连接、重用、编排、扩展和治理功能。通过将应用层和引擎层解耦,简化了复杂的网络调用关系,从而降低了整体复杂性,并节省了开发和维护成本。

自2019年Linkis首次发布以来,它已经积累了700多家试用公司和1000多个沙盒试用用户,涉及从金融、银行、电信到制造业、互联网公司等多个行业。许多公司已经将Linkis作为大数据平台底层计算和存储引擎的统一入口。

linkis-intro-01

功能

  • 支持多种底层计算存储引擎:Spark、Hive、Python、Shell、Flink、JDBC、Pipeline、Sqoop、OpenLooKeng、Presto、ElasticSearch、Trino、SeaTunnel等。;
  • 支持多种语言:SparkSQL、HiveSQL、Python、Shell、Pyspark、Scala、JSON和Java;
  • 强大的计算治理能力:可提供基于多级标签的任务路由、负载平衡、多租户、流量控制、资源控制等能力;
  • 支持全栈计算/存储引擎:能够接收、执行和管理各种计算和存储引擎的任务和请求,包括离线批处理任务、交互式查询任务、实时流任务和数据湖任务;
  • 统一上下文服务:支持跨用户、跨系统、跨计算引擎关联管理用户和系统资源文件(JAR、ZIP、Properties等)、结果集、参数变量、函数、UDF等,一次设置,处处自动引用;
  • 统一物料:提供系统级和用户级的物料管理,可以共享和流转,跨用户、跨系统共享物料;
  • 统一的数据源管理:提供对Hive、ElasticSearch、Mysql、Kafka、MongoDB等数据源信息的添加、删除、检查和更改功能,提供版本控制、连接测试,查询相应数据源的元数据信息
  • 错误代码能力:为任务常见错误提供错误代码和解决方案,方便用户自行定位问题;

支持的引擎类型

Engine name Support underlying component version

(default dependency version)
Linkis Version Requirements Included in Release Package By Default Description
Spark Apache 2.0.0~2.4.7,

CDH >= 5.4.0,

(default Apache Spark 2.4.3)
>=1.0.3 Yes

Spark EngineConn, supports SQL ,

Scala, Pyspark and R code

Hive Apache >= 1.0.0,

CDH >= 5.4.0,

(default Apache Hive 2.3.3)
>=1.0.3 Yes Hive EngineConn, supports HiveQL code
Python Python >= 2.6,

(default Python2*)
>=1.0.3 Yes Python EngineConn, supports python code
Shell Bash >= 2.0 >=1.0.3 Yes Shell EngineConn, supports Bash shell code
JDBC MySQL >= 5.0, Hive >=1.2.1,

(default Hive-jdbc 2.3.4)
>=1.0.3 No

JDBC EngineConn, already supports

Mysql,Oracle,KingBase,PostgreSQL,

SqlServer,DB2,Greenplum,DM,Doris,

ClickHouse,TiDB,Starrocks,GaussDB and OceanBase, can be extended

quickly Support other engines with

JDBC Driver package, such as SQLite

Flink Flink >= 1.12.2,

(default Apache Flink 1.12.2)
>=1.0.2 No

Flink EngineConn, supports FlinkSQL code, also supports starting a new

Yarn in the form of Flink Jar Application

Pipeline - >=1.0.2 No Pipeline EngineConn, supports file import and export
openLooKeng openLooKeng >= 1.5.0,

(default openLookEng 1.5.0)
>=1.1.1 No

openLooKeng EngineConn,

supports querying data virtualization

engine with Sql openLooKeng

Sqoop Sqoop >= 1.4.6,

(default Apache Sqoop 1.4.6)
>=1.1.2 No

Sqoop EngineConn, support data

migration tool Sqoop engine

Presto Presto >= 0.180 >=1.2.0 No

Presto EngineConn, supports

Presto SQL code

ElasticSearch ElasticSearch >=6.0 >=1.2.0 No

ElasticSearch EngineConn,

supports SQL and DSL code

Trino Trino >=371 >=1.3.1 No

Trino EngineConn, supports

Trino SQL code

Seatunnel Seatunnel >=2.1.2 >=1.3.1 No

Seatunnel EngineConn,

supportt Seatunnel SQL code

 

架构

Linkis服务可分为三类:计算治理服务、公共增强服务和微服务治理服务

  • 计算治理服务支持处理任务/请求的三个主要阶段:提交->准备->执行
  • 公共增强服务,包括材料库服务、上下文服务和数据源服务。
  • 微服务治理服务,包括Spring Cloud Gateway、Eureka和Open Feign。

以下是Linkis体系结构图。您可以在architecture中找到更详细的体系结构文档。

architecture

基于计算中间件Linkis,我们在大数据平台套件WeDataSphere中构建了许多应用程序和工具。以下是目前可用的开源项目。

wedatasphere_stack_Linkis

  • DataSphere Studio-数据应用程序集成与开发框架
  • Scriptis-数据开发IDE工具
  • Visualis-数据可视化工具
  • Schedules-工作流任务调度工具
  • Qualitis-数据质量工具
  • MLLabis-机器学习笔记本IDE

更多项目即将推出,请继续关注。

本文地址
https://architect.pub
SEO Title
Apache Linkis introducation