本文介绍如何使用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 ...