这10个常用的Kettle操作,你不会不行!

2021-01-27 16:10:10 浏览数 (1)

写在前面: 博主是一名软件工程系大数据应用开发专业大二的学生,昵称来源于《爱丽丝梦游仙境》中的Alice和自己的昵称。作为一名互联网小白,写博客一方面是为了记录自己的学习历程,一方面是希望能够帮助到很多和自己一样处于起步阶段的萌新。由于水平有限,博客中难免会有一些错误,有纰漏之处恳请各位大佬不吝赐教!个人小站:http://alices.ibilibili.xyz/ , 博客主页:https://alice.blog.csdn.net/ 尽管当前水平可能不及各位大佬,但我还是希望自己能够做得更好,因为一天的生活就是一生的缩影。我希望在最美的年华,做最好的自己

在上一篇博客《一招教你用Kettle整合大数据和Hive,HBase的环境!》中,已经为大家介绍了Kettle高阶操作中所需要涉及到与Hadoop,Hive,HBase等组件的环境配置过程。本篇,就让我们正式步入到Kettle的常用操作中。

码字不易,先赞后看!


1. HDFS - Excel

  • 需求: 从Hadoop文件系统读取文件,并将数据输出到Excel

<1>拖出一个Hadoop文件输入组件和Excel输出组件

<2>创建一个Hadoop连接对象

友情提示:需要按照上一篇博客所展示的步骤将Kettle集成Hadoop的环境配置好,这一步才能成功!

<3>配置HadoopFileInput组件 这一步我们就可以选择已经创建好的连接对象

还需要设置输入文件的路径

记得修改编码格式

预览字段进行查看

<4>配置Excel输出组件

<5>成功运行

2. Json - HDFS

  • 需求:读取Json文件,把数据写入到HDFS文件系统的任意目录下。

<1>拖出两个组件

<2>配置Json文件输入组件

<3>配置HDFS输出组件

获取字段

<4>成功运行

3. Hive - excel

同样我们接下来开始集成Hive,首要前提便是准备大数据HIVE的环境,创建数据表。准备数据,将数据加载到hive中

启动 hive 服务 hive --service metastore -p 9083 & hive --service hiveserver2 &

  • 需求:从hive数据库中的test库的a表获取数据,并把数据保存到Excel中。

<1>先拖出表输入和Excel输出组件

<2>在表输入组件中连接上Hive数据库

选择需要输入的表

<3>配置Excel输出组件

获取字段

<4>成功运行

4. excel - hive

该步骤中的需求与上面一个反过来

需求: 从Excel中读取数据,把数据保存在hive数据库的test数据库的a表中

<1>拖出Excel输入组件和表输出组件

<2>配置表输入组件

<3>配置表输出组件,连接Hive数据库

<4>运行 在运行之前,先让我们来查看a表的数据

然后运行

运行完毕,查看结果

5. SQL脚本(Hive)

Kettle中可以执行Hive的HiveSQL语句,使用作业的SQL脚本

需求:

  • 聚合查询a表表中a字段大于1的值,同时建立一个新表new_a保存查询数据

<1>新建一个作业

并拖出图示的几个组件

<2>配置SQL组件

<3>运行

运行完,我们进入到命令行查看结果

6. 值映射json-excel

该案例需求:

  • 从user.json中读取数据,并把gender列 0 -> 男 1 ->女 2 ->保密
  • 写入到Excel文件

<1>获取到需要用到的组件并连接

<2>配置JSON输入组件

<3>配置值映射组件 设置需要进行映射的字段已经对应的值

<4>配置Excel输出

<5>运行成功

7. 增加序列 json - excel

需求:

  • 从user.json文件中读取数据,并添加序列,把数据保存到Excel

<1>获取到需要使用的组件并连接

<2>配置JSON输入组件

<3>配置增加序列组件

<4>配置Excel输出组件

<5>成功运行

8. 选择字段json - excel

先为大家解释下什么是选择字段

  • 字段选择是从数据流中选择字段,改变名称,修改数据类型

需求:

  • 从user.json中读取数据
  • 移除birthday和register_date
  • 把phone列名改为telephone,id列名改为key,gender列名改为sex
  • 输出到Excel文件中

<1>获取到所需要的组件,并做连接

<2>配置JSON输入组件

<3>配置字段选择组件

<4>配置Excel输出组件

<5>运行

9. switch

需求:

  • 从user.json输入读取数据,按sex进行数据分类,把女性,男性,保密分别存到不同的Excel文件里面。
  • 0表示男性
  • 1表示女性
  • 2表示保密

<1>先根据需要把需要用到组件连接起来

<2>配置Json输入组件

<3> 设置需要case比较的值

<4>分别配置不同结果输出的Excel组件

<5>运行

可以发现根据gender值不同,原先一个文件中的数据被输出到不同的文件

10. 过滤

需求:

  • 从user.json读取数据,分离出年龄大于等于25,小于25的数据,分别保存到不同的Excel文件

<1>获取到需要使用的组件并做连接

<2>配置JSON文件输入组件

<3>配置过滤组件

<4>配置Excel输出组件

<5>运行

同样可以发现年龄大于等于25的在一个文件

年龄小于25的在另一个文件


总结

感谢能看到这里的朋友?

本篇博客博主主要分享了Kettle常用的10个操作,希望大家能够受用?

本次的分享就到这里,因为博主还是一个萌新,能力有限,如果以上过程中出现了任何的纰漏错误,烦请大佬们指正受益的朋友或对大数据技术感兴趣的伙伴记得点赞关注支持一波?

0 人点赞