请选择 进入手机版 | 继续访问电脑版

数据家园

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 19|回复: 0

kettle数据迁移从oracle到mysql

[复制链接]

51

主题

54

帖子

289

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
289
发表于 5 天前 | 显示全部楼层 |阅读模式
1 kettle安装及运行
kettle官网下载地址,下载完毕后大概有800多m
faca2ede5ba8fd0c12fde8a6e9adb4db.jpg
下载完毕后,直接解压,双击Spoon.bat进行运行。
a59984e69a4c5140c1f5ebcddcbddeb0.jpg
如果在你的电脑上启动之后,没有进入下面的页面,那么就换台机器。修改 Spoon.bat中java内存参数不一定好使。
if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms1024m" "-Xmx2048m" "-XX:MaxPermSize=256m"
57135874bee6ff69cb47866b6e201e03.jpg
2 数据库连接
将数据从oracle迁移到mysql,需要先在kettle中建立oracle和mysql数据库连接,注意mysql-connector-java-5.1.45.jar和ojdbc14-10.2.0.1.0.jar要在kettle启动之前拷贝进去。
2.1 mysql
将mysql-connector-java-5.1.45.jar拷贝到data-integrationlib目录下
f022e9a2bf6732b444bd331c7f53060a.jpg
按照下图操作,输入相关的数据连接参数
2e913a2dc94b62f26841b48da51f9a78.jpg
配置字符集
f31b09eb06c85eb376daba8606820ad5.jpg
2.2 oracle
将ojdbc14-10.2.0.1.0.jar拷贝到data-integrationlib目录下
82188cf26d807fc2af78d1f18842254e.jpg
按照下图操作,输入相关的数据连接参数
89852e3e93716ce6efe7acfd9d490f69.jpg
3 最基本的导数据
导入数据的基本流程如下图,可以分为三个步骤,首先建立源数据库和目标数据库的连接,然后建立源数据表和目标数据表的映射关系,最后建立作业任务,执行。
df16cc1c7829917eccd762d62e176b53.jpg
3.1 建立DB连接
这个在上面第2章已经将做如何配置了。
3.2 建立steps
这一步实现源数据库和目标数据表的映射关系,它也有三个步骤
3.2.1表输入
第一步:在【转换】里面,选择【核心对象】,接着双击【表输入】,或者选中将【表输入】拖拽到右侧空白区域。
de28dd94bd6dec5f8c2e6ce204835b9b.jpg
第二步:双击你拖进来的【表输入】,修改“步骤名称”,选择源数据,点击获取【获取SQL查询语句】,选择你想同步的表,点击确定后,就可以了。当然你也可以自己写sql语句
1d68bf5255215fc1f74e94f6018be6c6.jpg
3.2.2 字段选择
第一步:在【转换】里面,拖拽【字段选择】到右侧空白区域。
第二步:按住shift 拖动鼠标连接【客户基本信息输入】和 【字段选择】
第三步:双击【字段选择】,添加【列映射】,建立源表和目标表中列字段的映射,如果字段名称相同,kettle会自动帮你选择,如果不同,则需要你自己选择对应关系
bddfb786136569aaf973043fe3767686.jpg
下图是匹配完成,点击确定后的结果。
41f94e58a1eaf4cf11d3e849a26483b5.jpg
第四步:这一步可选,当源数据字符集与目标字符集不同的时候需要做字符转换,如果一致,则直接跳过这一步
1041b0d2a9c7c11ace092911321a552a.jpg
3.2.3 表输出
第一步:在【转换】拖拽【表输出】到右侧空白区域,按住shift 拖动鼠标连接【字段选择】和【基本信息输出】
4eb92e90f949fdf4a155160a694b3967.jpg
第二步:双击【表输出】,修改“步骤名称”,选择“数据库连接”,选择“目标表”,
76d7be19de62db41551fc934b2c4c128.jpg
第三步:获取字段,因为在【字段选择】中已经做了匹配,所以这里可以全选,kettle可以帮你全部选择
819555d797b62c87d5cd079b5c3d896d.jpg
第四步: ctrl+s 保存 ktr文件
4 建立作业
按照下图新建作业
af07eea2a119b128f3c2e1ea8544fc7f.jpg
4.1 设置START
拖拽【START】到右侧空白区域
cc761b4cbb5f1c988b71bfd10efb6d3c.jpg
4.2 配置作业转换
第一步:拖拽【转换】到右侧空白区域,并按住shift 拖动鼠标连线
65401455902b25418fa3f9867308d8ab.jpg
第二步:选择第3章保存的ktr文件,保存即可。
9a6cd48bb3ed2dd47af4e8208d8ed2a8.jpg
第三步:手工运行作业,点击下图红色圈圈里面的按钮
057e107beca19148010a4e506cecf9fe.jpg
进入下面的页面,点击【执行】就可以了。
196e3f722a80ee8f9c8eb1d7cc417bb0.jpg
查看日志,下面的是结果正常的。如果有错,kettle会提示你错误原因。
2df0e6a1a348e54c7a6ce7b50f24ae69.jpg
4.3 定时执行
如果不想立即执行,那么可以选择制定的规则,让kettle定期执行。具体操作,可双击【START】,更改“类型”,下图示例是制定每天的具体时刻。
de0577cd2ac212fe4d48dda05a739c64.jpg
运行的时候,选择Start Job at 就可以了。
dfe8d7f42ca428e296b8a71e67fd867e.jpg
你会发现画风会停到下面这里
77dc34474a373a024459cb9ebc59e82f.jpg
跟踪日志,你会发现它会按照我设置的时间开始执行
6cfe878b02c4fcc891ca347c40ae51e4.jpg
参考资料
KETTLE 从oracle将表导入mysql
Kettle数据抽取(转换)出现乱码问题解决方法


  1. 如果设计 etl 平台的话,可以参考这个,经典的软件,数据产品经理都建议学习下,因为你要做竞品分析,还是需要调研市场上的主要产品。
复制代码

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|数据家园 ( 蜀ICP备13007024号 )

GMT+8, 2021-2-25 18:04 , Processed in 0.045817 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表