CREATE TABLE tableName(
colName cloType,
...
PRIMARY KEY(keyInfo),
PERIOD FOR SYSTEM_TIME
)WITH(
type ='cassandra',
address ='ip:port[,ip:port]',
userName='dbUserName',
password='dbPwd',
tableName='tableName',
database='database',
cache ='LRU',
cacheSize ='10000',
cacheTTLMs ='60000',
parallelism ='1',
partitionedJoin='false'
);
cassandra-3.6.x
参数名称 | 含义 |
---|---|
tableName | 注册到flink的表名称(可选填;不填默认和hbase对应的表名称相同) |
colName | 列名称 |
colType | 列类型 colType支持的类型 |
PERIOD FOR SYSTEM_TIME | 关键字表明该定义的表为维表信息 |
PRIMARY KEY(keyInfo) | 维表主键定义;多个列之间用逗号隔开 |
参数名称 | 含义 | 是否必填 | 默认值 |
---|---|---|---|
type | 表明 输出表类型 cassandra | 是 | |
address | 连接cassandra数据库 jdbcUrl | 是 | |
userName | cassandra连接用户名 | 否 | |
password | cassandra连接密码 | 否 | |
tableName | cassandra表名称 | 是 | |
database | cassandra表名称 | 是 | |
cache | 维表缓存策略(NONE/LRU) | 否 | NONE |
partitionedJoin | 是否在維表join之前先根据 設定的key 做一次keyby操作(可以減少维表的数据缓存量) | 否 | false |
maxRequestsPerConnection | 每个连接最多允许64个并发请求 | 否 | NONE |
coreConnectionsPerHost | 和Cassandra集群里的每个机器都至少有2个连接 | 否 | NONE |
maxConnectionsPerHost | 和Cassandra集群里的每个机器都最多有6个连接 | 否 | NONE |
maxQueueSize | Cassandra队列大小 | 否 | NONE |
readTimeoutMillis | Cassandra读超时 | 否 | NONE |
connectTimeoutMillis | Cassandra连接超时 | 否 | NONE |
poolTimeoutMillis | Cassandra线程池超时 | 否 | NONE |
缓存策略
- NONE: 不做内存缓存
- LRU:
- cacheSize: 缓存的条目数量
- cacheTTLMs:缓存的过期时间(ms)
create table sideTable(
CHANNEL varchar,
XCCOUNT int,
PRIMARY KEY(channel),
PERIOD FOR SYSTEM_TIME
)WITH(
type ='cassandra',
address ='172.21.32.1:9042,172.21.32.1:9042',
database ='test',
tableName ='sidetest',
cache ='LRU',
parallelism ='1',
partitionedJoin='false'
);