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生态共建阵营,我们将向合作伙伴分享开源及公有云的商业机会,欢迎合作!

相关推荐
程序猿阿伟3 小时前
《探索 Apache Spark MLlib 与 Java 结合的卓越之道》
java·spark-ml·apache
开心工作室_kaic14 小时前
springboot461学生成绩分析和弱项辅助系统设计(论文+源码)_kaic
开发语言·数据库·vue.js·php·apache
cr.sheeper19 小时前
Vulnhub靶场Apache解析漏洞
网络安全·apache
OceanBase数据库官方博客21 小时前
半连接转内连接 | OceanBase SQL 查询改写
sql·oceanbase·分布式数据库
OceanBase数据库官方博客1 天前
解析在OceanBase创建分区的常见问题|OceanBase 用户问题精粹
oceanbase·分布式数据库·分区
OceanBase数据库官方博客1 天前
半连接转内连接规则的原理与代码解析 |OceanBase查询优化
sql·oceanbase·分布式数据库
ccc_9wy2 天前
Apache Solr RCE(CVE-2017-12629)--vulhub
apache·solr·lucene·burp suite·vulhub·远程命令执行漏洞rce·cve-2017-12629
ccc_9wy2 天前
Apache Solr RCE(CVE-2019-0193)--vulhub
网络安全·apache·solr·lucene·vulhub·cve-2019-0193·远程命令执行漏洞rce
casual_clover2 天前
搭建一个简单的Web服务器(Apache2.4)
服务器·apache
李三醒2 天前
Apache Tomcat 漏洞CVE-2024-50379条件竞争文件上传漏洞 servlet readonly spring boot 修复方式
spring boot·tomcat·apache