Skip to main content
版本:1.5.0

简述

关于 Linkis

Linkis 在上层应用程序和底层引擎之间构建了一层计算中间件。通过使用Linkis 提供的REST/WebSocket/JDBC 等标准接口,上层应用可以方便地连接访问MySQL/Spark/Hive/Presto/Flink 等底层引擎,同时实现统一变量、脚本、用户定义函数和资源文件等用户资源的跨上层应用互通,以及通过REST标准接口提供了数据源管理和数据源对应的元数据查询服务。 作为计算中间件,Linkis 提供了强大的连通、复用、编排、扩展和治理管控能力。通过将应用层和引擎层解耦,简化了复杂的网络调用关系,降低了整体复杂度,同时节约了整体开发和维护成本。
Linkis 自2019年开源发布以来,已累计积累了700多家试用企业和1000多位沙盒试验用户,涉及金融、电信、制造、互联网等多个行业。许多公司已经将Linkis 作为大数据平台底层计算存储引擎的统一入口,和计算请求/任务的治理管控利器。

没有Linkis 之前

有了Linkis 之后

核心特点

  • 丰富的底层计算存储引擎支持: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 等类型数据源信息的增删查改、版本控制、连接测试和对应数据源的元数据信息查询能力;
  • 错误码能力:提供了任务常见错误的错误码和解决方案,方便用户自助定位问题;

支持的引擎类型

引擎名支持底层组件版本
(默认依赖版本)
Linkis 1.X 版本要求是否默认包含在发布包中说明
SparkApache 2.0.0~2.4.7,
CDH >= 5.4.0,
(默认Apache Spark 2.4.3)
>=1.0.0_rc1Spark EngineConn, 支持SQL, Scala, Pyspark 和R 代码。
HiveApache >= 1.0.0,
CDH >= 5.4.0,
(默认Apache Hive 2.3.3)
>=1.0.0_rc1Hive EngineConn, 支持HiveQL 代码。
PythonPython >= 2.6,
(默认Python2*)
>=1.0.0_rc1Python EngineConn, 支持python 代码。
ShellBash >= 2.0>=1.0.0_rc1Shell EngineConn, 支持Bash shell 代码。
JDBCMySQL >= 5.0, Hive >=1.2.1,
(默认Hive-jdbc 2.3.4)
>=1.0.0_rc1JDBC EngineConn, 已支持Mysql,Oracle,KingBase,PostgreSQL,SqlServer,DB2,Greenplum,DM,Doris,ClickHouse,TiDB,Starrocks,GaussDB和OceanBase, 可快速扩展支持其他有JDBC Driver 包的引擎, 如SQLite
FlinkFlink >= 1.12.2,
(默认Apache Flink 1.12.2)
>=1.0.2Flink EngineConn, 支持FlinkSQL 代码,也支持以Flink Jar 形式启动一个新的Yarn 应用程序。
Pipeline->=1.0.2Pipeline EngineConn, 支持文件的导入和导出。
openLooKengopenLooKeng >= 1.5.0,
(默认openLookEng 1.5.0)
>=1.1.1openLooKeng EngineConn, 支持用Sql查询数据虚拟化引擎openLooKeng。
SqoopSqoop >= 1.4.6,
(默认Apache Sqoop 1.4.6)
>=1.1.2Sqoop EngineConn, 支持 数据迁移工具 Sqoop 引擎。
PrestoPresto >= 0.180>=1.2.0Presto EngineConn, 支持Presto SQL 代码。
ElasticSearchElasticSearch >=6.0>=1.2.0ElasticSearch EngineConn, 支持SQL 和DSL 代码。
TrinoTrino >=371>=1.3.1Trino EngineConn, 支持Trino SQL 代码
SeatunnelSeatunnel >=2.1.2>=1.3.1Seatunnel EngineConn, 支持Seatunnel SQL 代码

下载

请前往Linkis releases 页面 下载Linkis 已编译的部署安装包或源码包。

安装部署

请参考编译指南来编译Linkis源代码。
请参考安装部署文档 来部署Linkis 。

示例和使用指引

文档

完整的Linkis文档代码存放在linkis-website仓库中

架构概要

Linkis 基于微服务架构开发,其服务可以分为3类:计算治理服务、公共增强服务和微服务治理服务。

  • 计算治理服务,支持计算任务/请求处理流程的3个主要阶段:提交->准备->执行。
  • 公共增强服务,包括上下文服务、物料管理服务及数据源服务等。
  • 微服务治理服务,包括定制化的Spring Cloud Gateway、Eureka、Open Feign。

下面是Linkis的架构概要图,更多详细架构文档请见 Linkis/Architecturearchitecture

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

wedatasphere_stack_Linkis

更多项目开源准备中,敬请期待。

贡献

我们非常欢迎和期待更多的贡献者参与共建Linkis, 不论是代码、文档或是其他能够帮助到社区的贡献形式。

代码和文档相关的贡献请参照贡献指引

联系我们

方式1 邮件列表

名称描述订阅取消订阅存档
dev@linkis.apache.org社区活动信息订阅取消订阅存档

方式2 Issue

通过github提交issue,以便跟踪处理和经验沉淀共享

方式2 微信助手

微信小助手微信公众号

Meetup 视频 Bilibili

谁在使用 Linkis

我们创建了一个 issue 以便用户反馈和记录谁在使用Linkis。
Linkis 自2019年开源发布以来,累计已有700多家试验企业和1000+沙盒试验用户,涉及金融、电信、制造、互联网等多个行业。