【数据管理】Apache Linkis介绍
视频号
微信公众号
知识星球
Linkis在上层应用程序和底层引擎之间构建了一层计算中间件。通过使用Linkis提供的REST/WS/JDBC等标准接口,上层应用程序可以轻松访问MySpark/Hive/Presto/Flink等底层引擎,实现统一变量、脚本、UDF、函数、资源文件等用户资源的互通,并通过REST标准接口提供数据源和元数据管理服务。同时
作为一种计算中间件,Linkis提供了强大的连接、重用、编排、扩展和治理功能。通过将应用层和引擎层解耦,简化了复杂的网络调用关系,从而降低了整体复杂性,并节省了开发和维护成本。
自2019年Linkis首次发布以来,它已经积累了700多家试用公司和1000多个沙盒试用用户,涉及从金融、银行、电信到制造业、互联网公司等多个行业。许多公司已经将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等数据源信息的添加、删除、检查和更改功能,提供版本控制、连接测试,查询相应数据源的元数据信息;
- 错误代码能力:为任务常见错误提供错误代码和解决方案,方便用户自行定位问题;
支持的引擎类型
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中找到更详细的体系结构文档。
基于计算中间件Linkis,我们在大数据平台套件WeDataSphere中构建了许多应用程序和工具。以下是目前可用的开源项目。
- DataSphere Studio-数据应用程序集成与开发框架
- Scriptis-数据开发IDE工具
- Visualis-数据可视化工具
- Schedules-工作流任务调度工具
- Qualitis-数据质量工具
- MLLabis-机器学习笔记本IDE
更多项目即将推出,请继续关注。
- 51 次浏览