数据迁移工具kettle简单上手

    近期做了不少数据迁移工作,无一例外都是kettle做的,对于这些工具,我认为。够用就好,不用做特别多的研究(当然。除非你是这款工具的忠实粉丝,我相信这种没几个)。kettle也不例外。在我看来就是不同数据库间转移数据的工具,学一下大致的迁移的方法即可了,简单问题能解决即可。

基于这个目的,这里做一个简单的迁移步骤的入门。

  对于不同数据间迁移,简单的操作一般就是表输入,字段匹配和表输出的步骤:

    

    所以第一步就是建立表输入:文件-新建-转换,在以下选择表输入,拖到中间就可以。然后点进去对表输入进行操作:当然是选择相应的数据库,这里说明一下,最好在选项那一栏里加一个属性characterEncoding 值填UTF-8或者GBK(建议统一UTF-8,假设你是数据库都是统一的UTF-8的话)。

   

   然后获取sql查询语句,选择要迁移的数据表点击显示sql语句即可了。然后就会显示要转移的字段,你能够依据须要将这些字段做对应的处理,比如:

  

 首先说明一下,我这里DATEDIFF(s, '1970-01-01 00:00:00.000', RegisterTime) RegisterTime是sqlserver时间日期转换unix时间戳的函数。是官网给出的,可是可能会报错,可是依照道理不应该。详细原因不太清楚,假设怕报错能够写复杂一点:(convert(bigint, datediff(day, '1970-01-01 00:00:00' , AddTime)) * 24 * 60 * 60) 
- (datediff(second, dateadd(day, datediff(day, 0,'1970-01-01 00:00:00'), 0), '1970-01-01 00:00:00'))
+ (datediff(second, dateadd(day, datediff(day, 0, AddTime), 0), AddTime)) AddTime。这样的就不会报错了。


    接下来就是字段选择:转换-字段选择拖到中间。按住shift按箭头将表输入和字段选择连接起来。点击进去,点击获取改变字段,将相应的字段名称后面的改名成都写上相应要迁移的目的库中的字段名,Encoding选择UTF-8(楼主開始被骗了,表输入表述出和字段选择都选的GBK,也能够用,只是也有个别不能用的时候。所以还是UTF-8好用)。


   嗯,接下来就是表述出了,相同道理,从表述出里面拖出来,按住shift拉个箭头跟字段选择。

接下来跟表输入几乎相同须要输入数据库的信息。

这里就不具体说反复的步骤了,记得选项里也填上编码UTF-8。

这些做好之后,目标表选择自己要迁移到的表。勾选指定数据库字段。以下的数据库字段点击获取字段,因为咱们前边字段选择时都改名了,这里他会自己主动给你匹配好字段。点击确定就算完毕了。

  

  最后就是点击绿色的開始button,開始迁移数据吧。

  当然,在以下会有迁移进度以及日志。假设报错了,依据日志的错误提示攻克了就能够:

  

    OK。这样简单的数据迁移应该就没问题了。

原文地址:https://www.cnblogs.com/cynchanpin/p/7010748.html