数据治理中心 DATAARTS STUDIO-源端为PostgreSQL,目的端为DWS:分库分表场景
分库分表场景
对于不同库上表可以聚合为一个表,同步时会被统一写入一个目标表中,匹配的分库分表需要保证结构的一致性。
- 源端配置。
图4 添加逻辑表
已添加的逻辑表支持预览,单击操作列的预览即可。
预览逻辑表,源表数量越多,等待时间可能越长,需要几分钟到几十分钟不等。
图5 逻辑表预览
- 目标端配置。
- 源库表和目标匹配策略:
- 目标端库名:自定义目标端库名。
- 表匹配策略:默认为与源端逻辑表同名,不可更改。
- 写入模式:选择数据写入模式。
- 批写最大数据量:根据表数据大小和作业内存使用,适当调整,数据范围1-10000000。
- 定时批写时间间隔:数据定时入库的间隔时间,时间1-1000, 单位为秒。
- 高级配置:通过设置以下参数配置数据写入的高级属性。
- sink.buffer-flush.max-size:根据作业配置内存和数据大小设置批写最大内存,单位:Mb。
- sink.case-sensitive: 是否对字段大小写字母敏感,可选:true/false,当写入模式为COPY MODE,主键名称含大写字母时,需要设置为true。
- 源表与目标表映射:
图6 配置源表与目标表映射
- 附加字段编辑:单击操作列“附加字段编辑”可为迁移后的DWS表中增加自定义字段,附加字段会成为一个新的字段加入到DWS表的建表中。
表2 附加字段值支持情况 类型
示例
常量
-
内置变量
- 源端host ip地址:source.host
- 源端schema名称:mgr.source.schema
- 源端table名称:mgr.source.table
- 目的端schema名称:mgr.target.schema
- 目的端table名称:mgr.target.table
字段变量
-
udf方法
- substring(#col, pos[, len]): 截取源端col列的子串, 范围在[pos, pos+len)。
- date_format(#col, time_format[, src_tz, dst_tz]): 将源端col列按time_format格式化, 可选转换时区。
- now([tz]): 获取指定时区的当前时间。
- if(cond_exp, str1, str2): 满足条件表达式cond_exp时返回str1, 否则返回str2。
- concat(#col[, #str, ...]): 拼接多个参数, 可为源端列或字符串。
- from_unixtime(#col[, time_format]): 将unix时间戳按time_format格式化。
- unix_timestamp(#col[, precision, time_format]): 将时间转成unix时间戳, 可显式定义时间格式及转换后精度。
对于新建的表,用户可以在已有的源表字段基础上添加附加字段,可以自定义字段名(如custom_defined_col)、选择字段类型、填写字段值。
用户可同时添加多个附加字段。
- 自动建表:单击“自动建表”为列表中的表按照已配置规则自动建表。成功后表建立方式会显示为使用已有表。
- 附加字段编辑:单击操作列“附加字段编辑”可为迁移后的DWS表中增加自定义字段,附加字段会成为一个新的字段加入到DWS表的建表中。
- 源库表和目标匹配策略: