This article mainly introduces the integration of OceanBase database in Linkis
1.3.2 version. OceanBase database is compatible with most functions and syntax of MySQL 5.7/8.0. Therefore, the OceanBase database can be used as MySQL.
1. Preparations
1.1 Environment installation
Install and deploy the OceanBase database, see Quick experience
1.2 Environment Verification
You can use the MySQL command to verify the installation of the OceanBase database.
mysql -h${ip} -P${port} -u${username} -p${password} -D${db_name}
The connection is successful as shown in the figure below:
2. Linkis submits OceanBase database tasks
2.1 Submit tasks through the 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}
2.2 Submit tasks through Linkis SDK
Linkis
provides SDK
of Java
and Scala
to submit tasks to Linkis
server. For details, please refer to JAVA SDK Manual. For OceanBase
tasks, you only need to modify EngineConnType
and CodeType
parameters in Demo
:
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 Multi-data source support
Address: Login Management Platform --> Data Source Management
Step 1: Create a new data source
Step 2: Connection test
Click Test Connect button to test
Step 3: Publish data source
Step 4: Submit the OceanBase task by specifying the data source name
Request URL: http://${gateway_url}:${port}/api/rest_j/v1/entrance/submit
Request
method: POST
Request parameter:
{
"executionContent": {
"code": "show databases",
"runType": "jdbc"
},
"params": {
"variable": {},
"configuration": {
"startup": {},
"runtime": {
"wds.linkis.engine.runtime.datasource": "ob-test"
}
}
},
"labels": {
"engineType": "jdbc-4"
}
}
Response:
{
"method": "/api/entrance/submit",
"status": 0,
"message": "OK",
"data": {
"taskID": 93,
"execID": "exec_id018017linkis-cg-entrance000830fb1364:9104IDE_hadoop_jdbc_0"
}
}