写在前面: 博主是一名软件工程系大数据应用开发专业大二的学生,昵称来源于《爱丽丝梦游仙境》中的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个操作,希望大家能够受用?
本次的分享就到这里,因为博主还是一个萌新,能力有限,如果以上过程中出现了任何的纰漏错误,烦请大佬们指正。受益的朋友或对大数据技术感兴趣的伙伴记得点赞关注支持一波?