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数据库,请参阅

1.2 环境验证

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

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

连接成功,如下图所示:

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多数据源支持

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

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

第二步:连接测试。

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

第三步:发布数据源。

第四步:通过指定数据源名称提交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 强大的连接、重用、编排、扩展和治理能力,通过应用层和引擎层的解耦,以标准化可重用的方式解决了扩展难、应用孤岛、重复造轮子等复杂的连接问题。简化了复杂的网络调用关系,从而降低了整体的复杂度,也节省了开发和维护成本。

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

相关推荐
Fireworkitte9 小时前
Apache POI 详解 - Java 操作 Excel/Word/PPT
java·apache·excel
蚂蚁数据AntData14 小时前
从性能优化赛到社区Committer,走进赵宇捷在Apache Fory的成长之路
大数据·开源·apache·数据库架构
小湘西14 小时前
Apache HttpClient 的请求模型和 I/O 类型
java·http·apache
超级小忍11 天前
Spring Boot 集成 Apache Kafka 实战指南
spring boot·kafka·apache
漫步者TZ11 天前
【StarRocks系列】建表优化
starrocks·分布式数据库
.Eyes12 天前
OBCP第二章 OceanBase 存储引擎高级技术学习笔记
笔记·学习·oceanbase
漫步者TZ13 天前
【StarRocks系列】StarRocks vs Mysql
数据库·starrocks·mysql·分布式数据库
天上掉下来个程小白13 天前
Apache ECharts-02.入门案例
前端·spring boot·apache·echarts·苍穹外卖
SelectDB技术团队13 天前
Apache Doris 3.0.6 版本正式发布
大数据·数据分析·apache·实时分析·极速分析