版本
FineDataLink版本 | 功能变动 |
---|---|
4.1.1 | Greenplum 数据源作为源表,支持 无主键同步 |
4.1.9.3 |
|
使用限制
无论是否配置「并行装载设置」项,在进行数据开发时,要注意大小写规范,最好是统一为大写格式,否则会出现报错;比如在进行数据查询时,将查询内容统一大小写或者将查询内容加引号。
注:针对不同数据库的特性,FineDataLink 屏蔽了不支持的功能入口。详情请参见:不同数据源的功能支持说明
任务开发
配置数据连接
详情请参见:配置Greenplum数据源
数据开发
详情请参见:数据开发概述
数据来源
支持定时任务读取数据库的分区表,如下图所示:
数据去向与映射
定时任务支持选择分区表作为数据去向,如下图所示:
4.1.9.3 及之后的版本,定时任务自动建表支持指定分区和分布键,如下图所示:
注:5.x、6.x 支持范围分区和列表分区;GP7 额外支持哈希分区(不需要指定模数余数),所有分区方式,仅支持一个字段作为分区字段(GPORCA不支持)。
配置方式参见读取、创建、写入分区表,有如下区别:
范围分区和列表分区分区名称支持为空,为空时按照位置自动取名(相当于不指定名称,数据库会自动取名,不需要FDL处理)
范围分区有两种方式来指定范围(支持指定包含或不包含)
1)方式一:起始值和结束值必填,在起始结束值都合法的时候,才支持指定间隔,来自动划分分区,举例:「start (date '2015-01-01') end (date '2020-12-31') every (interval '1 year')」
字段类型为日期时,间隔支持指定年月日
字段类型为数字时,间隔支持指定正整数
2)方式二:单独指定「大于等于XXX」「小于等于XXX」条件
注:方式一和方式二指定的分区允许共存。
支持指定默认分区。
写入方式
定时任务中设置数据输出到 Greenplum 数据库时。「写入方式」界面如下图所示:
「装载方式」介绍如下表所示:
装载方式 | 说明 | |||||||
---|---|---|---|---|---|---|---|---|
并行装载 | 1)gpfdist 默认使用 15500 端口 2)二进制类型字段不支持在勾选「启用并行装载」的时候同步 3)4.1.2 及之后版本,支持写入 JSON 类型字段,但仍不支持写入二进制字段 4)4.1.2 及之后版本,主键冲突策略可选择:主键相同,忽略输入源的数据、主键相同,记录为脏数据、主键相同,覆盖目标表的数据 5)开启 脏数据容忍 后,并行装载方式失败后,需要通过 GPLOAD 内置的错误表逻辑,获取到脏数据信息,正确记录脏数据;如果没有开启脏数据容忍,则节点直接报错 6)以 gpfdist 协议做并行装载,4.1.2 之前版本不支持插入/更新/删除数据写入方式,4.1.2 及之后版本支持该写入方式 7)并行装载在大数据量、大规模集群场景下性能优于 COPY 8)配置数据连接时需按照配置并行装载设置 步骤操作,配置并行装载设置 注:若选择并行装载方式,需要进行权限指定。 | |||||||
COPY装载(4.1.2 版本新增) | 若选择 COPY 装载方式,需要在目标数据库先创建 fdl_temp 模式用来存放临时表,需要用户有建表、建指定模式的权限(如果已由 DBA 建好模式并赋权,数据库用户可不需要建schema的权限) 选择该方式时,支持写入二进制字段、JSON 字段
采用COPY装载方式+普通装载方式时: COPY 装载方式失败后,需要尝试将该批数据使用「普通装载」写入,写入异常将统计进入脏数据,当前这一批数据写完后,下一批继续优先尝试使用 COPY 进行装载 | |||||||
普通装载 | 以 JDBC 做串行装载 1)向 GreenPlum 写入数据时,不建议选择该方式 2)若只从 GreenPlum 读取数据,建议按照不配置并行装载设置步骤配置数据连接 |
定时任务中特殊场景说明:
特殊场景 | 处理策略 |
---|---|
COPY方案装载时,源端待装载的单批数据中,存在 N 条(N>1)主键相同的数据。 一批数据中多条源端数据,更新目标端的一条数据,不知道要用哪条更新,造成装载异常 | 默认取首条数据,如果数据异常,用户可以在前置步骤中手动去重 |
并行装载方案装载时,源端待装载的单批数据中,存在N条(N>1)主键相同的数据。 一批数据中多条源端数据,更新目标端的一条数据,不知道要用哪条更新,造成装载异常 | |
开启了脏数据容忍,COPY失败的时候转 JDBC ,然后装载速率变很慢 | 情况一:如果用户同步的字段中没有二进制字段,可以考虑使用GP并行装载 情况二:如果用户同步的字段中有二进制字段,目前只能接受此问题 |
数据管道
4.1.1 及之后版本,Greenplum 数据源作为源表,支持 无主键同步
数据管道任务中支持写入至 Greenplum 数据库。管道任务配置请参见:数据管道概述
4.1.9.3 及之后的版本,管道任务自动建表支持指定分区和分布键,如下图所示:
数据服务
数据服务支持 Greenplum 数据库,但需要配置「并行装载设置」项。数据服务请参见:数据服务概述
4.1.9.3 及之后的版本,数据服务支持选择分区表作为数据来源,如下图所示: