ETL工具算法构建企业级数据仓库五步法.docx
《ETL工具算法构建企业级数据仓库五步法.docx》由会员分享,可在线阅读,更多相关《ETL工具算法构建企业级数据仓库五步法.docx(15页珍藏版)》请在第一文库网上搜索。
1、ETL工具算法构建企业级数据仓库五步法01 什么是 ETL ? ETL 是数据抽取(Extract )、转换(Transform )、加载(Load )的简写,它是将OLTP系统中的数据经过抽取,并将不同数据源的数据进行转换、整合,得出一致性的数据,然后加载到数据仓库中。简而言之ETL是完成从OLTP系统到OLAP系统的过程。02数据仓库架构数据仓库是基于OLTP系统的数据源,为了便于多维分析和多角度展现将其数据按特定的模式进行存储而建立的关系型数据库,它不同于多维数据库,数据仓库中的数据是细节的,集成的,数据仓库是面向主题的,是以OLAP系统为分析目的。数据仓库包括星型架构与雪花型架构,其中
2、星型架构中间为事实表,四周为维度表,类似星星;雪花型架构中间为事实表,两边的维度表可以再有其关联子表,而在星型中只允许一张表作为维度表与事实表关联,雪花型一维度可以有多张表,而星型不可以。考虑到效率时,星型聚合快,效率高,不过雪花型结构明确,便于与OLTP系统交互。在实际项目中,综合运用星型架构与雪花型架构。03 ETL构建企业级数据仓库五步法(一)确定主题即确定数据分析或前端展现的某一方面的分析主题,例如我们分析某年某月某一地区的啤酒销售情况,就是一个主题。主题要体现某一方面的各分析角度(维度)和统计数值型数据(量度),确定主题时要综合考虑,一个主题在数据仓库中即为一个数据集市,数据集市体现
3、了某一方面的信息,多个数据集市构成了数据仓库。(二)确定量度在确定了主题以后,考虑要分析的技术指标,诸如年销售额此类,一般为数值型数据,或者将该数据汇总,或者将该数据取次数,独立次数或取最大最小值等,这样的数据称之为量度。量度是要统计的指标,必须事先选择恰当,基于不同的量度可以进行复杂关键性能指标(KPI )等的计算。(三)确定事实数据粒度在确定了量度之后要考虑到该量度的汇总情况和不同维度下量度的聚合情况,考虑到量度的聚合程度不同,将采用最小粒度原则,即将量度的粒度设置到最小。例如将按照时间对销售额进行汇总,目前的数据最小记录到天,即数据库中记录了每天的交易额,那么不能在ETL时将数据进行按月
4、或年汇总,需要保持到天,以便于后续对天进行分析。而且不必担心数据量和数据没有提前汇总带来的问题,因为在后续的建立CUBE时已经将数据提前汇总了。(四)确定维度维度是要分析的各个角度,例如希望按照时间,或者按照地区,或者按照产品进行分析,那么这里的时间、地区、产品就是相应的维度,基于不同的维度可以看到各量度的汇总情况,我们可以基于所有的维度进行交叉分析。这里首先要确定维度的层次(Hierarchy )和级别(Level ),维度的层次是指该维度的所有级别,包括各级别的属性;维度的级别是指该维度下的成员。例如当建立地区维度时我们将地区维度作为一个级别,层次为省、市、县三层,考虑到维度表要包含尽量多
5、的信息,所以建立维度时要符合矮胖原则,即维度表要尽量宽,尽量包含所有的描述性信息,而不是统计性的数据信息。还有一种常见的情况,就是父子型维度,该维度一般用于非叶子节点含有成员等情况,例如公司员工的维度,在统计员工的工资时,部门主管的工资不能等于下属成员工资的简单相加,必须对该主管的工资单独统计,然后该主管部门的工资等于下属员工工资加部门主管的工资,那么在建立员工维度时,需要将员工维度建立成父子型维度,这样在统计时,主管的工资会自动加上,避免了都是叶子节点才有数据的情况。另外,在建立维度表时要充分使用代理键,代理键是数值型的ID号码,好处是代理键唯一标识了每一维度成员信息,便于区分,更重要的是在
6、聚合时由于数值型匹配,JOIN效率高,便于聚合,而且代理键对缓慢变化维度有更重要的意义,它起到了标识历史数据与新数据的作用,在原数据主键相同的情况下,代理键起到了对新数据与历史数据非常重要的标识作用。有时也会遇到维度缓慢变化的情况,比如增加了新的产品,或者产品的ID号码修改了,或者产品增加了一个新的属性,此时某一维度的成员会随着新的数据的加入而增加新的维度成员,这样要考虑到缓慢变化维度的处理,对于缓慢变化维度,有三种情况:1.缓慢变化维度第一种类型:历史数据需要修改。这样新来的数据要改写历史数据,这时要使用UPDATE ,例如产品的ID号码为123 ,后来发现ID号码错误了,需要改写成456
7、,那么在修改好的新数据插入时,维度表中原来的ID号码会相应改为456 ,这样在维度加载时要使用第一种类型,做法是完全更改。2.缓慢变化维度第二种类型:历史数据保留,新增数据也要保留。这时要将原数据更新,将新数据插入,需要使用UPDATE / INSERT ,比如某一员工2005年在A部门,2006年时他调到了 B部门。那么在统计2005年的数据时就应该将该员工定位到A部门;而在统计2006年数据时就应该定位到B部门,然后再有新的数据插入时,将按照新部门(B部门)进行处理,这样做法是将该维度成员列表加入标识列,将历史的数据标识为过期,将目前的数据标识为当前的。另一种方法是将该维度打上时间戳,即将
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ETL 工具 算法 构建 企业级 数据仓库 步法
