Kettle笔记 —— 利用Transformation和job完成不同数据源的数据处理和写入

Kettle是一款开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。

Kattle的工程存储方式有(1)以XML形式存储,(2)以资源库方式存储(不同的用户可以共同使用)

Kattle的两种设计:

  1. Transformation(转换):针对于数据的基础转换(着重于数据的ETL过程)
  2. Job(作业):完成整个工作流的控制(着重于不同步骤之间的控制流程)

区别:

  1. 一个Job中可以包含多个Transformation
  2. Transformation是数据流,Job是步骤流
  3. Job按照顺序执行,每一个步骤必须等待前一个步骤结束后才会执行
    Transformation是一次性启动所有的控件,然后数据流从第一个控件开始,一条记录,一条记录的流向最后一个控件

Kattle的组成

  1. Spoon(勺子)(Spoon.bat/Spoon.sh):图形化页面
  2. Pan(煎锅)(Pan.bat/Pan.sh)用命令行的形式调用Transformation
  3. Kitchen(厨房)(Kitchen.bat/Kitchen.sh)用命令行的形式调用Job
  4. Carte(菜单)(Carte.bat/Carte.sh)Carte是一个轻量级的Web容器,用于建立专用的、远程的ETL Server

具体使用

MySQL到MySQL

利用Transformation将数据从一张表输出到另一张表里面
在mysql数据库中创建两张表,分别是stu1和stu2,现在要将stu1的数据写入stu2里面
stu1
在这里插入图片描述

stu2
在这里插入图片描述
然后来到kattle的可视化界面,通过Spoon.bat进入(Windows环境)
在这里插入图片描述
分别在左侧的侧边栏中找到表输入和插入/更新,表输入用来从mysql数据库的表中获取数据,而插入/更新用来将获取到的数据插入到另一张表中。这里按照shift即可在两个控件之间画上一条带箭头的线,这样两个控件之间就建立了联系
这里右上角会有绿色的对号图标,是因为我已经成功运行了一遍

然后双击第一个表输入图标,编辑配置
在这里插入图片描述
这里需要配置的地方有两个,一个是数据库连接配置,一个是sql语句
在这里插入图片描述
数据库连接配置用来连接要使用的数据库
而sql语句用来选择从stu1表中获取哪些数据写入到stu2表中

然后再双击下一个控件,查看相关的配置信息
在这里插入图片描述
数据库连接会自动获取上一个控件 表输入 配置好的信息,而目标表需要自己选择,这里要写入到stu2
用来查询的关键字,用id在stu1表和stu2之间做一个连接,这里指定name和id都可以,但是如果指定age就会报错,因此stu2表中没有age字段,在查询时就会因为查询不到stu2表的age字段而报错
更新字段,用来决定对哪些字段进行更新

用job来完成表数据的写入以及更改

在这里插入图片描述
在start里面可以设置任务的定时
转换里面是之前保存的转换文件,即将stu1表里面的数据写入到stu2中
在这里插入图片描述
在sql里面编写要执行的sql语句脚本
在这里插入图片描述
重新建立数据库的连接,然后在脚本里面编写的sql语句,会在上一步的转换过程结束后执行
最终结果为
在这里插入图片描述

mysql到hbase

在这里插入图片描述
最开始是两个表输入控件,分别从mysql的student表和score表里面获取数据,使用的sql语句分别是
select * from student
select student_id,sum(score) from score group by student_id

对student表需要进行一下过滤,过滤出班级为理科的学生
在这里插入图片描述
在记录集连接控件之前,要对所有的表进行排序,这里就按照student的id字段,和score表的student_id字段进行排序

然后按照id和student_id进行两张表的连接
在这里插入图片描述
在字段选择控件中,可以对表连接后的全部字段进行选择,选择具体将哪些字段的值写入到hbase中

最后的Hbase output控件将两张mysql里面的表连接后的数据写入到hbase中,但是在这个控件里面同样需要配置许多东西

首先是配置hadoop集群
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

测试的时候,有着打勾的选项就够了,其余的不用配置
在这里插入图片描述
然后
在这里插入图片描述
然后在hbase中创建一张表,create ‘kettle_demo’,‘info’
来到mappings的选项页下面,配置一下hbase表的映射关系,点击左下角的Save mapping,将映射关系保存为Mapping1
在这里插入图片描述
然后再回到原先的选项页下面
在这里插入图片描述
保存退出后,点击运行
在这里插入图片描述
到hbase中查看一下
在这里插入图片描述
写入成功

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一纸春秋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值