本文为您介绍Table Store(OTS) Writer支持的数据类型、写入方式、字段映射和数据源等参数及配置示例。
表格存储(Table Store)是构建在阿里云飞天分布式系统之上的NoSQL数据库服务,提供海量结构化数据的存储和实时访问。Table Store以实例和表的形式组织数据,通过数据分片和负载均衡技术,实现规模上的无缝扩展。
Table Store Writer通过Table Store官方Java SDK连接到Table Store服务端,并通过SDK写入Table Store服务端 。Table Store Writer本身对于写入过程进行诸多优化,包括写入超时重试、异常写入重试、批量提交等功能。
类型分类 | Table Store数据类型 |
---|---|
整数类 | INTEGER |
浮点类 | DOUBLE |
字符串类 | STRING |
布尔类 | BOOLEAN |
二进制类 | BINARY |
注意事项
OTS列由主键列primaryKey+普通列column组成,源端列顺序需要和OTS目的端主键列+普通列保持一致,否则会产生列映射错误。
参数说明
参数 | 描述 | 是否必选 | 默认值 |
---|---|---|---|
datasource | 数据源名称,脚本模式支持添加数据源,该配置项填写的内容必须与添加的数据源名称保持一致。 | 是 | 无 |
endPoint | Table Store Server的服务地址。 | 是 | 无 |
accessId | Table Store的AccessKey ID。 | 是 | 无 |
accessKey | Table Store的AccessKey Secret。 | 是 | 无 |
instanceName | Table Store的实例名称。
实例是您使用和管理Table Store服务的实体。开通Table Store服务后,需要通过管理控制台创建实例后,在实例内进行表的创建和管理。实例是Table Store资源管理的基础单元,Table Store对应用程序的访问控制和资源计量都在实例级别完成。 |
是 | 无 |
table | 所选取的需要抽取的表名称,此处能且只能填写一张表。在Table Store中不存在多表同步的需求。 | 是 | 无 |
primaryKey | Table Store的主键信息,使用JSON的数组描述字段信息。Table Store本身是NoSQL系统,在Table Store Writer导入数据过程中,必须指定相应的字段名称。
数据同步系统本身支持类型转换的,因此对于源头数据非STRING/INT,Table Store Writer会进行数据类型转换。配置示例如下。
说明
|
是 | 无 |
column | 所配置的表中需要同步的列名集合,使用JSON的数组描述字段信息。
使用格式为:
其中的name为写入的Table Store列名称,type为写入的类型。Table Store类型支持STRING、INT、DOUBLE、BOOL和BINARY类型。
说明
primaryKey参数与column参数配置的列名称不能重复。 |
是 | 无 |
writeMode |
writeMode表示数据写入表格存储的格式,目前支持以下两种模式:
|
是 | 无 |
requestTotalSizeLimitation | 该配置限制写入Table Store时单行数据的大小,配置类型为数字。 | 否 | 1MB |
attributeColumnSizeLimitation | 该配置限制写入Table Store时单个属性列的大小,配置类型为数字。 | 否 | 2MB |
primaryKeyColumnSizeLimitation | 该配置限制写入Table Store时单个主键列的大小,配置类型为数字。 | 否 | 1KB |
attributeColumnMaxCount | 该配置限制写入Table Store时属性列的个数,配置类型为数字。 | 否 | 1,024 |
脚本开发介绍
{
"type":"job",
"version":"2.0",//版本号。
"steps":[
{
"stepType":"stream",
"parameter":{},
"name":"Reader",
"category":"reader"
},
{
"stepType":"ots",//插件名。
"parameter":{
"datasource":"",//数据源。
"column":[//字段。
{
"name":"columnName1",//字段名。
"type":"INT"//数据类型。
},
{
"name":"columnName2",
"type":"STRING"
},
{
"name":"columnName3",
"type":"DOUBLE"
},
{
"name":"columnName4",
"type":"BOOL"
},
{
"name":"columnName5",
"type":"BINARY"
}
],
"writeMode":"",//写入模式。
"table":"",//表名。
"primaryKey":[//Table Store的主键信息。
{
"name":"pk1",
"type":"STRING"
},
{
"name":"pk2",
"type":"INT"
}
]
},
"name":"Writer",
"category":"writer"
}
],
"setting":{
"errorLimit":{
"record":"0"//错误记录数。
},
"speed":{
"throttle":true,//当throttle值为false时,mbps参数不生效,表示不限流;当throttle值为true时,表示限流。
"concurrent":1, //作业并发数。
"mbps":"12"//限流
}
},
"order":{
"hops":[
{
"from":"Reader",
"to":"Writer"
}
]
}
}