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

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

news/2024/5/15 17:00:30/

文章目录

  • 一.前言
    • 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》上的文章…

Matlab 实现磁测数据日变改正

1 算法 算法来自于GEMLink 5.2的帮助文档&#xff0c;这个文档基本解决了算法问题。 GemLink日变改正模块界面 1.1 概述 日变改正模块旨在执行磁力日变数据计算&#xff0c;而不用在仪器上进行日变&#xff08;仪器是未经过校正的原始数据&#xff09;。这个模块要求已经保…

车用DC-DC模块 1224V转5V2A过认证大塑料外壳

名称&#xff1a;车用12V转5V2A电源转换器 型号&#xff1a;LM40J5V2A3S 性质&#xff1a;非隔离型的BUCK电源转换器&#xff0c; 特点&#xff1a;采用集成IC设计&#xff0c;具有转换效率高&#xff0c;体积小&#xff0c;稳定可靠的特点&#xff0c;采用灌胶工艺&#xf…

SuperMap GIS 三维硬件设置优化

目录一、简介二、查看硬件显卡三、显卡设置1、NVIDA显卡设置2、AMD显卡设置一、简介 我们都知道为了体验更好的大型3D游戏&#xff0c;那么好的显卡是必不可少的。但是有了好的显卡当配置不对时&#xff0c;此时体验感也会大打折扣。同样的道理&#xff0c;在SuperMap中也需要…

SpringMVC使用Jackson、双向关联的解决策略@JsonIgnore

目录:一、SpringMVC和Jackson的关系&#xff1a;二、Jackson解决双向关联导致的栈溢出问题的解决方法&#xff1a;三、如何使用JsonIgnore&#xff1a;一、SpringMVC和Jackson的关系&#xff1a; SpringMVC返回return Object类型数据给前端时会自动调用jackson将Object类型的数…

电竞游戏蓝牙耳机哪个牌子好?电竞游戏蓝牙耳机排行榜

喜欢玩游戏或是追剧的话&#xff0c;佩戴蓝牙耳机更加不易受到外界的干扰&#xff0c;传输效果好的蓝牙耳机能够带来更好的画面感和立体感&#xff0c;那么电竞游戏蓝牙耳机哪个牌子好呢&#xff1f;以下是小编整理的几款当前值得入手的游戏蓝牙耳机。 第一款&#xff1a;南卡…

河海大学软件工程学硕考研复试经验贴

一、写在前面 想必看到这篇文章的学弟学妹都已经考完初试了&#xff0c;考得如何每个人心中各有千秋。无论如何&#xff0c;坚持将考研整个过程走下来的你们就已经是最棒的了&#xff0c;现在可以好好休息一下&#xff0c;静待考研成绩的公布了。 我写下这篇文章的目的主要是…

最强docker部署模板

00.背景 最近学校让一个小组做一个web项目最后部署到linux服务器上&#xff0c;项目本身并不难就是简单的增删改查&#xff0c;但是我想借着这个机会写一个docker部署的模板&#xff0c;方便自己以后用&#xff0c;也希望可以帮助到大家。 01.docker简介 docker可以快捷 轻量…

node-http模块

HTTP模块 这篇文章来谈一下node核心模块之一&#xff1a;http模块。 1.创建http应用&#xff1a; 步骤&#xff1a; 引入模块 》创建应用 》挂载到端口上的应用 const http require(http) const server1 http.createServer((req, res) > {res.end(13213123赛道回家) })…

人工智能:通过Python实现语音合成的案例

今天给大家介绍一下基于百度的AI语音技术SDK实现语音合成的案例&#xff0c;编程语言采用Python&#xff0c;希望对大家能有所帮助&#xff01; 注册百度AI平台应用百度AI开放平台-全球领先的人工智能服务平台 首先登陆自己的百度账户&#xff0c;打开百度的AI开发平台页面 搜索…

二次感染是啥?和“复阳”有何不同?10问10答

据人民日报健康客户端消息。最近&#xff0c;不少人都非常关心自己康复后&#xff0c;是否会二次感染&#xff1f;二次感染是否更加严重&#xff1f;……针对当前大家关心的热点问题&#xff0c;专家进行解答。 1、什么是二次感染&#xff1f; 北京大学第一医院感染疾病科主任…

2023跨年代码(烟花+自定义文字+背景音乐+雪花+倒计时)

2023年快要到来啦&#xff0c;很高兴这次我们又能一起度过~ 目录 一、前言 二、跨年烟花 三、效果展示 倒计时 2023​编辑 兔圆圆​编辑 四、编码实现 index.html 烟花&#xff0c;雪花&#xff0c;背景音乐&#xff0c;页面样式 index.js 自定义文字 五、获取代码 需…

RabbitMQ总结

目录 工作模式 简单模式 工作队列模式 发布订阅模式 路由模式 通配符模式 SpringBoot整合RabbitMQ 项目搭建 配置类中创建队列和交换机 编写生产者 编写消费者 消息的可靠性传递 死信队列 延迟队列 工作模式 RabbitMQ共有六种工作模式&#xff1a;简单模式&#xff08;Si…