数据开发治理平台 WeData TDSQL-PostgreSQL 数据源

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

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

一、TDSQL-PostgreSQL 离线单表读取节点配置

参数 说明
数据来源 选择来源端的已配置 TDSQL-PostgreSQL 数据源。
库 支持选择、或者手动输入需读取的库名称 默认将数据源绑定的数据库作为默认库,其他数据库需手动输入库名称。 当数据源网络不联通导致无法直接拉取库信息时,可手动输入数据库名称。在数据集成网络连通的情况下,仍可进行数据同步。
Schema 支持选择、或者手动输入需读取的 Schema 名称。
表 支持选择、或者手动输入需读取的表名称 当数据源网络不联通导致无法直接拉取库信息时,可手动输入表名称。在数据集成网络连通的情况下,仍可进行数据同步。
切割键 指定用于数据分片的字段,指定后将启动并发任务进行数据同步。你可以将源数据表中某一列作为切分键,建议使用主键或有索引的列作为切分键。
筛选条件(选填) 根据数据类型填写对应筛选语句,该语句会作为将要同步数据的筛选条件。

二、TDSQL-PostgreSQL 离线单表写入节点配置

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

三、读取

TDSQL-PostgreSQL 数据类型 内部类型
smallint,integer,bigint,serial,bigserial Long
double precision, money, numeric, real Double
varchar(character varying), char(character) String
date, time, timestamp Date
bool(boolean) Boolean
bytea Bytes

四、写入

内部类型 TDSQL-PostgreSQL 数据类型
Long smallint,integer,bigint
Double double precision,numeric, real
String varchar(character varying), char(character),bit,money
Date date, time, timestamp
Boolean bool
Bytes bytea

五、TDSQL-PostgreSQL 脚本 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)
上一篇 5天前
下一篇 5天前