当前位置: 首页 > news >正文

Apache Linkis 与 OceanBase 集成:实现数据分析速度提升

导语:恭喜 OceanBase 生态全景图中又添一员,Apache Linkis 构建了一个计算中间件层,以促进上层应用程序和底层数据引擎之间的连接、治理和编排。

近日,计算中间件 Apache Linkis 在其新版本中通过数据源功能,支持用户通过 Linkis 去对接使用 OceanBase 数据库。本文主要介绍 Linkis v1.3.2 中 OceanBase 数据库的集成。由于 OceanBase 数据库兼容 MySQL 5.7/8.0 的大部分功能和语法。因此,OceanBase 数据库可以当作 MySQL 使用。

图片

准备工作

1. 环境安装

安装和部署 OceanBase 数据库,请参阅

  • 部署文档

https://www.oceanbase.com/docs/common-oceanbase-database-cn-10000000001687861

  • 一文讲透|如何部署OceanBase社区版

https://open.oceanbase.com/blog/2235967744

2. 环境验证

你可以使用 MySQL 命令来验证 OceanBase 数据库的安装情况。

mysql -h${ip} -P${port} -u${username} -p${password} -D${db_name}

连接成功,如下图所示:

图片

图片

Linkis 提交执行 OceanBase 数据库任务

1. 通过 linkis-cli 提交

sh ./bin/linkis-cli -engineType jdbc-4 -codeType jdbc -code "show tables" -submitUser hadoop -proxyUser hadoop -runtimeMap wds.linkis.jdbc.connect.url=jdbc:mysql://${ip} :${port}/${db_name} -runtimeMap wds.linkis.jdbc.driver=com.mysql.jdbc.Driver -runtimeMap wds.linkis.jdbc.username=${username} -runtimeMap wds.linkis.jdbc.password =${password}

2. 通过 Linkis Java SDK 提交任务

Linkis 提供 Java 和 Scala 的 SDK,用于向 Linkis 服务器提交任务。有关详细信息,请参阅 JAVA SDK Manual 👇

https://linkis.apache.org/docs/latest/user-guide/sdk-manual

对于 OceanBase 任务,用户只需要在 Demo 中修改 EngineConnType 和 CodeType 参数:

​​​​​​​

Map<String, Object> labels = new HashMap<String, Object>(); labels.put (LabelKeyConstant.ENGINE_TYPE_KEY, "jdbc-4"); // required engineType Labellabels.put(LabelKeyConstant.USER_CREATOR_TYPE_KEY, "hadoop-IDE");// required execute user and creator labels.put(LabelKeyConstant.CODE_TYPE_KEY, "jdbc"); // required codeType

3. 多数据源支持

路径:登录管理平台-->数据源管理

第一步:创建新的数据源

图片

图片

第二步:连接测试

单击测试连接按钮进行测试

图片

第三步:发布数据源

图片

图片

第四步:通过指定数据源名称提交 OceanBase 任务

请求 URL:

http://${gateway_url}:${port}/api/rest_j/v1/entrance/submit

方法:POST

请求参数:

​​​​​​​​​​​​​​

{    "executionContent": {        "code": "show databases",        "runType": "jdbc"    },    "params": {        "variable": {},        "configuration": {            "startup": {},            "runtime": {                "wds.linkis.engine.runtime.datasource": "ob-test"            }        }    },    "labels": {        "engineType": "jdbc-4"    }}回应:{  "method": "/api/entrance/submit",  "status": 0,  "message": "OK",  "data": {    "taskID": 93,    "execID": "exec_id018017linkis-cg-entrance000830fb1364:9104IDE_hadoop_jdbc_0"  }}

图片

Linkis 作为中间计算层,使各个上层应用以紧耦合的方式直接连接和访问各种底层引擎如 OceanBase、MySQL 等。实现了统一变量等用户资源的互通,脚本、UDF、函数和资源文件,并通过 REST 标准接口提供数据源和元数据管理服务。

图片

Linkis 强大的连接、重用、编排、扩展和治理能力,通过应用层和引擎层的解耦,以标准化可重用的方式解决了扩展难、应用孤岛、重复造轮子等复杂的连接问题。简化了复杂的网络调用关系,从而降低了整体的复杂度,也节省了开发和维护成本。

http://www.lryc.cn/news/154326.html

相关文章:

  • EXPLAIN概述与字段剖析
  • 基于Java IO 序列化方案的memcached-session-manager多memcached节点配置
  • LinkedList(3):并发异常
  • vue里el-form+el-table实现验证规则的写法
  • K8S 基础概念学习
  • Java之正则表达式的详细解析
  • 移动端的屏幕分辨率与浏览器的视口宽度(视口大小)是两回事儿
  • 分布式 - 服务器Nginx:基础系列之Nginx静态资源优化配置指令sendfile | tcp_nopush | tcp_nodelay
  • Sentinel配置的blockHandler方法不生效
  • Mybatis的三种映射关系以及联表查询
  • 基于串口校时的数字钟设计
  • 支持向量机(二)
  • Arrays.asList 和 null 类型
  • 《论文阅读》用提示和释义模拟对话情绪识别的思维过程 IJCAI 2023
  • 【AI】机器学习——绪论
  • linux 查看端口占用
  • modernC++手撸任意层神经网络22前向传播反向传播梯度下降等23代码补全的例子0901b
  • tkinter控件样式
  • 【linux命令讲解大全】042. 深入了解 which 命令:查找和显示命令的绝对路径
  • 实战项目 在线学院之集成springsecurity的配置以及执行流程
  • 【ARM CoreLink CCI-400 控制器简介】
  • Linux xargs命令继续学习
  • 【广州华锐互动】数字孪生智慧楼宇3D可视化系统:掌握实时运行状态,优化运营管理
  • 20230904工作心得:集合应该如何优雅判空?
  • 使用Python进行健身手表数据分析
  • 什么是malloxx勒索病毒,服务器中malloxx勒索病毒了怎么办?
  • CocosCreator3.8研究笔记(六)CocosCreator 脚本装饰器的理解
  • docker login harbor http login登录
  • day5 qt
  • 【80天学习完《深入理解计算机系统》】第十三天 3.7 缓冲区溢出 attack lab