数据仓库的目的是建立一个面向分析的集成数据环境,为企业提供决策支持。
数据仓库本身不“生产”任何数据;同时,它不需要“消耗”任何数据。数据来自外部,对外部应用开放,这也是它被称为“仓库”而不是“工厂”的原因。
构建数据仓库,必须有足够的数据源从外部为数据仓库系统提供“原材料”——数据进行分析,这些数据称为数据仓库的数据源。
数据源不限于传统的数据库,可以是非结构化的信息,比如爬行日志或者掩埋日志。
在BI项目中,ETL至少会占用整个项目1/3的时间,ETL的设计直接关系到BI项目的成败。其中“T”(转换、清理和转换)部分耗时最长,一般为总ETL工作量的2/3。
ETL是将业务系统中的数据提取、清洗、转换并加载到数据仓库中的过程。ETL的目的是将企业中散、乱、不统一的数据整合起来,为企业的决策提供分析依据。
ETL处理分为五个模块:数据抽取、数据清洗、数据转换、规则检查和数据加载。这些模块可以灵活组合,形成ETL处理流程。下面简单介绍一下各个模块的功能。
数据提取
在构建数据仓库的过程中,数据源提供的数据并不都是有用的,有些数据并不能支持决策。
同时,外部数据源中的数据冗余也很常见。由于数据仓库是面向主题的,所以数据源中只有与主题相关的内容才是必要的和有价值的。
因此,数据源的内容必须根据主题的需要有目的地选择。这个过程被称为“数据提取”。对于数据提取,它是从不同的数据源提取到ODS(操作数据存储)。
具体步骤如下:首先要搞清楚数据来自哪些业务系统,各个业务系统的数据库服务器运行的是什么DBMS,是否有非结构化数据等。收集这些信息后,可以设计数据提取。
1)对于与存储DW的数据库系统相同的数据源处理方法
这种数据源在设计上更容易处理。一般来说,DBMS(Mysql,SQLServer)会提供数据库连接功能,在DW数据库服务器和原业务系统之间建立直接连接关系,然后你就可以编写查询语句直接访问了。
2)对于不同于存储DW的数据库系统的数据源处理方法
对于这类数据源,一般也可以通过ODBC建立数据库连接。如果无法建立数据库连接,有两种方法可以完成。一种是将数据源导出到。txt或者。xls文件,然后将这些源系统文件导入ODS。另一种方法是通过程序接口来完成。
3)对于文件类型数据源(。txt/。xls)
业务人员可以使用数据库工具将这些数据导入到指定的数据库中,然后从指定的数据库中提取这些数据。或者业务人员可以借助工具来实现。
4)增量更新问题
对于数据量大的系统,必须考虑增量抽取。
一般业务系统会记录业务发生的时间,可以作为增量的标志。每次提取前,先判断ODS中记录的最大时间,然后根据这个时间去业务系统取所有大于这个时间的记录。
2.2.2数据清理和转换
一般来说,数据仓库分为ODS和DW。方法是从业务系统清洗到ODS,过滤掉脏数据和不完整数据,然后从ODS转换到DW,计算和聚合一些业务规则。
1)数据清理
数据仓库的数据源提供的数据内容不完善,存在“脏数据”——,即数据存在默认值、异常值等缺陷,数据仓库的数据源之间也存在不一致。
, 0, 0.84);font-family : ' font-size : medium;空白space:normal' background-color : # FFFFFF;'为了控制这些“脏数据”对数据仓库分析结果的影响,必须采取各种有效措施进行处理。这个过程称为“数据转换”。
对于任何数据仓库来说,数据清理过程都是必不可少的。不同类型的“脏数据”有不同的清理方法。
对于默认值:原因可能是暂时没有信息,信息遗漏,属性值不存在,比如孩子的固定收入等。
解决方法是通过简单的统计分析,得到有缺失值的属性个数,以及每个属性的个数、缺失数和缺失率。删除有缺失值的记录,插入可能的值并且不处理它们。
对于离群值:原因可能是:业务系统检查不足。解决的办法是先对变量做一个描述性的统计,然后看看哪些数据不合理。最常用的统计是最大值和最小值,然后判断变量是否超出合理范围。
如果数据符合正态分布,原则上异常值定义为与平均值的偏差超过标准值3倍的一组测量值;如果不符合正态分布,也可以用原则平均值的标准差的多少倍来描述。
对于不一致的值:原因可能是挖掘的数据来自不同的来源。
下一篇:百家号怎样才能提高收益(怎么样让百家号收益高)_抖音号出售
下一篇:暂无