Linkis 在上层应用程序和底层引擎之间构建了一层计算中间件。通过使用 Linkis 提供的 REST/WebSocket/JDBC 等标准接口, 上层应用可以方便地连接访问 MySQL/Spark/Hive/Presto/Flink 等底层引擎,同时实现变量、脚本、函数和资源文件等用户资源的跨上层应用互通。
作为计算中间件,Linkis 提供了强大的连通、复用、编排、扩展和治理管控能力。通过计算中间件将应用层和引擎层解耦,简化了复杂的网络调用关系, 降低了整体复杂度,同时节约了整体开发和维护成本。
Linkis 自 2019 年开源发布以来,已累计积累了 700 多家试验企业和 1000+沙盒试验用户,涉及金融、电信、制造、互联网等多个行业。 许多公司已经将 Linkis 作为大数据平台底层计算存储引擎的统一入口,和计算请求/任务的治理管控利器。
引擎名 | 支持底层组件版本 (默认依赖版本) | Linkis 版本要求 | 是否默认包含在发布包中 | 说明 |
---|---|---|---|---|
Spark | Apache 2.0.0~2.4.7, CDH >= 5.4.0, (默认 Apache Spark 2.4.3) | >=1.0.3 | 是 | Spark EngineConn, 支持 SQL, Scala, Pyspark 和 R 代码 |
Hive | Apache >= 1.0.0, CDH >= 5.4.0, (默认 Apache Hive 2.3.3) | >=1.0.3 | 是 | Hive EngineConn, 支持 HiveQL 代码 |
Python | Python >= 2.6, (默认 Python2*) | >=1.0.3 | 是 | Python EngineConn, 支持 python 代码 |
Shell | Bash >= 2.0 | >=1.0.3 | 是 | Shell EngineConn, 支持 Bash shell 代码 |
JDBC | MySQL >= 5.0, Hive >=1.2.1, (默认 Hive-jdbc 2.3.4) | >=1.0.3 | 否 | JDBC EngineConn, 已支持 MySQL 和 HiveQL,可快速扩展支持其他有 JDBC Driver 包的引擎, 如 Oracle |
Flink | Flink >= 1.12.2, (默认 Apache Flink 1.12.2) | >=1.0.3 | 否 | Flink EngineConn, 支持 FlinkSQL 代码,也支持以 Flink Jar 形式启动一个新的 Yarn 应用程序 |
Pipeline | - | >=1.0.3 | 否 | Pipeline EngineConn, 支持文件的导入和导出 |
openLooKeng | openLooKeng >= 1.5.0, (默认 openLookEng 1.5.0) | >=1.1.1 | 否 | openLooKeng EngineConn, 支持用 Sql 查询数据虚拟化引擎 openLooKeng |
Sqoop | Sqoop >= 1.4.6, (默认 Apache Sqoop 1.4.6) | >=1.1.2 | 否 | Sqoop EngineConn, 支持 数据迁移工具 Sqoop 引擎 |
Presto | Presto >= 0.180, (默认 Presto 0.234) | >=1.2.0 | 否 | Presto EngineConn, 支持 Presto SQL 代码 |
ElasticSearch | ElasticSearch >=6.0, ((默认 ElasticSearch 7.6.2) | >=1.2.0 | 否 | ElasticSearch EngineConn, 支持 SQL 和 DSL 代码 |
Impala | Impala >= 3.2.0, CDH >=6.3.0 | ongoing | - | Impala EngineConn,支持 Impala SQL 代码 |
MLSQL | MLSQL >=1.1.0 | ongoing | - | MLSQL EngineConn, 支持 MLSQL 代码. |
Hadoop | Apache >=2.6.0, CDH >=5.4.0 | ongoing | - | Hadoop EngineConn, 支持 Hadoop MR/YARN application |
TiSpark | 1.1 | ongoing | - | TiSpark EngineConn, 支持用 SparkSQL 查询 TiDB |
应用工具 | 描述 | Linkis 1.X(推荐 1.1.1) 兼容版本 |
---|---|---|
DataSphere Studio | DataSphere Studio(简称 DSS)数据应用开发管理集成框架 | DSS 1.0.1[已发布 ][Linkis 推荐 1.1.1] |
Scriptis | 支持在线写 SQL、Pyspark、HiveQL 等脚本,提交给Linkis 执行的数据分析 Web 工具 | 在 DSS 1.0.1 中[已发布 ] |
Schedulis | 基于 Azkaban 二次开发的工作流任务调度系统,具备高性能,高可用和多租户资源隔离等金融级特性 | Schedulis0.6.2 [已发布 ] |
Qualitis | 数据质量校验工具,提供数据完整性、正确性等数据校验能力 | Qualitis 0.9.0 [已发布 ] |
Streamis | 流式应用开发管理工具。支持发布 Flink Jar 和 Flink SQL ,提供流式应用的开发调试和生产管理能力,如:启停、状态监控、checkpoint 等 | Streamis 0.1.0 [已发布 ][Linkis 推荐 1.1.0] |
Exchangis | 支持对结构化及无结构化的异构数据源之间的数据传输的数据交换平台,即将发布的 Exchangis1.0,将与 DSS 工作流打通 | Exchangis 1.0.0 [开发中 ] |
Visualis | 基于宜信开源项目 Davinci 二次开发的数据可视化 BI 工具,为用户在数据安全方面提供金融级数据可视化能力 | Visualis 1.0.0[开发中 ] |
Prophecis | 一站式机器学习平台,集成多种开源机器学习框架。Prophecis 的 MLFlow 通过 AppConn 可以接入到 DSS 工作流中 | Prophecis 0.3.0 [已发布 ] |
请前往Linkis Releases 页面 下载 Linkis 的已编译版本或源码包。
更详细的步骤参见:
## 后端编译 ### Mac OS/Linux 系统 ./mvnw -N install ./mvnw clean install -Dmaven.javadoc.skip=true -Dmaven.test.skip=true ### Windows 系统 mvnw.cmd -N install mvnw.cmd clean install -Dmaven.javadoc.skip=true -Dmaven.test.skip=true ## 管理台编译 cd incubator-linkis/linkis-web npm install npm run build
请参考快速安装部署 来部署 Linkis
完整的 Linkis 文档代码存放在linkis-website 仓库中
Meetup 视频 Bilibili
Linkis 基于微服务架构开发,其服务可以分为 3 类:计算治理服务、公共增强服务和微服务治理服务。
下面是 Linkis 的架构概要图. 更多详细架构文档请见 Linkis-Doc/Architecture.
基于 Linkis 计算中间件,我们在大数据平台套件WeDataSphere 中构建了许多应用和工具系统。下面是目前可用的开源项目。
更多项目开源准备中,敬请期待。
我们非常欢迎和期待更多的贡献者参与共建 Linkis, 不论是代码、文档,或是其他能够帮助到社区的贡献形式。
代码和文档相关的贡献请参照贡献指引 .
我们创建了一个 issue [Who is Using Linkis] 以便用户反馈和记录谁在使用 Linkis.
Linkis 自 2019 年开源发布以来,累计已有 700 多家试验企业和 1000+沙盒试验用户,涉及金融、电信、制造、互联网等多个行业。