数据预处理
1.什么是数据预处理
数据预处理是指在主要的处理以前对数据进行的一些处理。数据预处理的主要过程有数据抽取(Extraction)、数据转换(Transformation)和数据加载(Loading),也称为ETL,这个过程是负责将分布的、异构数据源中的数据抽取到临时中间层进行转换、集成等处理,最后加载列数据仓库或数据集市中,成为联机分析处理、数据挖掘的基础。
2.数据预处理的起源
数据库作为企业信息的存储枢纽,不仅为企业的日常业务提供各种各样的数据服务,而巳也是企业经营决策的基础,数据库管理系统因此衍生出以事务型处理为主、以决策支持及联机分析处理为主的两种不同数据库系统。20世纪70年代开始出现的关系数据库(传统数据库)无法承担将日常业务处理中所收集到的各种数据转变为具有商业价值的信息。其原因是传统数据库的处理方式与决策支持中的数据路求不相称,主要体现在以下几个方面:
(1)系统响应问题。在传统数据库中,用户对数据的操作时间短暂,能保证较高的系统响应时间,但决策分析问题的解决则需要遍历数据库中大部分的数据,消耗大量的系统资源,这是OLTP系统无法承担的。
(2)数据需求问题。决策支持需要全面、正确的集成数据,这包括内部各部门的有关数据和企业外部的、甚至竞争对手的相关数据,但是在传统数据库中只存储了本部门的事务处理数据。
(3)决策问题相关的集成数据。若每次用户决策分析都需要进行一次数据的集成,将极大地降低系统运行的效率。
(4)操作问题。传统数据库中的用户只能使用系统所提供的有限参数进行数据操作,访问受到很大的限制,而决策分析人员希望以专业用户的身份,用各种工具对数据进行多种形式的操作,结果以商务智能的方式表达出来。
现代的商务智能系统的目的就是要通过数据分析来辅助用户决策,这些数据的来源、格式不一样,影响了系统实施,提高了数据整合的难度。那么,对于传统的数据库就需要有一个全面的解决方案,来解决数据的一致性与集成化问题,可以使用户能够从已有传统环境与平台中采集数据,并利用一个单一解决方案对其进行高效的转换。
3.数据预处理的内容
在构建商务智能系统时,如何正确有效地将分散在各个不同数据源中的信息整合到系统中成为整个系统成败的关键,直接影响到系统的运行效率和最终结果。数据预处理正是解决这一问题的有力方案。数据预处理包含3方面的内容:一是“抽取(Extraction)”,指的是将数据从各种原始的业务系统中读取出来,这是所有工作的前提;二是“转换(Transformation)”,指按照预先设汁好的规则将抽取的数据进行转换,使本来异构的数据格式能统一起来;三是“加载(Loading)”,将转换完的数据按计划导入到数据仓库中。
数据预处理就是指把数据从数据源依照一定的规则装入到数据仓库的过程,这个过程的实质就是符合特定规则的数据流动过程,从不同异构数据源流向统一的目标数据。数据仓库的构建中,数据预处理是关键的一环,它是整个数据仓序的生命线.一直贯穿于项目始终。如果将数据仓库比喻为高楼,那么数据预处理就是地基,建亿数据仓库的首要问题,要考虑从不同类型的源系统中提取数据以及要将数据存储在一个相当规模的目标数据库中,这个过程就是数据预处理过程。
(1)数据抽取
数据拙取部分是将数据从各个不同的数据源抽取到ODS(Operational Data Store,操作型数据存储)中,在抽取的过程中需要挑选不同的抽取方法,尽可能地提高数据预处理的远行效率。如果已经并清楚了数据是从几个业务系统中来,各个业务系统的数据库服务器远行什么DBMS,是否存在手工数据,手工数据量有多大,是否存在非结构化的数据等相关的信息,就可以根据这些信息开始进行数据抽取部分的设计。
(2)数据转换
数据转换部分实际就是利用有关技术,如数理统计、数据挖掘或预定义的数据转换规则将源数据转化成满足数据质量要求的数据。数据预处理中,花费时间最长的就是数据的转换部分,一般情况下这部分的上作量要占整个数据预处理的2/3。在大多数情况下,数据转换是将数据汇总,以位它更布意义。在转换结构中,确保能找出一种最好的方法保证数据从传统的数据存储器到数据仓库的同步。
(3)数据加载
数据加载部分是将转换后的数据加载到数据仓库中。数据加载策略包括加载周期和数据追加策略,数据加载周期要综合考虑经营分析需求和系统训载的代价,对不同业务系统的数据采用不同的加载周期,但必须保持间一时间业务数据的完整件和一致性。