因mongodb数据量越来越大,引发业务查询查询越来越慢;数据量达到10个T左右;虽然目前有冷库,但需要隔半年进行一次数据迁移及数据删除;期间业务系统访问不;动作量大、影响面广;
考虑实现的便利性和难易程序,项目组决定采用kettle来对mongodb数据进行迁移;
迁移目标:
1、每天增量将前一天的数据通过kettle同步到mongodb归档库;当前一天同步失败后,第二天需要继续上次同步失败的位置继续数据同步;
2、需要保障迁移到归档库的数据和原始表是一样;在迁移的过程中,发现采用mongodb输出组件迁移后会出现以下几个情况:
2.1 源表_id的数据迁移到归档库以后,不是文档ID了
2.2 源表的数组类型的字段迁移到归档库以后,变成了字符串类型
2.3 源表的int64类型的字段迁移到归档库以后,变成了字符串类型
2.4 源表的Boolean类型的字段迁移到归档库以后,变成了字符串类型;
主ETL
设置系统参数-0 时间变量设置