使用kettle进行数据清洗

  • 一、任务描述
  • 二、任务目标
  • 三、任务环境
  • 四、任务分析
  • 五、 任务实施
    • 步骤1、环境准备
    • 步骤2、创建Transformmations
    • 步骤3、运行任务

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

一、任务描述

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

二、任务目标

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

三、任务环境

Ubuntu16.04、Java1.8、Kettle7.1

四、任务分析

Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。
  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。

图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所示

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

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

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

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

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

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

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

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

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

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

图12 设置”Select values”

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

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

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

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

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

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

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

图20 设置字段映射

步骤3、运行任务

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

图21 运行任务

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

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

图24 查看表

图25 查看表数据

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

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

♥ 温馨提示
作业(job):负责将[转换]组织在一起进而完成某一块工作,通常我们需要把一个大的任务分解成几个逻辑上隔离的作业,当这几个作业都完成了,也就说明这项任务完成了。

使用kettle进行数据清洗相关推荐

  1. kettle实现数据清洗

    一:Excel的输入 1.把即将要处理的文件保存到Excel表中->打开kettle ->创建转换 ->创建Excel输入控件.效果如图所示 2.双击Excel输入控件 -> ...

  2. kettle大于0的转换成1_第一期实训周:基于Python+MySQL+Kettle+R的某网站数据采集分析...

    ↓ 基于Python+MySQL+Kettle+R的 某网站数据采集分析 哈喽!各位学员们 咱们第一期课程就要开始了 下面划重点! 一 高校院系 齐鲁工业大学数学与统计学院应用统计系 二 实训日期 2 ...

  3. Kettle工具使用及总结

    Kettle工具使用及总结 一.kettle安装及报错: kettle主要用于数据清洗,即常见ETL工具,拥有图形化界面且免费的优点.其下载包直接解压打开就能用,遇到的问题: 1.连接MySQL报错: ...

  4. mysql etl工具干什么的_基于现在接触的ETL工具(datax和kettle)做个小总结

    现阶段需要做数据库同步工作,目前调研了两个工具datax和kettle 目前虽然环境使用的是kettle+jenkins调度平台方案,但是多多少少会有一些不太令人满意的地方,但应该算是满足大部分需求了 ...

  5. BI可视化分析之Pentaho

    简介 我们在上一篇数据仓库选型中已经确定了用使用Pentaho作为BI可视化分析工作. Pentaho的中文文档多,国际化做的比较好. 巧合的是我们之前使用的ETL数据清洗工具kettle也是属于Pe ...

  6. ETL数据清洗Kettle工具

    文章目录 一.简介 二.资源库(新建.管理) 三.转换 1. 新建数据源 2. 简单的输入输出 配置步骤 2.1 配置表输入 2.2 配置表输出 2.3 保存 2.4 启动与执行结果 3. 转换 1. ...

  7. 《数据清洗》——kettle基本工具的使用

    转换的基本概念及操作 一个数据抽取主要包括创建一个作业,并且每个作业可以包括多个转换操作,此数据抽取操作可以通过kettle工具完成,也可以通过编写程序调用的方式实现. 转换是ETL解决方案中重要的组 ...

  8. 【数据预处理】基于Kettle的字符串数据清洗、Kettle的字段清洗、Kettle的使用参照表集成数据

    文章目录 一.前言 1.1 实验内容 二.实验过程 2.1 实验内容一:掌握基于Kettle的字符串数据清洗 2.2 实验内容二:掌握基于Kettle的字段清洗 2.3 实验内容三:掌握基于Kettl ...

  9. 数据清洗基础—Kettle 数据转换与清洗、数据抽取操作

    实验一:数据清洗基础-Kettle 数据转换与清洗.数据抽取操作 1 实验题目:Kettle 数据转换与清洗.数据抽取操作 2实验目和要求 2.1熟悉 Kettle 的开发环境,并掌握 Kettle ...

  10. kettle清洗mysql数据_ETL工具Kettle使用以及与Java整合实现数据清洗

    本文主要讲述kettle的使用和与Java整合,具体下载与安装请自行百度! kettle有两种脚本方式:转换和工作,工作中可以添加转换.以下以转换为例. 1.新建一个转换, 2.在工作中经常用到的是表 ...

最新文章

  1. 神经网络为什么需要多次epoch
  2. 电脑测速软件_康佳电视免费看直播,如何安装第三方软件?2个方法值得收藏...
  3. angular学习笔记(四)- input元素的ng-model属性
  4. (转载)你好,C++(19)“老师,我这次四级考试过了没有?”——4.2 条件选择语句...
  5. spring boot: spring Aware的目的是为了让Bean获得Spring容器的服务
  6. PowerTip of the Day-Finding Invalid Aliases
  7. 微纪实 | 人工智能产业落地最真实的样子
  8. 【332】Machine Learning
  9. php curl nginx post 空_【青藤云安全研究】绕过php的disable_functions(上篇)
  10. EF with (LocalDb)V11.0
  11. Puppet的安装部署
  12. SAP Basis常用事务代码
  13. Git+GitHub+SaltStack
  14. C# 值类型与引用类型的异同
  15. 调用百度地图API进行当前位置定位失败解决方法
  16. 研究生自然辩证法试题题库及答案
  17. HDOJ-----5773The All-purpose Zero(LIS)
  18. QNX Hypervisor —— 设备
  19. 使用photoshop对图片像素级的标注
  20. Android 仿微信通讯录 导航分组列表-上】使用ItemDecoration为RecyclerView打造带悬停头部的分组列表

热门文章

  1. 阿里安全SQL注入检测 前五名队伍分享
  2. python统计图的三层结构设计_中大型LABVIEW软件三层设计架构(带图片目录完整版)...
  3. abb机器人编程指令goto指令_ABB机器人~编程基本指令之运动指令
  4. django+layui表格数据管理
  5. CC2530单片机开发--串口
  6. 小程序直传阿里云OSS 踩坑
  7. R语言聚类分析-kmeans聚类分析实战
  8. 电机驱动软件学习笔记——数据打包解包CRC校验
  9. Android开发——项目实例(一)迷你背单词软件
  10. UE4蓝图基础04-变量和数组