使用kettle进行数据清洗

这篇具有很好参考价值的文章主要介绍了使用kettle进行数据清洗。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址
全文共计2175字,阅读大概需要3分钟

一、任务描述

本实验任务主要完成基于ubuntu环境的使用kettle进行数据清洗的工作。通过完成本实验任务,要求学生熟练掌握使用kettle进行数据清洗的方法,为后续实验的开展奠定ETL平台基础,也为从事大数据平台运维工程师、大数据技术支持工程师等岗位工作奠定夯实的技能基础。

二、任务目标

1、掌握使用kettle进行数据清洗

三、任务环境

Ubuntu16.04、Java1.8、Kettle7.1

四、任务分析

Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。
  Kettle组成部分:
使用kettle进行数据清洗

Kettle概念模型图:
使用kettle进行数据清洗

Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。
  Transformation(转换)
  Transformation(转换)是由一系列被称之为step(步骤)的逻辑工作的网络。转换本质上是数据流。下图是一个转换的例子,这个转换从文本文件中读取数据,过滤,然后排序,最后将数据加载到数据库。本质上,转换是一组图形化的数据转换配置的逻辑结构,转换的两个相关的主要组成部分是step(步骤)和hops(节点连接),转换文件的扩展名是.ktr。
  Jobs(工作)
  Jobs(工作)是基于工作流模型的,协调数据源、执行过程和相关依赖性的ETL活动,Jobs(工作)将功能性和实体过程聚合在了一起,工作由工作节点连接、工作实体和工作设置组成,工作文件的扩展名是.kjb。
  我们的任务是:
1、掌握使用kettle进行数据清洗

五、 任务实施

步骤1、环境准备

右击Ubuntu操作系统桌面,从弹出菜单中选择【Open Terminal Here】命令 打开终端。
  启动kettle。
使用kettle进行数据清洗

图1 启动kettle

步骤2、创建Transformmations

新建一个”Transformmations”(双击Transformmations即可),然后选择”Design”栏,将”Input”下的”Text file input”和”Transform”栏下的”Strings cut”,”Select values”,”Sort rows”,”Unique rows”,然后是”Utility”下的”Null if…”,”If field value is null”,再就是”Flow”下的”Filter rows”以及”Output”栏下的”Table output”九个图标拖进工作区。按住Shift键,鼠标拖拽”Table input”图标到”Stream lookup”图标上,产生连线。同理其他的线也连上。注意箭头方向。如图2所示

使用kettle进行数据清洗

图2 创建Transformmations
  设置”Text input”相关内容(双击图表即可)。如图3-8所示。

使用kettle进行数据清洗

图3 设置”Text input”相关内容

使用kettle进行数据清洗

图4 设置”Text input”相关内容

使用kettle进行数据清洗

图5 设置”Text input”相关内容

使用kettle进行数据清洗

图6 设置”Text input”相关内容

使用kettle进行数据清洗

图7 设置”Text input”相关内容

使用kettle进行数据清洗

图8 设置”Text input”相关内容
  设置”Strings cut”相关内容(双击图表即可)。如图9所示。

使用kettle进行数据清洗

图9 设置”Strings cut”相关内容
  设置”Null if…”相关内容(双击即可)。如图10所示。

使用kettle进行数据清洗

图10 设置”Null if…”
  设置”If field value is null”相关内容(双击图表即可)。如图11所示。

使用kettle进行数据清洗

图11 设置”If field value is null”相关内容
  设置”Select values”相关内容(双击即可)。如图12-13所示。

使用kettle进行数据清洗

图12 设置”Select values”

使用kettle进行数据清洗

图13 设置”Select values”
  设置”Sort rows”相关参数。如图14所示。

使用kettle进行数据清洗

图14 设置”Sort rows”
  设置”Unique rows”相关参数。如图15所示。

使用kettle进行数据清洗

图15 设置”Unique rows”
  设置”Filter rows”相关参数。如图16所示。

使用kettle进行数据清洗

图16 设置”Filter rows”
  开启mysql服务。如图17所示。

使用kettle进行数据清洗

图17 开启mysql
  设置”Table output”相关参数,双击”Table output”即可,mysql数据库密码为”root”。如图18所示。

使用kettle进行数据清洗

图18 设置”Table output”
  设置目标表。如图19所示。

使用kettle进行数据清洗

图19 设置目标表
  设置字段映射,最后点击”OK”完成整个设置。如图20所示。

使用kettle进行数据清洗

图20 设置字段映射

步骤3、运行任务

运行,清洗好的数据,批量导入到数据库。如图21-22所示。

使用kettle进行数据清洗

图21 运行任务

使用kettle进行数据清洗

图22 保存任务
  查看运行结果。如图23所示。

使用kettle进行数据清洗

图23 查看运行结果
  重新打开一个终端,进入mysql,切换到kettleDB数据库,检验记录是否导入。如图24-25所示。

使用kettle进行数据清洗

图24 查看表

使用kettle进行数据清洗

图25 查看表数据

♥ 知识链接
ETL工具的典型代表
商业软件:Informatica、IBM Datastage、Oracle ODI、Microsoft SSIS…

开源软件:Kettle、Talend、CloverETL、Ketl,Octopus …

♥ 温馨提示
作业(job):负责将[转换]组织在一起进而完成某一块工作,通常我们需要把一个大的任务分解成几个逻辑上隔离的作业,当这几个作业都完成了,也就说明这项任务完成了。文章来源地址https://www.toymoban.com/news/detail-419144.html

到了这里,关于使用kettle进行数据清洗的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包