近日,WeDataSphere和Apache Linkis (Incubating)社区举办了2022年第一场 Meetup。
本次活动邀请了Linkis PPMC 邸帅 和 Linkis Contributor 张延召,给大家带来《Linkis 1.0.3 新版本特性介绍》和《基于Linkis的企业大数据平台改造之路》的分享。
《Linkis 1.0.3 新版本特性介绍》
邸帅 Linkis PPMC / 微众银行大数据平台负责人
1、Linkis的介绍
-
Linkis 在上层应用程序和底层引擎之间构建了一层计算中间件,以标准化可重用的方式解决“计算治理”问题,提供了强大的连通、管控、编排、扩展和复用能力。
-
通过使用Linkis 提供的REST/WebSocket/JDBC 等标准接口,上层应用可以方便地连接访问MySQL/Spark/Hive/Presto/Flink等底层引擎,同时实现了变量、 函数、脚本文件等用户资源的跨上层应用横向互通。
-
通过将上层应用和底层引擎解耦,Linkis 简化了数据平台复杂的网状调用关系,降低了整体复杂度,节约了开发和运维成本,让数据平台变得更加灵活柔性可控。
开源项目地址:
-
Github:https://github.com/apache/incubator-Linkis
-
Gitee:https://gitee.com/WeBank/Linkis
2、Linkis 1.0.3的新特性
Apache Linkis(incubating) 1.0.3 包含所有 Project Linkis-1.0.3。
该版本是Linkis进入Apache孵化的第一个版本。主要完成ASF基础设施建设,包括License完善/包名修改等,增加EngineConn对Operator的支持等功能,修复社区反馈的1.0.2版本中的bug。
添加了以下主要功能:
-
http restful api风格使用springmvc替换jersey
-
用 fastxml json 替换 codehaus json
-
支持 EngineConn/OnceEngineConn 通用operator
-
支持使用kerberos代理用户
更多详情见公众号推文:
Apache Linkis(incubating) 1.0.3 版本发布
3、Linkis后续版本规划
4、Linkis 生态 WeDataSphere 其他组件适配版本计划
《基于Linkis的企业大数据平台改造之路》
张延召 Linkis Contributor / 大数据开发工程师
1、郎数大数据平台介绍
郎数大数据平台,是自研的企业级大数据平台产品,旨在助力企业实现开发便捷化、数据资产化。其作为上层应用,将工作流调度任务提交至DolphinScheduler,临时任务直接提交至Linkis,也可以实现解析任务参数,将实时任务直接提交至Linkis。
2、为何要引入 Linkis
随着业务发展,系统模块越来越多,依赖繁杂,部署包庞大,导致部署耗时长。在运行数据分析时,容易出错会干扰其它任务,造成内存溢出,影响到整个应用,使服务稳定性降低。并且,上层应用和底层引擎的连接中,需要维护各个组件的连接、执行、状态管理等,代码日渐复杂,也不易扩展。经过调研, 发现 Linkis 的设计思路和核心特性是一个很好的解决方案 。
Linkis 作为上层应用和底层引擎之间的计算中间件,将应用层和引擎层解耦,简化了复杂的调用关系,降低了整体复杂度,有效节约了整体开发和维护成本。另外,在 Linkis 的统一入口、稳定性和丰富的计算存储引擎的加持下,能够有效的帮助我们解决上述业务痛点。
3、DolphinScheduler On Linkis 实践
工作流
上图是引入 Linkis的整体思想,在上层应用、实时&临时查询的任务,我们会把它直接去提交到Linkis去连接底层的集群,进行任务执行。
工作流和定时调度类的任务,通过 DolphinScheduler 来执行。
在任务新增方面,为了避免在 DolphinSchedule 和Linkis两边同时要做支持,我们将具体去执行任务的操作都交给 Linkis 来统一完成, DolphinSchedule只进行工作流的配置调度,并把它拆分后的任务封装成 SubmittableInteractiveJob,作为 Linkis的任务,提交到 linki 统一进行作业的运行。
详细解读参见讲稿和视频回放
在安装测试方面,在所难免的遇到了点小问题,在此分享给大家,作为借鉴。
权限问题 :出现Error: Could not find or load main class com.webank.wedatasphere.Linkis.engineconn.launch.EngineConnServer的报错, 排查后发现是由于无法读取配置文件、权限不足或无法加载主类等报错,导致引擎无法启动。在开启了wds.Linkis.storage.enable.io.proxy 代理配置和引擎初始化对 ENGINECONN_ROOT_DIR 目录递归授权后得到了解决。
JDBC引擎支持ClickHouse :无明显报错,任务一直处于运行状态;在JDBC引擎中手动引入依赖,排除冲突的依赖,使其支持ClickHouse数据源之后问题得到解决。
在未来我们会继续优化Linkis在业务系统中的应用,也期待和大家交流经验。
参与社区贡献的方式
(1)新手任务:认领入门任务,详见https://github.com/apache/incubator-Linkis/issues/1161
(2)作品沉淀:发布WeDataSphere开源组建相关内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。如:
(3)贡献代码:PR和Issue;
(4)答疑:热心为开发者答疑,如社区群回答开发者问题、issue答疑等;
(5)其他:沙箱体验、参与活动、成为社区志愿者等;