本文为您介绍表格存储Tablestore结果表的DDL定义、WITH参数和映射关系。

什么是表格存储Tablestore

表格存储Tablestore是基于阿里云飞天分布式系统的分布式NoSQL数据存储服务。表格存储通过数据分片和负载均衡技术,实现数据规模与访问并发的无缝扩展,提供海量结构化数据的存储和实时访问服务。Flink支持将Tablestore作为流式数据的输出。

DDL定义

CREATE TABLE ots_sink (
    name VARCHAR,
    age BIGINT,
    birthday BIGINT,
    primary key(name,age) not enforced
) WITH (
    'connector'='ots',
    'instanceName'='<yourInstanceName>',
    'tableName'='<yourTableName>',
    'accessId'='<yourAccessId>',
    'accessKey'='<yourAccessSecret>',
    'endPoint'='<yourEndpoint>',
    'valueColumns'='birthday'
); 
说明 Tablestore结果表必须定义有Primary Key,输出数据以Update方式追加Tablestore表。Update方式说明请参见Update类型

WITH参数

参数 说明 是否必填 备注
connector 结果表类型 固定值为ots
instanceName 实例名
tableName 表名
endPoint 实例访问地址 参见服务地址
accessId AccessKey ID
accessKey AccessKey Secret
valueColumns 指定插入的字段列名 多个字段以英文逗号(,)分割,例如ID,NAME
bufferSize 流入多少条数据后开始输出 默认值为5000,表示输入的数据达到5000条就开始输出。
batchWriteTimeoutMs 写入超时的时间 单位为毫秒,默认值为5000。表示如果缓存中的数据在等待5秒后,依然没有达到输出条件,系统会自动输出缓存中的所有数据。
batchSize 一次批量写入的条数 默认值为100。
retryIntervalMs 重试间隔时间 单位为毫秒,默认值为1000。
maxRetryTimes 最大重试次数 默认值为10。
ignoreDelete 是否忽略DELETE操作 默认值为False。
connectTimeout Connector连接Tablestore的超时时间 单位毫秒,默认值为30000(30秒)。
socketTimeout Connector连接Tablestore的Socket超时时间 单位毫秒,默认值为30000(30秒)。

类型映射

Tablestore字段类型 Flink字段类型
INTEGER BIGINT
STRING STRING
BOOLEAN BOOLEAN
DOUBLE DOUBLE