ETL工具kettle实现数据同步

摘要:

这次记录是因为前段时间公司新开的项目,新建了一个数据库,有部分数据在新的项目中用的到,需要从原来的数据库中同步过来,

原来的做法是在项目中使用task定时任务来定时从原来的数据库中拉取数据,但是在一个项目中实现跨数据源是一个很烦凡人的事请而且代码实现方式效率不高还可能遇到其他一些问题:比如项目挂了那你的定时任务自然也挂挂了,后台项目组长让使用ETL工具实现同步,找了半天找到一个开源免费的工具Kettle.

前提:

我使用的window如果你的linux版本可以自行百度安装和配置教程

1 Kettle简介

kettle中文网对Kettle的介绍如下:

说还了就是Java语言开发的开源免费的ETL数据抽取工具.

2 Kettle安装和配置

Kettle的安装和配置相当简单,这里也简单介绍一下:

2.1 下载安装

管网下载

https://sourceforge.net/projects/pentaho/files/Data%20Integration/

安装相当简单直接解压即可大致目录如下(注意不要使用中文或者特殊符号的文件夹)

2.2 配置

因为Kettle是java环境开发 所以我们需要简单配置一下Java8环境并"告诉"Kettle.如果你不知道怎么配置Java环境请移步"JDK环境配置"

2.2.1 环境配置

首先我们选中 Spoon.bat 右键使用文本编辑器打开它在此处添加如图配置

set JAVA_HOME=D:\StudyWorkspace\JavaWorkspace\java_tools\JDK8u231\install
set CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
set Path=%JAVA_HOME%\bin;

2.2.2 数据库驱动配置

如果你的数据库使用的Mysql,你需要下载mysql的数据库驱动,并且数据库驱动不能使用5.8 我们将下载好的mysql驱动包放在lib目录即可

3 启动GUI

双击Spoon.bat脚本即可完成启动.启动结面如下

4 简单使用

Kettle的使用非常简单,因为GUI界面直接就是中文

4.1 新建DB连接

经过上面的操作我们就能在左侧看到我们DB链接了,为了以后操作方便,并且其他数据库都可以互相访问我们可以将创建的DB连接共享一下

4.2 新建作业

使用Kettle的时候我们一把会先新建一个作业,相当于我们的job一样

点击 “文件”–>“新建”–>“作业”–>添加我们想要的组件(双击组件可以设置组件属性)

具体组件的用法自行百度,这些东西其实就是简单的API不再一一介绍,这里只对经常使用的做一个介绍

START: 作业开始组件 我们可以设置属性让作业定时执行

转换: 数据转换组件,可以设置要执行的转换(后面我们会介绍新建转换)

成功: 结束标识

4.3 新建转换

我们可以如下图新建转换

组件如下

4.3.1 表输入查询源数据

我们可以在表输入中输入SQL来获取我们要同步的数据

4.3.2 表输入获取数据target数据

我们可以查询要插入的数据库中的数据后期用于对比使用

4.3.3 使用排序记录组件进行排序

我们可以使用排序组件对源数据库和目标数据库中查询的数据进行排序

4.3.4 合并数据

我们可以使用合并记录组件对刚才排序的数据进行合并,其中匹配关键字就是两者比较是否相同的依据

4.3.5 数据同步

使用数据同步组件对数据进行同步

5 结束语

本次就是简单记录,使用方式,具体的API不去做详细介绍,只是提供参考,因为不同的业务没办法保证新建的每一个工作都一样,所以这些东西只能根据具体需求使用不同的组件和流程来完成具体的业务,具体组件的作用需要自己去百度和发现.

ETL工具kettle实现数据同步相关推荐

  1. 四十一、ETL工具kettle输出步骤

    1. ETL工具Kettle的输出步骤 Kettle输入步骤主要分为以下几类: 数据库输出 表输出 更新.删除.插入和更新 文件输出 文本文件输出 XML输出 Excel文件输出 其他 报表和应用 2 ...

  2. 开源ETL工具kettle系列

    开源ETL工具kettle系列之常见问题 摘要:本文主要介绍使用kettle设计一些ETL任务时一些常见问题,这些问题大部分都不在官方FAQ上,你可以在kettle的论坛上找到一些问题的答案 1. J ...

  3. 开源ETL工具kettle系列之常见问题

    摘要:本文主要介绍使用kettle设计一些ETL任务时一些常见问题,这些问题大部分都不在官方FAQ上,你可以在kettle的论坛上找到一些问题的答案 1. Join 我得到A 数据流(不管是基于文件或 ...

  4. 四十二、ETL工具Kettle的转换步骤

    1. ETL工具Kettle的转换步骤 1.1 Kettle转换步骤的具体内容: 字符串处理 字符串的拆分 字符串的替换 行列变换 其他转换步骤 闭合距离 XSL转换 数值范围 2 字符串的处理 2. ...

  5. ETL工具KETTLE常用设计之——作业设计思路模板

    目录 01:检查数据库连接: 02:设置环境变量: 03:设计各自数据流程转换: 04:邮件通知: ETL工具KETTLE用来设计数据流程,无论什么逻辑的数据流程,一般都有一个通用的设计模板流程,在这 ...

  6. kettle spoon 数据同步

    kettle spoon 数据同步 博客分类:mysql kettle spoon 数据同步  写这篇随笔只为记录,免得忘记了. 第一步:建立一个转换,文件->新建->转换 第二步:打开转 ...

  7. 使用Kettle进行数据同步(增量)

    文章目录 kettle介绍 kettle安装 kettle使用 使用kettle同步关系型数据库数据(MySQL示例) 1. 创建一个转换 2. 选择表输入 3. 格式转换 4. 执行脚本 5. 创建 ...

  8. 可视化开源ETL工具——kettle

    1 简介 Kettle是一款国外开源的ETL工具,纯java编写,可以在Window.Linux.Unix上运行,绿色无需安装,数据抽取高效稳定. Kettle 中文名称叫水壶,该项目的主程序员MAT ...

  9. 三十九、ETL工具Kettle基础使用

    1. Kettle工具介绍 Kettle是一款国外开源的ETL工具,纯Java编写,开业在Windows.Linux.Unix上运行,可以高效稳定的完成数据抽取. Kettle中文名叫水壶,该项目的主 ...

  10. 记录今天用ETL工具KETTLE遇到打不开job问题

    众所周知,kettle是一款开源易上手的etl工具.今天连上公司远程windows服务器后,就发现kettle不知道被谁动过,卡成了无响应 ,后随即关闭kettle准备重启.然而这时意外发生了,再次打 ...

最新文章

  1. flash数字时钟_数字电路设计在嵌入式中的应用
  2. 对前端Jenkins自动化部署的研究
  3. __stdcall __cdecl 引起的程序崩溃
  4. 用女朋友动态图做微信二维码,小白都会
  5. 2020,人工智能与产业结合的新纪年,你需要哪些能力可以脱颖而出?
  6. 高斯函数及高斯滤波器
  7. 计算机毕设中期检查表怎么写,[毕业论文中期检查表(精选多篇)] 毕业论文中期检查表怎么写...
  8. mentohust配置
  9. hdoj 4747 线段树
  10. mysql内表和外表_hive内表和外表的创建、载入数据、区别
  11. 使用代理ccproxy设置outlook2013 收QQ邮箱(IMAP-SMTP方式)
  12. CAD格式交换全能:CAD DLL 15.0 Crack
  13. 感叹之余随手记—他山之石,可以攻玉
  14. 华为LiteOS操作系统中的LOS_DL_LIST_ENTRY怎么理解?
  15. 保研历程(经验分享、保研流程介绍)
  16. 他励直流电动机的调速
  17. 为什么印度人能占领硅谷,1万清华毕业生只能给他们打工?
  18. 创业力:创业者的9堂必修课01 1 2007IBMJava10100
  19. 计算机毕业设计之java+ssm基于微信小程序的游戏美术外包管理信息系统
  20. 电脑箭头,电脑箭头符号怎么打出来(往返箭头符号图案)

热门文章

  1. 消除IBM P750小机上的黄色报警灯
  2. Firefox选择哪个IE TAB
  3. 极速office(excel)如何根据身份证号提取性别
  4. 30 个数据工程必备的Python 包
  5. 一图掌握项目立项流程操作实例及立项评审步骤
  6. 37-基于51单片机智能温控风扇设计
  7. nx显示服务器错误,ug6.0软件打开出现nx许可证错误的解决办法
  8. python 爬取阳光电影资源
  9. matlab绘制不同线性的直方图,Matlab绘制柱状图采用不同图案填充
  10. TVM代码库结构概述