---
title: "Linkis 集成 OceanBase 数据库 - OceanBase 数据库 V4.3.2 | OceanBase 文档中心"
description: Linkis 集成 OceanBase 数据库 Linkis 是一个开源的分布式计算中间件，提供统一的计算资源管理、任务调度和执行服务。Linkis 创建了一个中间层，允许不同的数据处理应用程序（如 Apache Spark、Hadoop 和 TensorFlow 等）与数据存储和计算资源交互。 Linkis V3.…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.3.2

# Linkis 集成 OceanBase 数据库

更新时间：2024-10-10 21:40:45

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.3.2/zh-CN/680.ecological-integration/600.orchestration/1400.linkis.md)  

Linkis 是一个开源的分布式计算中间件，提供统一的计算资源管理、任务调度和执行服务。Linkis 创建了一个中间层，允许不同的数据处理应用程序（如 Apache Spark、Hadoop 和 TensorFlow 等）与数据存储和计算资源交互。

Linkis V3.1.2 支持 OceanBase 数据库。本文介绍如何在 Linkis 创建 OceanBase 数据库任务。 OceanBase 数据库兼容 MySQL 5.7 的绝大部分功能和语法。因此您可以将 OceanBase 数据库当成 MySQL 使用。

## 前提条件

在集成 OceanBase 数据库之前，确认以下信息：

- 您已安装并部署 OceanBase 数据库。更多信息，参考 [快速体验 OceanBase 数据库](https://www.oceanbase.com/docs/community-observer-cn-10000000000901197)。
 - 安装并部署 Linkis。 更多信息，参考 [Linkis 部署指南](https://linkis.apache.org/zh-CN/docs/1.3.2/deployment/deploy-quick)。

## 通过 shell 提交任务

```shell
 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}

```

### 通过 Linkis SDK 提交任务

`Linkis` 提供了 `Java` 和 `Scala` 的 `SDK` 向 `Linkis` 服务端提交任务。更多信息，参考 [JAVA SDK 操作文档](https://linkis.apache.org/zh-CN/docs/latest/user-guide/sdk-manual)。对于 `OceanBase` 任务您只需要修改 `Demo` 中的 `EngineConnType` 和 `CodeType` 参数即可：

```java
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

```

## 通过 Linkis 控制台 OceanBase 提交任务

### 添加 OceanBase 数据源

1. 登录 Linkis 控制台。
 2. 在左侧导航栏，单击 **数据源管理**。
 3. 在 **数据源管理** 页面，单击右上角的 **新增数据源**。
 4. 在 **新建数据源** 对话框，选择 **数据源类型** 为 **MySQL**。
 5. 配置各项参数。

   | 参数 | 描述 |
   | --- | --- |
   | 数据源名称 | 数据源标识 |
   | Host | OceanBase 数据库宿主机的 IP |
   | 端口 | OceanBase 数据库宿主机 IP 的端口号 |
   | 用户名 | OceanBase 数据库的用户名称 |
   | 密码 | OceanBase 数据库用户的密码 |
 6. 单击 **测试连接**，验证 Linkis 和数据库的网络连接，以及用户名和密码的有效性。
 7. 测试连接通过后，单击 **完成**。
 8. 发布数据源。

   在 **数据源管理** 页面，单击 OceanBase 数据源 **版本**，在 **编辑版本列表** 弹窗，点击 **发布**。

### 提交 OceanBase 任务

通过指定数据源名称提交 OceanBase 任务

请求URL：`http://${gateway_url}:${port}/api/rest_j/v1/entrance/submit`

请求方式：POST

请求参数：

```json
{
    "executionContent": {
        "code": "show databases",
        "runType": "jdbc"
    },
    "params": {
        "variable": {},
        "configuration": {
            "startup": {},
            "runtime": {
                "wds.linkis.engine.runtime.datasource": "ob-test"
            }
        }
    },
    "labels": {
        "engineType": "jdbc-4"
    }
}

```

响应结果：

```json
{
    "method": "/api/entrance/submit",
    "status": 0,
    "message": "OK",
    "data": {
        "taskID": 93,
        "execID": "exec_id018017linkis-cg-entrance000830fb1364:9104IDE_hadoop_jdbc_0"
    }
}

```

## 参考

更多信息，参考以下文档：

- [Linkis 1.3.2 整合 OceanBase](https://linkis.apache.org/zh-CN/blog/2023/03/08/-linkis-integration-with-oceanbase/)
 - [Linkis 数据源](https://linkis.apache.org/zh-CN/docs/1.3.2/user-guide/datasource-manual)

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
