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

Apache Linkis + OceanBase:如何提升数据分析效率

计算中间件 Apache Linkis 构建了一个计算中间件层,以实现上层应用程序和底层数据引擎之间的连接、治理和编排。目前,已经支持通过数据源的功能,实现用户通过Linkis 对接并使用 OceanBase数据库。

本文详细阐述了在 Apache Linkis v1.3.2中,如何集成OceanBase数据库。鉴于OceanBase数据库兼容MySQL 5.7/8.0的众多功能与语法特性,用户在实际操作中可将OceanBase 当做 MySQL来类似应用。

1、  准备工作

1.1 环境安装

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

  • 部署文档(https://www.oceanbase.com/docs/common-oceanbase-database-cn-10000000001687861)
  • 一文讲透|如何部署OceanBase社区版(https://open.oceanbase.com/blog/2235967744)

1.2 环境验证

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

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

连接成功,如下图所示:

1685516605

2. Linkis提交执行OceanBase数据库任务

2.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.2通过Linkis Java SDK提交任务

Linkis提供Java和Scala的SDK,用于向Linkis服务器提交任务。有关详细信息,请参阅JAVA SDK Manual,对于OceanBase任务,用户只需要在Demo中修改EngineConnType和CodeType参数:

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

2.3多数据源支持

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

第一步:创建新的数据源。

1685516783

1685516821

第二步:连接测试。

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

1685516832

第三步:发布数据源。

1685516863

1685516869

第四步:通过指定数据源名称提交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"}
}

1685516924

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

1685517259

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

未来, Linkis计划进一步和OceanBase进行集成,包括Linkis ETL功能支持OceanBase,完成OceanBase和其他数据源的导入导出等,并支持将Linkis的元数据存储到OceanBase。另外,期待更多伙伴加入OceanBase生态共建阵营,我们将向合作伙伴分享开源及公有云的商业机会,欢迎合作!

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

相关文章:

  • Day01-postgresql数据库基础入门培训
  • 打卡第四天 P1081 [NOIP2012 提高组] 开车旅行
  • Jenkins Pipline流水线
  • 鸿蒙harmonyos next flutter混合开发之开发FFI plugin
  • oracle数据库安装和配置
  • 猫玖破密啦
  • SpringBoot框架:服装生产管理的现代化工具
  • Android Preference的使用以及解析
  • HCIP——GRE和MGRE
  • 微信小程序——音乐播放器
  • OceanBase 4.x 部署实践:如何从单机扩展至分布式部署
  • 大数据新视界 --大数据大厂之TeZ 大数据计算框架实战:高效处理大规模数据
  • docker详解介绍+基础操作 (三)
  • 【大语言模型-论文精读】谷歌-BERT:用于语言理解的预训练深度双向Transformers
  • 【Java】集合中单列集合详解(一):Collection与List
  • 【Fine-Tuning】大模型微调理论及方法, PytorchHuggingFace微调实战
  • 清华系“仓颉”来袭:图形起源:用AI颠覆字体设计,推动大模型商业化落地
  • 分布式一致性协议的深度解析:Paxos与Raft
  • ai写作,五款软件助你快速写作!
  • 解决JavaScript 数学运算精度丢失的问题
  • mysql学习教程,从入门到精通,SQL窗口函数(38)
  • gbase8s数据库实现黑白名单的几种方案
  • Qt-窗口布局按钮输入类
  • Apache DolphinScheduler社区9月进展记录
  • 在docker中安装并运行mysql8.0.31
  • C++ | Leetcode C++题解之第458题可怜的小猪
  • 【万字长文】Word2Vec计算详解(三)分层Softmax与负采样
  • 【分布式微服务云原生】探索Dubbo:接口定义语言的多样性与选择
  • SAP将假脱机(Spool requests)内容转换为PDF文档[RSTXPDFT4]
  • DNS能加速游戏吗?