- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
清洗RDBMS数据实列
1 准备工作
清洗RDBMS数据实例
本次使用的数据集来源于某校排课数据文件,文件类型为xls,数据集特点如下:
1.准备待清洗的数据集
某些字段内容存在缺失值,某些字段内容出现格式错误或逻辑错误
1
2
数据集一共包含30个字段
2
教师信息表作为辅助表
清洗RDBMS数据实例
存储
存储成本下降
1准备工作
2.搭建操作环境
环境的搭建包括安装MySQL数据库、安装Navicat软件、安装ETL工具、用ETL工具连接数据库。本章ETL工具选择Pentaho Data Integration 6.1(也称作Kettle)。在运行Kettle前,需进行Java环境的配置。Java环境变量的配置如图8-1、图8-2所示。
图8-1 Java环境变量CLASSPATH与JAVA_HOME
图8-2 Java环境变量Path
清洗RDBMS数据实例
存储
存储成本下降
1准备工作
2.搭建操作环境
kettle连接数据库的操作主要包括以下几个步骤:
下载连接包;
打开Spoon.bat文件,进入Spoon界面;
双击Navicat应用程序,打开MySQL数据库;
双击“转换1”下的DB连接,弹出数据库连接界面。连接类型选择MySQL,连接方式选择Native(JDBC)。根据实际情况填写连接名称、主机名称、数据库名称、端口号、用户名、密码,并单击“测试”按钮,若连接成功,则出现如图8-4所示的提示界面。。
图8-4 Kettle连接MySQL数据库成功
清洗RDBMS数据实例
存储
存储成本下降
1准备工作
3.数据导入MySQL
下面介绍用Kettle工具将排课数据导入MySQL的过程(部分重要过程):
步骤1:在“Excel输入”中,选择“工作表”选项卡,单击“获取工作表名称”按钮,选择需要导入数据的sheet表,如图8-8;
步骤2:选择“字段”选项卡,单击“获取来自头部数据的字段”按钮,得到获取字段的结果,再单击“确定”按钮,如图8-9所示;
步骤1:双击“表输出”图标,打开“表输出”操作界面,设置MySQL与输出的连接;
步骤2:打开Navicat软件,在test数据库下建立名为“course_info”的表,并定义表字段名称和类型;
清洗RDBMS数据实例
存储
存储成本下降
1准备工作
3.数据导入MySQL
步骤3:将Excel表中的字段与数据库表中的目标字段进行匹配,单击“确定”按钮;
步骤4:单击运行“转换”按钮,完成转换,从而实现数据的导入操作.
图8-8 添加工作表
图8-9 输入的Excel中字段的配置
习题
2 数据库数据清洗
清洗RDBMS数据实例
重 要 性
缺 失 率
策 略
高
高
1. 尝试从其他渠道取数补全2. 使用其他字段通过计算获取
高
低
通过经验或业务知识统计
低
低
不做处理或者简单填充
低
高
去除字段,并在结果中标明
填充实例前提:分析导入数据库test的表course_info,发现professional(职称)字段中内容缺失率较高,达43%。结合实际情况,发现此字段的重要性较高,所以采取从其他渠道取数补全的清洗策略。本节将结合另一张教师信息表teacher_info中完整的professional字段信息,利用Kettle对course_info表中professional字段的缺失值进行填充。
2 数据库数据清洗
清洗RDBMS数据实例
运行SQL脚本进行填充
方法1
第一步
第二步
第三步
第四步
使用Kettle将teacher_info表导入test数据库
新建连接,连接数据库
编辑SQL脚本,在SQL脚本框中输入待执行的SQL语句
单击“运行转换”按钮,即可执行SQL语句
2 数据库数据清洗
清洗RDBMS数据实例
运用控件进行填充
方法2
第一步
第二步
第三步
第四步
建立表输入,输入内容为待处理内容
建立“表输入”“过滤记录”“插入/更新”之间的连接,以便完成操作目标
设置“过滤记录”。只有当待填充表course_info中的professional字段值为空或者为空字符串时才实现填充功能,因此在过滤记录中需注明过滤条件
设置“插入/更新”选项,实现更改内容与待更改字段的映射,之后再点击运行转换
2 数据库数据清洗
清洗RDBMS数据实例
格式内容清洗前提:何为错误类型1,错误类型2?
在course_info表中,考核方式字段assess_method内容混入了空格,如assess_method='考 查',将这种情况定义为“格式错误类型1”。另外,在tname(教师姓名)字段下出现了tname='20168'的情况,而经过分析发现部分tname的值等于tcode(教师编号)的
企业信息管理师持证人
新能源集控中心项目 智慧电厂建设项目 智慧光伏 智慧水电 智慧燃机 智慧工地 智慧城市 数据中心 电力行业信息化
文档评论(0)