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

news/2025/2/22 8:43:31/

文章目录

  • 一.前言
    • 1.1 实验内容
  • 二.实验过程
    • 2.1 实验内容一:掌握基于Kettle的字符串数据清洗
    • 2.2 实验内容二:掌握基于Kettle的字段清洗
    • 2.3 实验内容三:掌握基于Kettle的使用参照表集成数据
    • 2.4 实验心得:

一.前言

需要本文章的源文件下链接自取:【ktr源文件】

https://download.csdn.net/download/weixin_52908342/87346930

1.1 实验内容

本次实验内容如下:

  1. 掌握基于Kettle的字符串数据清洗

  2. 掌握基于Kettle的字段清洗

  3. 掌握基于Kettle的使用参照表清洗

二.实验过程

2.1 实验内容一:掌握基于Kettle的字符串数据清洗

  1. 数据清理,就是试图检测和去除数据集中的噪声数据和无关数据,处理遗漏数据,去除空白数据域和知识背景下的白噪声,解决数据的一致性、唯一性问题,从而达到提高数据质量的目的。

  2. 基于Kettle的字符串数据清洗包括字符串替换(Replace in string)、字符串操作(String operations) 和字符串剪切(Strings cut)。字符串替换和字符串剪切功能相对单一,但由于字符串替换支持正则表达式,所以真正的功能远比字面上表达的强大许多。字符串操作提供了字符串的常规操作,功能丰富

  3. 第一步,输入。可以使用“输入自定义常量数据(Data Grid)“步骤作为输入。

img

img

4.第二步,使用“字符串操作”步骤做初步清理。达到以下目标:

  1. 清除ID字段的前后空白字符

  2. 提取CODE字段的数字

  3. 转换CITY字段全部为大写

img

img

  1. 第三步,使用“字符串替换”步骤清理CODE字段。使CODE字段全部以一个数字0开始

img

  1. 第四步,使用“字符串剪切”步骤清理CITY字段。使CITY字段只包括城市名拼音

img

  1. 第五步,输出清理结果,选用Excel输出步骤

img

  1. 点击运行按钮,在弹出的对话框中点击启动按钮。

img

2.2 实验内容二:掌握基于Kettle的字段清洗

  1. 用拆分字段成多行步骤将城市字段拆分成多行

  2. 新建一个转换field_op,添加一个输入步骤Data Grid,输入如下数据:

img

img

  1. 新字段设置成“城市NEW”,示例中的数据以“,”分隔,这是一个中文逗号,分隔符可以设置成“,”但是如果既有中文逗号,又有英文逗号, 甚至还有中英文分号,或者顿号,这时怎么办?由于该步骤的分隔符支持正则表达式,不妨将分隔符设成正则形式[,,;;、]

img

  1. 预览拆分字段成多行步骤

img

  1. 点击运行按钮,在弹出的对话框中点击启动按钮。

2.3 实验内容三:掌握基于Kettle的使用参照表集成数据

  1. 不同系统的很多数据表示都不相同,数据集成时要有统一的表示方式。参照表中可以设置一列标识数据来源系统名的字段——SRC_SYS,但是各个源数据中没有这个标识自己系统名的字段。那么如何处理呢?一种方式是为源数据增加一个记录系统名的字段,只为查询而增加一个字段这一般是不可取的,另一种方式是根据源数据的系统名,过滤参照表。

  2. 使用参照表集成数据思路:

第一步,一个源数据输入,一个参照数据输入

第二步,过滤参照表,根据源数据的系统名过滤参照数据

第三步,查询过滤后的参照数据,获取性别的统一表示符

最后,预览查询步骤的结果,根据需要自行添加输出

  1. 第一步,新建转换ref_op_1。创建两个Data Grid,分别命名为“Data Grid”和”Data Grid Ref“:Data Grid:作为源数据,输入示例数据;Data Grid Ref:输入参照数据,如图:

img

img

  1. 第二步,过滤参照表。使用过滤记录(Filter rows)步骤过滤参照表的数据。过滤条件设“SRC_SYS = SystemB”,筛选出SystemB的参照数据

img

  1. 第三步,查询参照表。使用流查询(Stream lookup)步骤查询参照表

img

  1. 最后,预览查询结果:

img

2.4 实验心得:

本次实验收获很大,掌握了基于Kettle的字符串数据清洗,掌握基于Kettle的字段清洗,掌握基于Kettle的使用参照表清洗。


http://www.ppmy.cn/news/6784.html

相关文章

利用Bat打开exe程序并传入值

目录 一、分清楚exe接收值的方式 1、打开exe时提示输入1、2、3... 2、知道exe形参(程序主函数中定义的argv[]) 二、call和start的区别 一、分清楚exe接收值的方式 1、打开exe时提示输入1、2、3... 如图: 这种是程序运行时接收用户输入…

Linux

5.1 项目部署 5.1.1 环境 5.1.1.1 开发环境(dev) 外部用户无法访问,开发人员使用,版本变动很大 平时大家大多是在Windows或者Mac操作系统下去编写代码进行开发. 在开发环境中安装大量的软件,这样会导致环境的稳定性和…

基于yolov5s实践国际象棋目标检测模型开发

在我前面的一篇文章中讲解实现了基于改进的yolov5s-spd模型实现了五子棋目标对象检测模型系统的设计开发,这里紧接前文,突发奇想,是否可以借鉴同样的思路实现象棋的检测模型开发呢?理论上面肯定是可以的,但是实际效果如…

C++中二叉树的递归遍历方法2-2

在《C中二叉树的递归非遍历方法3-3》中提到,二叉树的层序遍历的输出顺序是从根节点开始,一层一层横向遍历各个节点。如图1所示的二叉树,层序遍历的输出的输出顺序为“1->2->3->4->5->6”。 图1 二叉树结构 1 递归实现层序遍历…

Nacos配置中心

Nacos配置中心 使用 Spring Cloud Alibaba Nacos Config&#xff0c;可基于 Spring Cloud 的编程模型快速接入 Nacos 配置管理功能。 1.配置中心的基本使用 1.1 创建项目config-client-a <?xml version"1.0" encoding"UTF-8"?> <project xm…

【高级篇04】MySQL逻辑架构

文章目录第四章&#xff1a;逻辑架构逻辑架构SQL执行流程数据库缓冲池第四章&#xff1a;逻辑架构 逻辑架构 第一层&#xff1a;连接层。客户端访问MySQL服务器&#xff0c;首先建立TCP连接&#xff0c;经过三次握手建立连接成功后&#xff0c;MySQL服务器对TCP传输过来的账号…

华为OD机试真题 Python 实现【水库蓄水问题】【2022.11 Q4 新题】

目录 题目 思路 考点 Code 题目 题目描述: 给定一个长度为 n 的整数数组 height 。数组的元素表示山的高度,选择两个元素作为水库的边界,求蓄水量的最大值并输出蓄水量最大时的边界下标(蓄水量相同时输出下标较近的)。 输入描述: 输入一行数字,空格分隔。 输出描述:…

黄海冷水区微生物群落的季节演替及温度响应模式

期刊&#xff1a;Applied and Environmental Microbiology 影响因子&#xff1a;5.005 发表时间&#xff1a;2022 样本类型&#xff1a;水体 客户单位&#xff1a;中国海洋大学 凌恩客户中国海洋大学发表在《Applied and Environmental Microbiology》上的文章…