当前位置:文档之家› 数据导入与预处理应用 第4章 数据清理

数据导入与预处理应用 第4章 数据清理

• 一切的美好都是建立在庞大而整洁的数据之上 • 然而,现实中的数据却是:杂!脏!乱! • “错进!错出!”
缺失 错误
数据质 量差
不一 致
不合 规
不完 整
重复
无效 4
数据清理做些什么? 数据清理,就是试图检测和去除数据集中的噪声数据和无关数据, 处理遗漏数据,去除空白数据域和知识背景下的白噪声,解决数据 的一致性、唯一性问题,从而达到提高数据质量的目的。
...
11
4.1.1 常用的数据清洗步骤介绍
校验目录下目前有四个步骤,其中数据校验(Data validator) 步骤将在4.1.5数据校验部分有详细介绍
脚本目录下目前有九个步骤,其中JavaScript代码、正则表达 式验证、公式、用户自定义Java表达式和UDJC这五步骤将在 本章最后一节4.3中有介绍
15
4.1.2 字符串清洗
示例:区号和城市对照表
ID 0
1 2
CODE 10 0755 0023
3
021a
CITY BJ-BeiJing SZ-ShenZhen CQ-CHONGQING SH-shanghai
ID字段有些无效的空白字符,可以使用字符串操作步骤的Trim type进行清洗 CODE也就是区号字段里有无效的字母,并且有些区号前没有0,接合使用字符串操作和字符串 替换两个步骤清洗 CITY字段里大小写不统一,并且可能并不需要前面两个字母的缩写,接合使用字符串操作和字符 串剪切两个步骤清洗
16
4.1.2 字符串清洗
设计思路:
第一步,输入。使用“输入自定义常量数据(Data Grid)“步骤作为输入 第二步,使用字符串操作步骤做初步清理。达到以下目标:
1. 清除ID字段的前后空白字符 2. 提取CODE字段的数字 3. 转换CITY字段全部为大写 第三步,使用字符串替换步骤清理CODE字段。使CODE字段 全部以一个数字0开始 第四步,使用字符串剪切步骤清理CITY字段。使CITY字段只 包括城市名拼音 第五步,输出。使Excel输出最终结果
13
4.1.2 字符串清洗
字符串替换(Replace in string)
• 对字符串做查找替换 • 由于该步骤支持正则表达式,所以它的真正功能远比字面上的强大
14
4.1.2 字符串清洗
字符串操作(String operations)
• 字符串首尾空白字符去除:Trim type • 大小写:Lower/Upper、InitCap • 填充字符设置:Padding、Pad char、Pad Length • 数字移除/提取:Digits • 删除特殊字符:Remove Special character
• 该步骤可以对字段进行选择、删除、重命名等操作,还可以更改字段的数据类型等元数据 • 将在4.1.3字段清洗部分详细介绍
去除重复记录(Unique rows) 去除重复记录(哈希值)(Unique rows(HashSet)
• 通过给定字段清除重复数据 • 将在 4.2 数据排重部分详细介绍
字符串替换(Replace in string) 字符串操作(String operations) 字符串剪切(Strings cut)
• 字符串替换和字符串剪切功能相对单一,但由于字符串替换支持正则表达式,所以 真正的功能远比字面上表达的强大许多 • 字符串操作提供了字符串的常规操作,功能丰富 • 这三个步骤将在4.1.2字符串清洗部分讲解
5
பைடு நூலகம்
01
4.1 数据清洗 概述
4.1 数据清洗概述
4.1.1 常用的数据清洗步骤介绍 4.1.2 字符串清洗 4.1.3 字段清洗 4.1.4 使用参照表清洗数据 4.1.5 数据校验
4.1.1 常用的数据清洗步骤介绍
Kettle 没有单一的清洗步骤清洗工作,需要结合多个步骤来完成。
数据的清洗工作从抽取数据就开始了! e.g. “表输入(Table input)”步骤
数据导入与预处理应用-第四章 数据清理
目录
01
4.1 数据清 洗概述
4.2 数据排 重
02
03
4.3 使用脚 本组件进行 数据清理
数据的重要
• 数据分析、数据挖掘、机器学习、人工智能等技术都以数据为依托 • 利用这些数据及技术可以很准确地发现趋势,预测未来
数据挖掘
机器学习
数据分析
数据
人工智能
3
为什么要数据清理?
10
4.1.1 常用的数据清洗步骤介绍
拆分字段(Split Fields) 合并字段(Concat Fields) 拆分字段成多行(Split filed to rows)
• 这三个步骤主要是通过分隔符来拆分、合并字段 • 将在4.1.3字段清洗部分详细介绍
字段选择(Select values)
其他目录下还有很多清洗步骤,比如查询目录下的模糊匹配 (Fuzzy match)步骤,将在4.2数据排重中会详细介绍
12
4.1.2 字符串清洗
主要介绍转换目录下的三个字符串清洗步骤: 字符串剪切(Strings cut)
• 对字符串做剪切的功能 • 该步骤需要在The fields to cut版面添加需要剪切的字符串字段(In stream field),输出字段(Out stream field),以及剪切的位置(Cut from, Cut to) • 当设置输出字段时,所剪切的子字符串将放在设置的输出字段中,否则,将覆盖 输入字段
SELECT student_id,score FROM student_info ORDER BY score DESC
注意: 难维护,当SQL语句太过复杂时,后期的维护会非常困难。 无法审计,数据进入Kettle已经做过清洗,Kettle无法提供审计功能。
4.1.1 常用的数据清洗步骤介绍 常用转换步骤所在目录
转换目录
脚本目录 校验目录 其它目录
9
4.1.1 常用的数据清洗步骤介绍
转换目录下的常用清洗步骤:
计算器(Calculator)
• 功能丰富,在7.1版本已有90多项功能,并且随着版本更新,功能还会不断增加 • 提供预定义的函数来处理输入字段,性能很高 • 在4.1.4 使用参照表清洗数据 部分做介绍
相关主题