本文为您介绍云数据库RDS MySQL维表DDL定义、WITH参数、CACHE参数、类型映射和代码示例。
语法示例
CREATE TABLE rds_dim (
id1 INT,
id2 VARCHAR
) WITH (
'connector' = 'rds',
'password' = '<yourPassword>',
'tableName' = '<yourTablename>',
'url' = '<yourUrl>',
'userName' = '<yourUsername>',
'cache' = 'ALL'
);
WITH参数
参数 |
说明 |
是否必填 |
备注 |
connector |
维表类型 |
是 |
固定值为rds 。
|
password |
密码 |
是 |
无 |
tableName |
表名 |
是 |
无 |
url |
URL地址 |
是 |
云数据库RDS版专有网络VPC地址,即内网地址,详情请参见查看或修改内外网地址和端口。URL的格式为:jdbc:mysql://<内网地址>/<databaseName> ,其中databaseName为对应的数据库名称。
|
userName |
用户名 |
是 |
无 |
maxRetryTimes |
写入数据失败后,重试写入的次数 |
否 |
默认值为3。 |
CACHE |
缓存策略、缓存大小和缓存超时时间 |
否 |
详情请参见CACHE参数。
|
CACHE参数
参数 |
说明 |
是否必填 |
备注 |
cache |
缓存策略 |
否 |
云数据库RDS(DRDS)版维表支持以下三种缓存策略:
说明
- 使用ALL或LRU缓存策略时,必须配置cacheSize参数。
- 如果使用CACHE ALL时,请注意节点内存大小,防止出现OOM。
- 因为系统会异步加载维表数据,所以在使用CACHE ALL时,需要增加维表JOIN节点的内存,增加的内存大小为远程表数据量的两倍。
|
cacheSize |
缓存大小 |
否 |
默认为空,即未配置该参数,当选择LRU或者ALL缓存策略后,必须设置缓存大小。 |
cacheTTLMs |
缓存超时时间,单位为毫秒 |
否 |
当选择LRU 缓存策略后,可以设置缓存失效的超时时间。当选择ALL 策略,则为缓存加载的间隔时间,默认值为10s。
|
类型映射
RDS字段类型 |
Flink字段类型 |
BOOLEAN |
BOOLEAN |
TINYINT |
TINYINT |
SMALLINT |
SMALLINT |
TINYINT UNSIGNED |
SMALLINT |
INT |
INT |
SMALLINT UNSIGNED |
INT |
BIGINT |
BIGINT |
INT UNSIGNED |
BIGINT |
BIGINT UNSIGNED |
DECIMAL(20,0) |
FLOAT |
FLOAT |
DECIMAL |
DECIMAL |
DOUBLE |
DOUBLE |
DATE |
DATE |
TIME |
TIME |
TIMESTAMP |
TIMESTAMP |
VARCHAR |
VARCHAR |
VARBINARY |
VARBINARY |
代码示例
CREATE TEMPORARY TABLE datagen_source(
a INT,
b BIGINT,
c STRING,
`proctime` AS PROCTIME()
) with (
'connector' = 'datagen'
);
CREATE TEMPORARY TABLE rds_dim (
a INT,
b VARCHAR,
c VARCHAR
) with (
'connector' = 'rds',
'password' = '<yourPassword>',
'tableName' = '<yourTablename>',
'url' = 'jdbc:mysql://xxx',
'userName' = '<yourUsername>'
);
CREATE TEMPORARY TABLE blackhole_sink(
a INT,
b STRING
) with (
'connector' = 'blackhole'
);
insert into blackhole_sink select T.a,H.b
FROM datagen_source AS T JOIN rds_dim FOR SYSTEM_TIME AS OF T.`proctime` AS H ON T.a = H.a;
在文档使用中是否遇到以下问题
更多建议
匿名提交