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

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

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

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

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

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

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

首先说明一下,我这里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。这样简单的数据迁移应该就没问题了。

数据迁移工具kettle简单上手的更多相关文章

  1. 数据交换工具Kettle

    网上搜集了一些关于开源数据交换工具Kattle的文章,特收藏例如以下: 文章一:ETL和Kettle简单介绍 ETL即数据抽取(Extract).转换(Transform).装载(Load)的过程.它 ...

  2. 2018/1/8 学习汇总,kettle简单介绍,集合遍历方式的选择及原理,防止表单重复提交的后台解决方案

    昨天因为当前这个二次开发项目的接近尾声,要求我们将生产环境数据库里的数据迁移到现在新的数据库来,但老数据库里是sqlserver而新数据库则是ORACLE,不仅仅面对着数据库数据类型结构不一致的问题, ...

  3. Sqoop数据迁移工具的使用

    文章作者:foochane  原文链接:https://foochane.cn/article/2019063001.html Sqoop数据迁移工具的使用 sqoop简单介绍 sqoop数据到HDF ...

  4. 数据迁移工具sqoop

    有问题........数据迁移工具sqoop sqoop安装 [root@sqoop data]# wget  wget http://apache.fayea.com/sqoop/1.4.6/sqo ...

  5. Java基础_0311: 数据表与简单Java类映射

    数据表与简单Java类映射 现在假设有如下的关系表,现在要求实现如下的数据关联操作: 一个部门有多个雇员: 一个雇员有一个或零个领导 代码实现 class Dept { private int dep ...

  6. Spring Boot项目简单上手+swagger配置+项目发布(可能是史上最详细的)

    Spring Boot项目简单上手+swagger配置 1.项目实践 项目结构图 项目整体分为四部分:1.source code 2.sql-mapper 3.application.properti ...

  7. 撸了个 django 数据迁移工具 django-supertube

    撸了个 django 数据迁移工具 django-supertube 支持字段映射和动态字段转化. 欢迎 star,issue https://github.com/FingerLiu/django- ...

  8. Tinker 热修复框架 简单上手教程

    当你们看到Tinker的时候是不是有点愣逼这个是什么东西? 简单来说就是不需要重新下载app和重新安装app 来进行更新app的技术框架. 看看这个吧,我也是才学习 ,先做个学习记录 参考:Tinke ...

  9. 数据表与简单java类映射转换

    简单的Java类的定义来源于数据表的结构, 例如:雇员信息表.部门信息表描述的就是雇员或部门的信息, 在实际的开发之中,数据表和简单java类之间的映射关系如下: 1. 数据实体表设计 = 类的定义: ...

随机推荐

  1. hiho1605 - 递推+1000000000=矩阵快速幂

    题目链接 题目大意 小Hi最近对生成树(包含所有顶点的联通无环子图.)非常的感兴趣,他想知道对于特定的简单平面无向图是不是存在求生成树个数的简单方法. 小Hi定义了这样的图:一个以{0,1,2……n} ...

  2. Java框架之spring—jdbcTemplate

    JdbcTemplate 今天我们利用 springIOC 写一个 JdbcTemplate 来实现一个表的简单的增删改查 步骤如下: 首先创建数据库,创建一个学生表 student (id,name ...

  3. C++12.1.4 类的前向声明、不完全类型类

    只声明却没有定义的类称为—————–不完全类型,不完全类型不能定义该类型的对象,只能用于定义指向该类型的指针及引用,或者用于声明(不是定义)使用该类型作为形参类型或返回类型的函数. 在创建类的对象之前 ...

  4. Collectio集合,List《ArrayList,LinkedList》

    集合: Collection类 package com.collection.demo; import java.util.ArrayList; import java.util.Arrays; im ...

  5. 模块 –OS & OS.PATH

    模块-Os模块: os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 In [25]: os.getcwd() Out[25]: 'C:\\Users\\***' os.c ...

  6. 紫书 习题 11-9 UVa 12549 (二分图最小点覆盖)

    用到了二分图的一些性质, 最大匹配数=最小点覆盖 貌似在白书上有讲 还不是很懂, 自己看着别人的博客用网络流写了一遍 反正以后学白书应该会系统学二分图的,紫书上没讲深. 目前就这样吧. #includ ...

  7. OpenJDK源码研究笔记(三)-RandomAccess等标记接口的作用

    标识接口是没有任何方法和属性的接口. 它仅仅表明它的类属于一个特定的类型,供其他代码来测试允许做一些事情. 下面来看一个标记接口RandomAccess. public interface Rando ...

  8. 上海交大课程MA430-偏微分方程续论(索伯列夫空间)之总结(Sobolev Space)

    我们所用的是C.L.Evans "Partial Differential Equations" $\def\dashint{\mathop{\mathchoice{\,\rlap ...

  9. 2015 Multi-University Training Contest 3 hdu 5317 RGCDQ

    RGCDQ Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submi ...

  10. iOS之数据请求NSURLConnection

    iOS之数据请求NSURLConnection NSString *lcsUrl = @"http://192.168.1.1:8080/lcsUrl"; //假设网址中有汉字.须 ...