DataWorks数据集成支持使用SelectDB Writer导入表数据至SelectDB。本文为您介绍DataWorks的SelectDB数据同步能力支持情况。
支持的SelectDB版本
SelectDB Writer使用的驱动版本是MySQL Driver5.1.47,驱动能力详情请参见MySQL Connectors。该驱动支持情况如下:
标准SelectDB版本为:2.2.31、2.2.22。
阿里云SelectDB版本为:2.4和3.0。
使用限制
数据集成仅支持离线写入SelectDB。
不支持写入BITMAP,HLL(HyperLogLog)、QUANTILE_STATE类型的字段。
支持的字段类型
各版本SelectDB的全量字段类型请参见SelectDB官方文档。下面以SelectDB 2.2.22为例,为您介绍SelectDB支持的字段类型。
SelectDB字段类型 | 离线写入(SelectDB Writer) |
SelectDB字段类型 | 离线写入(SelectDB Writer) |
INT | 支持 |
BIGINT | 支持 |
LARGEINT | 支持 |
SMALLINT | 支持 |
TINYINT | 支持 |
BOOLEAN | 支持 |
DECIMAL | 支持 |
DOUBLE | 支持 |
FLOAT | 支持 |
CHAR | 支持 |
VARCHAR | 支持 |
STRING | 支持 |
DATE | 支持 |
DATEV2 | 支持 |
DATETIME | 支持 |
DATETIMEV2 | 支持 |
ARRAY | 支持 |
JSONB | 支持 |
BITMATP | 不支持 |
HLL(HyperLogLog) | 不支持 |
QUANTILE_STATE | 不支持 |
数据同步前准备
在DataWorks上进行数据同步前,您需要参考本文提前在SelectDB侧进行数据同步环境准备,以便在DataWorks上进行SelectDB数据同步任务配置与执行时服务正常。以下为您介绍SelectDB同步前的相关环境准备。
准备工作1:确认SelectDB的版本
数据集成对SelectDB版本有要求,详情请参见支持的SelectDB版本,您可以在SelectDB控制台查看当前待同步的SelectDB是否符合版本要求。
截图仅为参考,请以SelectDB最新界面为准。
准备工作2:创建账号,并配置账号权限
建议您提前规划并创建一个专用于DataWorks访问数据源的SelectDB账号,如果您需要使用SelectDB数据仓库默认的admin用户进行登录,那么您需要为admin用户设置密码,如下图所示。
准备工作3:配置SelectDB的网络连接
SelectDB具有私网连接和公网连接两种模式,数据集成允许您通过私网或公网连接到SelectDB。
创建数据源
在进行数据同步任务开发时,您需要在DataWorks上创建一个对应的数据源,操作流程请参见创建并管理数据源,详细的配置参数解释可在配置界面查看对应参数的文案提示。
下面对SelectDB数据源的几个配置项进行说明:
MySQL连接地址:请填写JDBC连接串您可以直接从SelectDB控制台的
中复制JDBC连接串,支持公网IP和私网IP。HTTP连接地址:请填写HTTP协议访问地址。您可以直接从SelectDB控制台的
中复制HTTP协议访问地址,支持公网IP和私网IP。用户名:请填写SelectDB数据仓库的用户名。
密码:请填写SelectDB数据仓库对应用户的密码。
数据同步任务开发
数据同步任务的配置入口和通用配置流程可参见下文的配置指导。
单表离线同步任务配置指导
操作流程请参见通过向导模式配置离线同步任务、通过脚本模式配置离线同步任务。
脚本模式配置的全量参数和脚本Demo请参见下文的附录:SelectDB脚本Demo与参数说明。
附录:SelectDB脚本Demo与参数说明
离线任务脚本配置方式
如果您配置离线任务时使用脚本模式的方式进行配置,您需要按照统一的脚本格式要求,在任务脚本中编写相应的参数,详情请参见通过脚本模式配置离线同步任务,以下为您介绍脚本模式下数据源的参数配置详情。
Writer脚本Demo
{
"stepType": "selectdb",//插件名。
"parameter":
{
"postSql"://执行数据同步任务之后率先执行的SQL语句。
[],
"preSql":
[],//执行数据同步任务之前率先执行的SQL语句。
"datasource":"selectdb_datasource",//数据源名。
"table": "selectdb_table_name",//表名。
"column":
[
"id",
"table_id",
"table_no",
"table_name",
"table_status"
],
"loadProps":{
"format":"csv",//指定为csv格式
"column_separator": "\\x01",//指定列分隔符
"line_delimiter": "\\x02"//指定行分隔符
}
},
"name": "Writer",
"category": "writer"
}
Writer脚本参数
参数 | 描述 | 是否必选 | 默认值 |
参数 | 描述 | 是否必选 | 默认值 |
datasource | 数据源名称,脚本模式支持添加数据源,此配置项填写的内容必须与添加的数据源名称保持一致。 | 是 | 无 |
table | 选取的需要同步的表名称。 | 是 | 无 |
column | 目标表需要写入数据的字段,字段之间用英文逗号分隔。例如 | 是 | 无 |
preSql | 执行数据同步任务之前,需率先执行的SQL语句。目前向导模式仅允许执行一条SQL语句,脚本模式可以支持多条SQL语句,例如,执行前清空表中的旧数据。 | 否 | 无 |
postSql | 执行数据同步任务之后执行的SQL语句。目前向导模式仅允许执行一条SQL语句,脚本模式可以支持多条SQL语句,例如,加上某个时间戳。 | 否 | 无 |
maxBatchRows | 每批次导入数据的最大行数和batchSize共同控制每批次的导入数量。每批次数据达到两个阈值之一,即开始导入这一批次的数据。 | 否 | 500000 |
batchSize | 每批次导入数据的最大数据量和maxBatchRows共同控制每批次的导入数量。每批次数据达到两个阈值之一,即开始导入这一批次的数据。 | 否 | 94371840 |
maxRetries | 每批次导入数据失败后的重试次数。 | 否 | 3 |
labelPrefix | 每批次上传文件的label前缀。最终的label将由 | 否 | datax_selectdb_writer_ |
loadProps | COPY INOT的请求参数,主要用于配置导入的数据格式。默认采用JSON格式导入。如果loadProps没有配置,或者配置为
如果您需要指定为csv格式导入,则可以按照如下方式指定为csv格式,并配置行、列分隔符。如果您没有指定行、列分隔符,则默认传入的数据均会被转为字符串,并以
| 否 | 无 |
clusterName | SelectDB Cloud集群名称,您可以在SelectDB控制台查看。 | 否 | 无 |
flushInterval | 数据写入批次的时间间隔(单位:ms),如果maxBatchRows和batchSize参数设置得很大,则可能还未达到设置的数据量大小,系统就会根据写入的时间间隔执行数据导入。 | 否 | 30000 |
- 本页导读 (1)
- 支持的SelectDB版本
- 使用限制
- 支持的字段类型
- 数据同步前准备
- 准备工作1:确认SelectDB的版本
- 准备工作2:创建账号,并配置账号权限
- 准备工作3:配置SelectDB的网络连接
- 创建数据源
- 数据同步任务开发
- 单表离线同步任务配置指导
- 附录:SelectDB脚本Demo与参数说明
- 离线任务脚本配置方式
- Writer脚本Demo
- Writer脚本参数