滴水恩情 发表于 2024-6-12 14:30:14

利用 Kettle 实现数据库之间的数据同步

在本篇博客中,我们将学习如何使用 Kettle(也称为 Pentaho Data Integration)实现数据库之间的数据同步。Kettle 是一个开源的 ETL(Extract, Transform, Load)工具,它可以资助我们将数据从源数据库提取出来,进行转换和洗濯,然后将数据加载到目的数据库。接下来,我们将先容 Kettle 的基本概念、情况搭建以及如何创建一个数据同步任务。
1. Kettle 简介

Kettle 是一个功能强大的 ETL 工具,它提供了丰富的组件和插件,支持多种数据源和目的,如关系型数据库、文件、XML 等。Kettle 的主要长处是易于使用、机动性高,并且支持图形化界面操作。
2. 情况搭建

首先,确保你已经安装了 Java 运行情况(JRE)。如果没有,请访问官方网站下载并安装:https://www.java.com/zh-CN/download/
接下来,我们必要下载并安装 Kettle。访问官方网站下载 Kettle 的安装包:https://sourceforge.net/projects/pentaho/files/Data%20Integration/
解压下载的安装包,进入解压后的目录,双击 Spoon.bat(Windows)或 Spoon.sh(Linux)启动 Kettle。
3.数据同步需求

案例需求:必要将Oracle中的职员数据定时同步到MySQL数据库中,这里设置每10分钟同步一次。
4.创建数据转换

1)主对象树-转换-右键新建
https://img-blog.csdnimg.cn/direct/da2ebb94faa24adc9253632409677c39.png
2)主对象树-DB连接-右键新建
https://img-blog.csdnimg.cn/direct/d7226bb486a34665ad80565980eaeff1.png
连接oracle数据库:
https://img-blog.csdnimg.cn/direct/7d6678d0a5974ff395dd3a8df37e0a79.png
连接mysql数据库:
https://img-blog.csdnimg.cn/direct/174fb64c315c40028c87173d5fa1708c.png
3)焦点对象—输入—表输入-拖入界面即可
https://img-blog.csdnimg.cn/direct/f27062f6779749749ab8af59a9f72e7d.png
双击打开表输入
https://img-blog.csdnimg.cn/direct/88accb72fb8542ccb36ae194364b6df8.png
4)焦点对象—输出—插入/更新—拖入界面即可
https://img-blog.csdnimg.cn/direct/052bea15f6aa4dedaa2ca64dd5e6ff5c.png
双击打开表插入/更新,有主键时,查询处选择主键,根据主键查询,更新字段【更新】列选择N,否则,第二次执行时还会执行插入,导入提示主键冲突错误
https://img-blog.csdnimg.cn/direct/12cdb62e7f0c477cb82332abb5295a0a.png
5)焦点对象—>转换—>字段选择—拖入界面即可
https://img-blog.csdnimg.cn/direct/625d21aca6eb4987b28a5e29998f4526.png
双击打开字段选择(点击元数据—获取改变的字段即可)
https://img-blog.csdnimg.cn/direct/0b9115eaa29e41398b2d3f561d03eb7c.png
注意Encoding设置为UTF-8,否则抽取的数据会乱码
https://img-blog.csdnimg.cn/direct/03f7c59eb67344e9b875e316823e93a3.png
5.新建作业

1)主对象树-作业-右键新建
https://img-blog.csdnimg.cn/direct/76bcca750bb549769c4f14a95d3d347c.png
2)焦点对象—Start/转换/乐成—拖入界面并连接
https://img-blog.csdnimg.cn/direct/63874f366a7c4729baa7283dad3d1419.png
3)双击打开作业
浏览—选择上一步的转换文件目录
https://img-blog.csdnimg.cn/direct/e906616b183c4addb9ae6a07eb469d25.png
4)双击打开Start
设置按天 定时抽取(重复)
https://img-blog.csdnimg.cn/direct/f51a1afc876b4d6f821a553540696f66.png
5)点击run 定时抽取oracle职员数据到mysql,即可完成
https://img-blog.csdnimg.cn/direct/358f04d7d8c94f12a1545111a085505c.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 利用 Kettle 实现数据库之间的数据同步