本文介绍如何使用JDBC数据源进行数据分析或者交互式开发。

建表语法

CREATE TABLE tbName
USING jdbc2
OPTIONS(propertyName=propertyValue[,propertyName=propertyValue]*);

Table Schema

创建JDBC表时,无需显式地定义表的字段信息,示例如下所示。
CREATE DATABASE IF NOT EXISTS default;
USE default;
DROP TABLE IF EXISTS rds_table_test;
CREATE TABLE rds_table_test
USING jdbc2
OPTIONS (
url="jdbc:mysql://rm-bp11*********i7w9.mysql.rds.aliyuncs.com:3306/default?useSSL=true",
driver="com.mysql.jdbc.Driver",
dbtable="test",
user="root",
password="thisisapassword",
batchsize="100",
isolationLevel="NONE");

DESC rds_table_test;
id  int NULL
name  string  NULL
Time taken: 0.413 seconds, Fetched 2 row(s)

配置参数说明

参数 描述 是否必选
url 数据库地址。
driver 数据库连接的JDBC驱动。例如com.mysql.jdbc.Driver”eper.quorum":"a.b.c.d:2181"}
dbtable 数据表名称。
user 连接的用户名。
password 连接的密码。
batchsize 每个批次更新的数据条数。

仅向数据库写入数据时生效。

isolationLevel 事务隔离级别,默认值为READ_UNCOMMITTED。
事务隔离级别详情如下。
事务隔离级别 脏读 不可重复读 幻读
READ_UNCOMMITTED
READ_COMMITTED
REPEATABLE_READ
SERIALIZABLE
NONE

写入数据

当您需要向数据库中写入数据时,可以通过以下命令设置一个关联的SQL Statement来实现。
SET streaming.query.${queryName}.sql=insert into `test` (`id`,`name`) values(?, ?);
SET ...
INSERT INTO rds_table_test SELECT ...