【ETL】使用kettle工具将数据从oracle迁移到mysql
1 kettle安装及运行
kettle官网下载地址 ,下载完毕后大概有800多m
下载完毕后,直接解压,双击Spoon.bat进行运行。
如果在你的电脑上启动之后,没有进入下面的页面,那么就换台机器。修改 Spoon.bat
中java内存参数不一定好使。
if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms1024m" "-Xmx2048m" "-XX:MaxPermSize=256m"1
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-integration\lib
目录下
按照下图操作,输入相关的数据连接参数
配置字符集
2.2 oracle
将 ojdbc14-10.2.0.1.0.jar
拷贝到 data-integration\lib
目录下
按照下图操作,输入相关的数据连接参数
3 最基本的导数据
导入数据的基本流程如下图,可以分为三个步骤,首先建立源数据库和目标数据库的连接,然后建立源数据表和目标数据表的映射关系,最后建立作业任务,执行。
3.1 建立DB连接
这个在上面第2章已经将做如何配置了。
3.2 建立steps
这一步实现源数据库和目标数据表的映射关系,它也有三个步骤
3.2.1表输入
第一步:在【转换】里面,选择【核心对象】,接着双击【表输入】,或者选中将【表输入】拖拽到右侧空白区域。
第二步:双击你拖进来的【表输入】,修改“步骤名称”,选择源数据,点击获取【获取SQL查询语句】,选择你想同步的表,点击确定后,就可以了。当然你也可以自己写sql语句
3.2.2 字段选择
第一步:在【转换】里面,拖拽【字段选择】到右侧空白区域。
第二步:按住shift 拖动鼠标连接【客户基本信息输入】和 【字段选择】
第三步:双击【字段选择】,添加【列映射】,建立源表和目标表中列字段的映射,如果字段名称相同,kettle会自动帮你选择,如果不同,则需要你自己选择对应关系
下图是匹配完成,点击确定后的结果。
第四步:这一步可选,当源数据字符集与目标字符集不同的时候需要做字符转换,如果一致,则直接跳过这一步
3.2.3 表输出
第一步:在【转换】拖拽【表输出】到右侧空白区域,按住shift 拖动鼠标连接【字段选择】和【基本信息输出】
第二步:双击【表输出】,修改“步骤名称”,选择“数据库连接”,选择“目标表”,
第三步:获取字段,因为在【字段选择】中已经做了匹配,所以这里可以全选,kettle可以帮你全部选择
第四步: ctrl+s 保存 ktr文件
4 建立作业
按照下图新建作业
4.1 设置START
拖拽【START】到右侧空白区域
4.2 配置作业转换
第一步:拖拽【转换】到右侧空白区域,并按住shift 拖动鼠标连线
第二步:选择第3章保存的ktr文件,保存即可。
第三步:手工运行作业,点击下图红色圈圈里面的按钮
进入下面的页面,点击【执行】就可以了。
查看日志,下面的是结果正常的。如果有错,kettle会提示你错误原因。
4.3 定时执行
如果不想立即执行,那么可以选择制定的规则,让kettle定期执行。具体操作,可双击【START】,更改“类型”,下图示例是制定每天的具体时刻。
运行的时候,选择Start Job at 就可以了。
你会发现画风会停到下面这里
跟踪日志,你会发现它会按照我设置的时间开始执行
参考资料
KETTLE 从oracle将表导入mysql
Kettle数据抽取(转换)出现乱码问题解决方法
About Me
........................................................................................................................ ● 本文作者:小麦苗,部分内容整理自网络,若有侵权请联系小麦苗删除 ● 本文在itpub( http://blog.itpub.net/26736162 )、博客园( http://www.cnblogs.com/lhrbest )和个人weixin公众号( xiaomaimiaolhr )上有同步更新 ● 本文itpub地址: http://blog.itpub.net/26736162 ● 本文博客园地址: http://www.cnblogs.com/lhrbest ● 本文pdf版、个人简介及小麦苗云盘地址: http://blog.itpub.net/26736162/viewspace-1624453/ ● 数据库笔试面试题库及解答: http://blog.itpub.net/26736162/viewspace-2134706/ ● DBA宝典今日头条号地址: http://www.toutiao.com/c/user/6401772890/#mid=1564638659405826 ........................................................................................................................ ● QQ群号: 230161599 (满) 、618766405 ● weixin群:可加我weixin,我拉大家进群,非诚勿扰 ● 联系我请加QQ好友 ( 646634621 ) ,注明添加缘由 ● 于 2018-12-01 06:00 ~ 2018-12-31 24:00 在魔都完成 ● 最新修改时间:2018-12-01 06:00 ~ 2018-12-31 24:00 ● 文章内容来源于小麦苗的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解 ● 版权所有,欢迎分享本文,转载请保留出处 ........................................................................................................................ ● 小麦苗的微店 : https://weidian.com/s/793741433?wfr=c&ifr=shopdetail ● 小麦苗出版的数据库类丛书 : http://blog.itpub.net/26736162/viewspace-2142121/ ● 小麦苗OCP、OCM、高可用网络班 : http://blog.itpub.net/26736162/viewspace-2148098/ ● 小麦苗腾讯课堂主页 : https://lhr.ke.qq.com/ ........................................................................................................................ 使用 weixin客户端 扫描下面的二维码来关注小麦苗的weixin公众号( xiaomaimiaolhr )及QQ群(DBA宝典)、添加小麦苗weixin, 学习最实用的数据库技术。
........................................................................................................................ |
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26736162/viewspace-2286840/,如需转载,请注明出处,否则将追究法律责任。
文章浏览阅读306次。我有四个python函数用于发送邮件。如果程序做了一件事,它会将一组结果发送给多个收件人;如果程序做了另一件事,则会有一个单独的函数将结果发送给一个收件人。在def smail(to,sub,body):addr_from = '[email protected]'msg = MIMEMultipart()msg['From'] = addr_frommsg['To'] = tomsg['Subj..._mimetext 发送给多个地址
文章浏览阅读478次。测试pthread_rwlock_rdlock_2-1.c用例失败。log如下:[83#yuchen@ubuntu ltp]# gcc 2-1.c -o 21 -pthread [84#yuchen@ubuntu ltp]# ./21 main: has priority: 3 main: attempt read lock main: acquired read lo..._pthread_rwlock_futex_used
文章浏览阅读306次。作者 | 寇晨编辑 | Dave 董雯雪视觉 | 任染这是 「禾穗HERS女性商学院」的第075篇原创最近明星频繁劈腿的新闻总是吸引大家的眼球。我们每个人都需要亲密关..._什么是亲密价值
文章浏览阅读2.1k次,点赞3次,收藏14次。英文 | https://javascript.plainenglish.io/12-awesome-shape-generators-for-your-web-projects-695da13f11fd翻译 | 杨小爱从头开始创建高级形状需要一些高级 CSS 和 SVG 知识,之后您可能仍会调整值。我建议使用一些 GUI 工具,它们为您提供了一个用户界面来调整参数。在这..._css 图形制作器
文章浏览阅读512次,点赞9次,收藏6次。这一过程大致与添加单个水印的相同。不过向 PDF 添加多行文本水印时,需要创建。_python 添加文字水印 pdf
文章浏览阅读388次。Linux报错-安装浏览器rpm报错问题描述: linux安装rpm包失败问题原因: 缺少依赖包:liberation-fonts、vulkan-1.1.97.0-1.el7.x86_64解决方法 安装依赖包 yum install liberation-fonts yum -y install vulkan-1.1.97.0-1.el7.x86_64..._libx11.so.6()(64bit) 被 vulkan-1.1.97.0-1.el7.x86_64 需要
文章浏览阅读3.5w次,点赞11次,收藏23次。通过python命令行安装确认运行时python版本,不确定的话进创建的虚拟环境中找到python文件运行下述命令 stable-diffusion-webui-master\虚拟环境名称\Scripts\python.exe)下载xformers-0.0.14.dev0-cp310-cp310-win_amd64.whl文件。_no module 'xformers'. proceeding without it.
文章浏览阅读416次。reference : http://m.blog.csdn.net/blog/langzxz/45308199reference : http://blog.csdn.net/hyhyl1990/article/details/46842915Android原生是有应用程序权限管理的,即是AppOps,只是Google把它默认隐藏了。本文..._android 4.4悬浮窗 appopsmanager
文章浏览阅读860次。CsvExport.tsimport json2csv from 'json2csv'interface IColumn { prop: string label?: string formatter?: (row: any, column: IColumn, cellValue: any) => any;}..._vue 中export const columns =(): icolumn[]
文章浏览阅读723次。常用的预处理语言 Sass Less Stylus使用Less两种方式引入less <link rel="stylesheet/less" href="xxx.less">然后引入 less.js 文件使用 npm 安装 npm install -g less在项目中使用Webpack 需要配合less-loader处理一 变量二 嵌套三 混合方法四 继承五 导..._less fade传入var颜色
文章浏览阅读390次,点赞3次,收藏9次。在AI的浩瀚宇宙中,有一个新星正在闪耀——Command R+。这个开源的大型语言模型不仅在技术排行榜上名列前茅,更以其开放性和高性能赢得了全球开发者的关注和喜爱。
文章浏览阅读4.6w次,点赞9次,收藏110次。目录一、知网就能搞定的外文文献1、检索2、下载二、知网中查不到或者下载不了的外文文献一般,我们要查找中文文献很方便,知网就能下载,但是对于一些外文文献(最常见就是英文),如果知网里面找不到或者下载不了,这时该怎么办呢?基于我自己下载外文文献的经验,总结一点小技巧,供参考。一、知网就能搞定的外文文献中国知网知网的文献库非常丰富的,一般要查找英文文献,可以按照以下步骤试试:1、检索在文献检索框中,输入外文文献标题,点击搜索按钮,进行检索。注意:检索结果如果是空._英文文献怎么找