kettle增量同步mysql到greenplum

如果greenplum表中还没有数据,那么需要先进行一次全量同步。

前提,源表和目标表都要有可区分记录新旧的子段,比如自增id,时间戳等,建议用时间戳,id总有爆的一天。

1.新建转换,ctrl+s设置名字为set_variable(用于存放目标数据库表中最新的时间或id)。

切换到主对象树,新建DB连接,连接greenplum数据库,连接类型选择PostgreSql(greenplum底层是PostgreSql)。

切换到核心对象,找到“输入”,新建“表输入”,编辑步骤,填写数据库连接,sql语句为  select 用于区分记录新旧的字段名 from 表名 order by 用于区分记录新旧的字段名 desc limit 1  (举例:select insert_time from acd_filehuman order by insert_time desc limit 1)  。

点击预览,看能不能查出一个值,然后点击确定。

在核心对象中,找到“作业”,新建“设置变量”,按住shirt键,点击“表输入”到“设置变量”建立连接。

编辑“设置变量”,点击“获取子段”,填写变量名,点击“确定”。ctrl+s保存。

2.新建转换,ctrl+s设置名字为mysql_to_gp(用于正式同步数据)

切换到主对象树,建立到mysql的连接,建立到greenplum的连接(同上),编辑greenplum的连接,点击选项,添加命名参数:characterEncoding,值:utf8,点击确认,避免同步到greenplum的数据出现中文乱码。

切换到核心对象,新建“表输入”和“表输出”,连接他们

编辑“表输入”,数据库连接选择mysql的连接,点击“获取sql查询语句”,弹出框选择则“否”,在sql后面添加查询条件(只查新数据),添加的语句为 where 用于区分记录新旧的字段名 > '${前面设置的变量名}' (举例:where INSERT_TIME > '${gp_insert_time}'),注意不要把单引号丢了,点击确定。

编辑“表输出”,数据库连接选择到greenplum的连接,选择要输出到的表,提交记录数量默认1000即可,太小会同步很慢,太大可能会爆jvm内存。选中“指定数据库子段”,点击下边“数据库子段”,点击“获取子段”,点击“确定”。

3.点击左上角:文件-新建-作业。找到:核心对象-通用。新建一个“START”,两个“转换”,一个“成功”,依次连接他们。

编辑第一个“转换”,点击“浏览”,找到set_variable文件,点击确定。

编辑第一个“转换”,点击“浏览”,找到mysql_to_gp文件,点击确定。

OK

可以运行这个作业同步数据了。

Greenplum 集群之间同步数据方法及性能.....................................................................................1 1 概述.................................................................................................................................................2 2 相同集群相同数据库不同 SCHEMA 之间同步数据....................................................................2 2.1 查看原始表的大小行数与结构......................................................................................... 2 2.2 同步语句..............................................................................................................................2 2.3 查看 cpu 与内存的使用情况..............................................................................................3 2.3.1 查看 Master CPU 与内存使用情况.........................................................................3 2.3.2 查看数据节点的 CPU 使用情况..............................................................................3 2.3.3 查看数据节点的内存与磁盘使用情况..................................................................6 2.4 查看耗时与表的大小..........................................................................................................7 3 相同集群不同数据库之间同步数据.............................................................................................8 3.1 使用 pg_dum 方式同步数据..............................................................................................8 3.1.1 查看原始表的信息...................................................................................................8 3.1.2 把数据下载到磁盘...................................................................................................9 3.1.2.1 下载数据语句............................................................................................... 9 3.1.2.2 查看 Master 节点详细信息.........................................................................9 3.1.3 把数据导入到数据库中........................................................................................ 10 3.1.3.1 导入数据库语句......................................................................................... 10 3.1.3.2 查看 Master 节点的详细信息...................................................................11 3.1.3.3 查看数据节点的详细信息.........................................................................11 3.1.4 验证数据的准确性................................................................................................ 13 3.1.5 pg_dump 同步数据总结........................................................................................13 3.2 使用 dblink 同步数据........................................................................................................13 3.2.1 dblink 同步相同集群不同数据库的数据.............................................................13 3.2.1.1 同步语句......................................................................................................13 3.2.1.2 查看 Master 节点的详细信息...................................................................15 3.2.1.3 查看数据节点的详细信息.........................................................................15 3.2.2 验证数据的准确性................................................................................................ 17 3.2.3 dblink 使用总结......................................................................................................17 3.3 使用 gptransfer 同步数据.................................................................................................17 3.3.1 gptransfer 介绍.......................................................................................................17 3.3.2 gptransfer 命令参数介绍.......................................................................................18 3.3.3 查看集群及硬件信息............................................................................................ 19 3.3.4 同集群之间同步数据............................................................................................ 19 3.3.4.1 查看表的详细信息..................................................................................... 19 3.3.4.2 进行表数据同步......................................................................................... 19 3.3.4.3 查看硬件详细信息..................................................................................... 21 3.3.4.4 查看数据的准确性..................................................................................... 23 3.3.4.5 使用 gptransfer 总结...................................................................................23 3.3.5 不同集群之间同步数据........................................................................................ 24
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

最强玩者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值