数据质量管理--数据抽取和清洗

web数据集成技术可以从web上自动获取数据,但是获取的信息存在着大量的脏数据,比如滥用缩写词,惯用语,数据输入错误,重复记录,丢失值,拼写变化,不同的计量单位。这些数据是没有意义的,根本就不可能为以后的数据挖掘决策分析提供任何支持。

数据清洗主要是提高数据的可用性,目前,数据清洗主要应用于三个领域:

1 数据仓库(DW)

2数据库中的知识发现(KDD)

3数据质量管理(TDQM)

我在公司里的第一个项目就是数据质量管理,在这里在说下数据质量管理:

通过制定、实施数据质量检核,暴露各系统数据质量问题。持续监控各系统数据质量波动情况及数据质量规则占比分析,定期生成各系统关键数据质量报告,掌握系统数据质量状况。结合系统提供的清洗组件以及数据质量问题处理流程为各系统数据质量提升提供有效支撑。

数据质量(DataQuality)管理是贯穿数据生命周期的全过程,覆盖质量评估,数据去噪,数据监控,数据探查,数据清洗,数据诊断等方面。数据度量和变化频度提供了衡量数据质量好坏的手段。数据度量主要包括完整性、唯一性、一致性、准确性、合法性。变化频度主要包括业务系统数据的变化周期和实体数据的刷新周期。数据质量管理准则包括测量、提高组织数据的质量和整合性的方法。数据质量处理包括数据标准化、匹配、生存和质量监测。数据必须具备适当的质量,以解决业务要求问题。

结合大数据的参考框架及数据处理实际需求情况,数据质量管理系统主要功能定位为:数据发现、质量管理、元数据、主数据管理和信息政策管理。

在数据生命周期中,数据的获取和使用周期包括系列活动:评估,分析,调整,丢弃数据,

目前数据清洗的模型:

基于粗糙集理论数据清洗

基于聚式模式数据清洗

基于模糊匹配数据清洗模型

基于遗传神经网络数据清洗

基于专家系统体系结构等

数据校验及转换

数据校验的目的是确保抽取数据本身的正确性和完整性,

数据转换的目的是保证数据的一致性

数据清洗流程

1数据预处理: 包括数据元素化,保准化

2确定清洗方法:

3校验清洗方法:先验证所用的清洗方法是否合适,抽取小样本进行验证,判断其召回率和准确率

4执行清洗工具:

5数据归档:将新旧数据源进行归档处理,方便以后的清洗

一般情况下,模式中反应的元数据对应判断一个数据源的质量远远不够,因此通过具体实例来获得有关数据熟悉和不寻常模式的元数据很重要。这些元数据可以帮助发现数据质量问题,也有助于发现属性间的依赖关系,

1数据分析

数据分析的两种方法;

数据派生:主要对单独的某个属性进行实例分析。数据派生可以得到关于属性的很多信息,比如数据类型,长度,取值空间,离散值,他们的出现频率和不同值的个数等,通过应用统计技术,可以得到属性间的平均值,中间值标准差等

数据挖掘:帮助在大型数据集中发现特定的数据模式,可以通过数据挖掘来发现属性间的一些完整性约束如函数依赖和商业规则。

2定义清洗转换规则与工作流

根据数据源中不一致数据和“脏数据”多少的程度,需要执行大量的数据转换和清洗步骤

3验证

定义的清洗规则和工作流的正确性和效率应该进行验证和评估,真正的数据清洗过程需多次迭代的进行分析设计和验证

4清洗数据中的错误

注意先备份源数据,

5干净数据回流

干净的数据替换数据源中原来的“脏数据”

数据清洗框架

A与领域无关的数据清洗框架

元数据是指”关于数据的数据“,指在数据清洗过程中所产生的有关数据源定义,目标定义,转换规则等相关的关键数据,元数据在数据清洗过程中包含以下几个组件:

1基本组件:主要是对元数据的特征进行描述,包括:可以提供元数据的数据库名,数据库编号,数据库表及表的编号,表中的属性及属性的编号。

2清洗规则组件:数据质量规则定义了元数据中质量问题和数据清洗规则,包括错误数据表

3数据加载组件:用于确定异构的元数据什么时候、将什么数据加载到目的数据库中

另外的三个工作流:

(1)数据分析流(2)数据清洗工作流(3)清理结果检验工作流

B.基于领域知识相关的数据清洗框架

基于知识的数据清洗框架,在领域知识的指导下从样本数据中抽取,验证知识,然后通过专家系统引擎对整体数据进行清洗

1规则生成阶段:首先生成一个样本数据集,样本数据集是从整个数据库中抽出的小部分样本,在此基础上通过专家的参与产生规则库,在得到初步的规则后,把他们应用到数据集上,观察中间结果,进一步修改规则,在这个过程中,可以基于机器学习和统计学技术来帮助解决。

2预处理阶段:根据生成的预处理规则纠正我们能检测到的所有异常,基本的预处理包括:数据类型检测,数据格式标准化,解决数据不一致

3处理阶段:数据会接着流入 专家引擎系统,典型的规则包括脏数据检测规则,重复数据检测,错误数据更正规则

4数据加载阶段:通过数据加载规则,把清洗后的数据加载到目的数据库中

数据框架清洗设计

下面是nosql的一点笔记

Hypertable的目标就是为了解决大并发,大数据量的数据库需求,可以处理大量并发请求,管理大量数据,可扩缩性好。

时间: 2024-10-06 18:27:02

数据质量管理--数据抽取和清洗的相关文章

BI项目中的ETL设计详解(数据抽取、清洗与转换 )

ETL是BI项目最重要的一个环节,通常情况下ETL会花掉整个项目的1/3的时间,ETL设计的好坏直接关接到BI项目的成败.ETL也是一个长期的过程,只有不断的发现问题并解决问题,才能使ETL运行效率更高,为项目后期开发提供准确的数据. ETL的设计分三部分:数据抽取.数据的清洗转换.数据的加载.在设计ETL的时候也是从这三部分出发.数据的抽取是从各个不同的数据源抽取到ODS中(这个过程也可以做一些数据的清洗和转换),在抽取的过程中需要挑选不同的抽取方法,尽可能的提高ETL的运行效率.ETL三个部

「数据治理那点事」系列之三:不忘初心方得始终,数据质量管理要稳住!

文 | 乐天(原创)未经许可,不可转载. 编辑 | 刘能 碳酸 本文约 3209 字,预计阅读时间 9 分钟 作者简介:蒋珍波(乐天),6 年+ 大数据咨询经验,擅长为客户提供科学合理的大数据解决方案.目前担任数澜科技咨询专家,负责数澜大数据平台售前咨询. 本文主要讲述数据治理中的重要工作:数据质量管理,从以下几个角度展开具体讲解: (1)数据质量管理的目标 (2)质量问题产生的根源 (3)数据质量的评估 (4)数据质量管理的流程 (5)数据质量管理的取舍 一.数据质量管理的目标 数据质量管理主

利用Flume将MySQL表数据准实时抽取到HDFS

转自:http://blog.csdn.net/wzy0623/article/details/73650053 一.为什么要用到Flume 在以前搭建HAWQ数据仓库实验环境时,我使用Sqoop抽取从MySQL数据库增量抽取数据到HDFS,然后用HAWQ的外部表进行访问.这种方式只需要很少量的配置即可完成数据抽取任务,但缺点同样明显,那就是实时性.Sqoop使用MapReduce读写数据,而MapReduce是为了批处理场景设计的,目标是大吞吐量,并不太关心低延时问题.就像实验中所做的,每天定

数据的随机抽取 及 jQuery补充效果(菜单、移动)

一.数据的随机抽取 都见过那种考试题从很多题中随机抽取几道的试卷吧,现在就要做这样的一个例子:从数据库中随机抽取几条数据出来显示(例如:一百中随机挑选50条) 随机挑选是要有提交数据的,所以肯定是要有可视化界面和后台处理页面 (1)提交界面 a.使用表单提交(做出一个表单来,这都是页面布局的程序了,在这不多说肯定都会使用from表单)如下: <form action="nt.php" method="post"> <div class="

reshape2 数据操作 数据融合 (melt)

前面一篇讲了cast,想必已经见识到了reshape2的强大,当然在使用cast时配合上melt这种强大的揉数据能力才能表现的淋漓尽致. 下面我们来看下,melt这个函数以及它的特点. melt(data, ..., na.rm = FALSE, value.name = "value") 从这里来看函数的参数也相对比较简单,data表示要处理的数据,na.rm表示缺失值处理办法,value.name用于重命名值所在列的名称 另外,melt函数的难点在于,不同数据结构,用到的参数可能是

黄土高原 shp 矢量 数据 ArcGIS数据

黄土高原 shp  矢量 数据 ArcGIS数据 加我qq 2944410238 获取数据

Hadoop! | 大数据百科 | 数据观 | 中国大数据产业观察_大数据门户

你正在使用过时的浏览器,Amaze UI 暂不支持. 请 升级浏览器 以获得更好的体验! 深度好文丨读完此文,就知道Hadoop了! 来源:BiThink 时间:2016-04-12 15:14:39 作者:陈飚 “昔我十年前,与君始相识.” 一瞬间Hadoop也到了要初中择校的年龄了. 十年前还没有Hadoop,几年前国内IT圈里还不知道什么是Hadoop,而现在几乎所有大型企业的IT系统中有已经有了Hadoop的集群在运行了各式各样的任务. 2006年项目成立的一开始,“Hadoop”这个单

android SharedPreferences简单应用 插入数据 读取数据

package com.sharedpreference; import java.text.SimpleDateFormat; import java.util.Date; import android.os.Bundle; import android.app.Activity; import android.content.SharedPreferences; import android.view.Menu; import android.view.View; import androi

用含有合并单元格的数据创建数据透视表

大家知道,使用含有合并单元格的数据创建数据透视表时,会有空的结果出来,不能达到我们的要求,问题的关键在于被合并的单元格的值是空值,那么,问题来了,怎么把这些被合并的单元格作为有值合并呢,即,虽然被合并,但值还在,只是不显示出来而已,这样创建出的数据透视表就能得到正确的结果了. 上图: 操作: 0.原始含合并单格格的值为"原始"部分: 1.将0的部分使用格式刷刷至①处保留: 2.将"原始"部分取消合并单元格,并填充为正常的值: ※ 如果数据量较大,可以参考这个方法进行