栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Kettle的下载、安装和简单的使用

Kettle的下载、安装和简单的使用

对接数据时,双方可能使用不同的数据库;或者把数据接过来的同时,对数据进行一定的处理,包括多表查询、多表合并等复杂情况。

通常来说,这种操作都是一次性的,即只需要导入数据一次。因此专门去写接口就有些繁琐,这时我们就需要使用kettle。

kettle是一个可视化工具,只需拖拽组件和一些简单的操作就可以完成数据的对接。

一、下载

首先得有jdk环境。然后下载压缩包,解压即可。

kettle下载地址

二、安装

解压后,将数据库相应的驱动jar包放入 data-integrationlib  下。

MySQL5.x下载这个

选择5.1.xx,下载zip后解压,把下图这个拷贝到目录中。

MySQL8.x以后下载这个

选择Platform Independent下载zip。

三、使用

首先明确下kettle的两个概念:转换和作业。

  • 转换:一次完整的,表到表之间的,单向的数据的流动。
  • 作业:用于定时执行转换。

双击打开:

(一)新建转换,并连接DB

可以看到左侧有 主对象树 和 核心对象,点击 主对象树-DB连接 进行数据库配置

如下图,涉及到几个连接、几个库,都要建立连接。


(二)简单的流程

流程一般是这样:表输入 - 处理1 - 处理2 - 处理3 ... - 表输出 或者 插入/更新

拖拽到主页面即可,双击组件即可编辑;

按住shift键,拖拽进行组件之间的连接:

1. 表输入:

在表输入里,可以写sql语句,可以进行一些预处理。比如我想查询性别为男生的学生记录。

2. 表输出:

选择目标表,获取字段。

表字段是目标表的字段,流字段的上一个处理后的 表的字段。

3. 插入/更新

 一般来说,下图中,用于查询关键字只需设置主键。

 要注意,插入/更新这个插件效率不是很高,处理60w条数据大概需要40秒。


 (三)转换操作

如下图,我们常用的插件基本都在这里了。

1. Concat Fields

当你需要对输入表的某几个字段进行合并时,建议使用这个插件。这是一个十分强大的插件,基本可以做到任意类型字段的合并,并且转换成任意类型。

比如输入表中的字段 s_year、s_month、s_date字段,需要合并成目标表中的t_start_date。但是s_year、s_month、s_date是int类型,且t_start_date是date类型。

separator输入-,表示年月日三个字段以-进行连接

 

2. 去除重复记录、排序记录

在去除重复记录前,必须进行排序记录,且排序只能根据一个字段排序,去除重复记录只能根据这个排序的字段进行去重。

但是排序组件单独使用的话,可以做到多个字段排序。

3. 增加常量

这个组件的作用是,添加一个新的字段,且值固定。

有这样的场景:

表stu_classA存放A班的学生信息,表stu_classB存放B班的学生信息,需要将两班的学生信息添加到stu_classAll中,并且添加字段区分两班学生。

那么就可以使用这个组件,两个表输入添加stu_class字段,分别为A、B,输入到stu_classAll中。

4. 字段选择

这也是十分常用的组件,可以做到对字段改名、修改类型、长度、规定格式等。

比如:两张表逻辑相似,但是字段名和字段类型不同,那么就可以使用这个组件进行处理。

当然也可以直接在表输出中进行处理,但是那样就无法修改字段类型。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/681011.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号