本文将为您介绍 EasyStream 中如何创建 Kudu 类型流表。
操作步骤
- 在流表管理页面,单击目标逻辑库,表单页面左上角显示对应库名表示切换成功。
- 单击 创建表 按键,进行表创建。
- 选择 数据源类型 为 Kudu。
- 完成剩余表单内容,创建 Kudu 流表。
字段映射类型
KUDU |
Flink 数据类型 |
STRING |
STRING |
BOOL |
BOOLEAN |
INT8 |
TINYINT |
INT16 |
SMALLINT |
INT32 |
INT |
INT64 |
BIGINT |
FLOAT |
FLOAT |
DOUBLE |
DOUBLE |
BYTES |
由于平台暂不支持 BYTES 字段类型,解析时将置为空,需用户自行调整字段类型 |
UNIXTIME_MICROS |
TIMESTAMP(3) |
BINARY |
由于平台暂不支持 BYTES 字段类型,解析时将置为空,需用户自行调整字段类型 |
VARBINARY |
由于平台暂不支持 BYTES 字段类型,解析时将置为空,需用户自行调整字段类型 |
CHAR |
STRING |
VARCHAR |
STRING |
DECIMAL |
由于 KUDU connector 暂不支持此字段类型,故平台解析时将此字段类型置为空,用户需自行配置 |
流表配置
配置名称 |
是否必填 |
配置生效类型 |
参数值字段类型 |
参数默认值 |
参数说明 |
primary.keys |
必填 |
目标表 |
String |
- |
kudu表主键,多个使用逗号分隔 |
update-mode |
可选 |
目标表 |
String |
upsert |
sink 方式,支持的可选项为:append, upsert。 |
admin.operation.timeout.ms |
可选 |
目标表 |
Long |
30000 |
设置 creatTable 等操作的 timeout。 |
operation.timeout.ms |
可选 |
目标表 |
Long |
30000 |
设置sessions等操作的timeout。 |
boss.count |
可选 |
目标表 |
Integer |
1 |
设置最大boss线程数。 |
worker.count |
可选 |
目标表 |
Integer |
- |
设置最大worker线程数。默认:jvm中有效线程数的两倍 |
flush.interval.millis |
可选 |
目标表 |
Integer |
1000 |
每隔多长时间 flush 数据到 kudu |
mutation.buffer.max.ops |
可选 |
目标表 |
Integer |
1000 |
当 buffer 数据量达到多少时 flush 数据到 kudu |
ignore.delete |
可选 |
目标表 |
Boolean |
false |
是否忽略删除操作 |
ignore.delete.not.exist.error |
可选 |
目标表 |
Boolean |
true |
忽略删除不存在数据的异常 |
flush.mode |
可选 |
目标表 |
String |
autoFlushBackground |
flush 方式,支持到可选项为:autoFlushSync, autoFlushBackground。 |
create.table.auto |
可选 |
目标表 |
Boolean |
true |
设置表不存在时自动建表 |
replicas |
可选 |
目标表 |
Integer |
1 |
table 副本数 |
特殊字段规则
数据源 |
主键 |
特殊字段类型 |
Kudu |
可设置多个主键且必须设置主键 |
不支持map、row、array、varbinary、time、date、decimal字段类型;不支持metadata字段 |