数据开发治理平台 WeData GaussDB 数据源

GaussDB 读取支持的数据类型及转换对应关系如下(在处理 GaussDB 时,会先将 GaussDB 数据源的数据类型和数据处理引擎的数据类型做映射)。

相关产品
数据开发治理平台 WeData 产品页,含版本规格、价格与购买入口。

一、GaussDB 离线单表读取节点配置

参数 说明
数据来源 可用的 GaussDB 数据源。
库 支持选择、或者手动输入需读取的库名称默认将数据源绑定的数据库作为默认库,其他数据库需手动输入库名称。当数据源网络不联通导致无法直接拉取库信息时,可手动输入数据库名称。在数据集成网络连通的情况下,仍可进行数据同步。
Schema 支持选择、或者手动输入需读取的 Schema 名称。
表 支持选择、或者手动输入需读取的表名称。
切割键 指定用于数据分片的字段,指定后将启动并发任务进行数据同步。你可以将源数据表中某一列作为切分键,建议使用主键或有索引的列作为切分键。
筛选条件(选填) 在实际业务场景中,通常会选择当天的数据进行同步,将 where 条件指定为 gmt_create>$bizdate。where 条件可以有效地进行业务增量同步。如果不填写 where 语句,包括不提供 where 的 key 或 value,数据同步均视作同步全量数据。

二、GaussDB 离线单表写入节点配置

参数 说明
数据去向 需要写入的 GaussDB 数据源。
库 支持选择、或者手动输入需写入的库名称默认将数据源绑定的数据库作为默认库,其他数据库需手动输入库名称。当数据源网络不联通导致无法直接拉取库信息时,可手动输入数据库名称。在数据集成网络连通的情况下,仍可进行数据同步。
Schema 支持选择、或者手动输入需读取的 Schema 名称。
表 支持选择、或者手动输入需写入的表名称当数据源网络不联通导致无法直接拉取表信息时,可手动输入表名称。在数据集成网络连通的情况下,仍可进行数据同步。
是否清空表 在写入该 GaussDB 数据表前可以手动选择是否清空该数据表。
批量提交大小 一次性批量提交的记录数大小,该值可以极大减少数据同步系统与 GaussDB 的网络交互次数,并提升整体吞吐量。如果该值设置过大,会导致数据同步运行进程 OOM 异常。
前置 SQL(选填) 执行同步任务之前执行的 SQL 语句,根据数据源类型对应的正确 SQL 语法填写 SQL,例如,执行前清空表中的旧数据(truncate table tablename)。
后置 SQL(选填) 执行同步任务之后执行的 SQL 语句,根据数据源类型对应的正确 SQL 语法填写 SQL,例如,加上某一个时间戳 alter table tablename add colname timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP。

三、读取

GaussDB 数据类型 内部类型
bigint, bigserial, integer, smallint, serial Long
double precision, money, numeric, real Double
varchar, char, text, bit, inet String
date, time, timestamp Date
bool Boolean
bytea Bytes

四、写入

内部类型 GaussDB 数据类型
Long bigint, bigserial, integer, smallint, serial
Double double precision, money, numeric, real
String varchar, char, text, bit
Date date, time, timestamp
Boolean bool
Bytes bytes

五、GaussDB 脚本 Demo

如果你配置离线任务时,使用脚本模式的方式进行配置,你需要在任务脚本中,按照脚本的统一格式要求编写脚本中的 reader 参数和 writer 参数。

"job": { "content": [ { "reader": { "parameter": { "password": "******", "column": [ //列名 "id", "name" ], "connection": [ { "jdbcUrl": [ "jdbc:postgresql://ip:5432/database?reWriteBatchedInserts=true" ], "table": [ //源表 "schema.source_table" ] } ], "where": "id>10", //筛选条件 "splitPk": "id", //切割键 "username": "root" }, "name": "postgresqlreader" }, "transformer": [], "writer": { "parameter": { "postSql": [ //后置sql "" ], "password": "******", "column": [ //列名 "id", "name" ], "connection": [ { "jdbcUrl": "jdbc:postgresql://ip:5432/database?reWriteBatchedInserts=true", "table": [ //目标表 "schema.sink_table" ] } ], "writeMode": "upsert", //写入模式 "batchSize": 1024, //批量提交大小 "username": "root", "on": [ //唯一性索引 "id" ], "preSql": [ //前置sql "" ] }, "name": "postgresqlwriter" } } ], "setting": { "errorLimit": { //脏数据阈值 "record": 0 }, "speed": { "byte": -1, //不限制同步速度,正整数表示设置最大传输速度 byte/s "channel": 1 //并发数量 } }}

赞 (0)
上一篇 4天前
下一篇 4天前