Skip to content

Latest commit

 

History

History
124 lines (113 loc) · 3.21 KB

kuduSide.md

File metadata and controls

124 lines (113 loc) · 3.21 KB

1.格式:

All:

create table sideTable(
    id int,
    tablename1 VARCHAR,
    PRIMARY KEY(id),
    PERIOD FOR SYSTEM_TIME
 )WITH(
    type='kudu',
    kuduMasters ='ip1,ip2,ip3',
    tableName ='impala::default.testSide',
    cache ='ALL',
	primaryKey='id,xx',
	lowerBoundPrimaryKey='10,xx',
	upperBoundPrimaryKey='15,xx',
	workerCount='1',
    defaultOperationTimeoutMs='600000',
    defaultSocketReadTimeoutMs='6000000',
    batchSizeBytes='100000000',
    limitNum='1000',
    isFaultTolerant='false',
    partitionedJoin='false'
 );

LRU:

create table sideTable(
    id int,
    tablename1 VARCHAR,
    PRIMARY KEY(id),
    PERIOD FOR SYSTEM_TIME
 )WITH(
    type='kudu',
    kuduMasters ='ip1,ip2,ip3',
    tableName ='impala::default.testSide',
    cache ='LRU',
    workerCount='1',
    defaultOperationTimeoutMs='600000',
    defaultSocketReadTimeoutMs='6000000',
    batchSizeBytes='100000000',
    limitNum='1000',
    isFaultTolerant='false',
    partitionedJoin='false'
 );

2.支持版本

kudu 1.9.0+cdh6.2.0

3.表结构定义

参数名称 含义
tableName 注册到flink的表名称(可选填;不填默认和hbase对应的表名称相同)
colName 列名称
colType 列类型 colType支持的类型
PERIOD FOR SYSTEM_TIME 关键字表明该定义的表为维表信息
PRIMARY KEY(keyInfo) 维表主键定义;多个列之间用逗号隔开

3.参数

参数名称 含义 是否必填 默认值
type 表明维表的类型[hbase|mysql|kudu]
kuduMasters kudu master节点的地址;格式ip[ip,ip2]
tableName kudu 的表名称
workerCount 工作线程数
defaultOperationTimeoutMs scan操作超时时间
defaultSocketReadTimeoutMs socket读取超时时间
primaryKey 需要过滤的主键 ALL模式独有
lowerBoundPrimaryKey 需要过滤的主键的最小值 ALL模式独有
upperBoundPrimaryKey 需要过滤的主键的最大值(不包含) ALL模式独有
batchSizeBytes 返回数据的大小
limitNum 返回数据的条数
isFaultTolerant 查询是否容错 查询失败是否扫描第二个副本 默认false 容错
cache 维表缓存策略(NONE/LRU/ALL) NONE
partitionedJoin 是否在維表join之前先根据 設定的key 做一次keyby操作(可以減少维表的数据缓存量) false

缓存策略

  • NONE: 不做内存缓存
  • LRU:
    • cacheSize: 缓存的条目数量
    • cacheTTLMs:缓存的过期时间(ms)

4.样例

All:

create table sideTable(
    id int,
    tablename1 VARCHAR,
    PRIMARY KEY(id),
    PERIOD FOR SYSTEM_TIME
 )WITH(
    type='kudu',
    kuduMasters ='ip1,ip2,ip3',
    tableName ='impala::default.testSide',
    cache ='ALL',
	primaryKey='id,xx',
	lowerBoundPrimaryKey='10,xx',
	upperBoundPrimaryKey='15,xx',
    partitionedJoin='false'
 );

LRU:

create table sideTable(
    id int,
    tablename1 VARCHAR,
    PRIMARY KEY(id),
    PERIOD FOR SYSTEM_TIME
 )WITH(
    type='kudu',
    kuduMasters ='ip1,ip2,ip3',
    tableName ='impala::default.testSide',
    cache ='LRU',
    partitionedJoin='false'
 );