ETL层次结构.docx
- 文档编号:10296470
- 上传时间:2023-02-09
- 格式:DOCX
- 页数:11
- 大小:224.80KB
ETL层次结构.docx
《ETL层次结构.docx》由会员分享,可在线阅读,更多相关《ETL层次结构.docx(11页珍藏版)》请在冰豆网上搜索。
ETL层次结构
1.ETL简介
整个商务智能/数据仓库系统可以说是由下面三大部分组成:
数据集成(ETL)、数据仓库和数据集市、多维数据分析和即时报表分析。
作为一个完整的数据仓库(包含数据挖掘)开发过程基本上为下面所示:
数据库1
ETL部分
数据库2
数据仓库
多维分析/即时报表
数据挖掘
专家系统
我们可以看到ETL部分处在整个BI产品开发的最底层;如果把整个开发过程比喻成为一个“做饭的工作”,那么ETL部分有点像出去买菜。
我们可以从多个菜市场,挑选我们做需要的蔬菜,肉类等。
当然,我们处在一个选择的过程。
如果菜不新鲜,我们完全可以不要它!
而多维分析/即时报表便好像是整个的做饭过程(菜应该买完了)。
而现在很多人更关心,明天我们吃什么?
这便是预测分析。
但是从整个开发过程来看,ETL是最基本的一项工作。
如果没有菜,我们啥也吃不了!
2.ETL的具体应用
数据抽取:
抽取主要是针对各个不同的数据库,将我们做需要的那部分数据抽取到我们的数据仓库中去。
也便是我们从不同的菜市场买菜的过程
数据传输:
菜买完了,我们的把菜拿回家中的厨房(数据仓库),这个过程我们称之为数据传输。
数据转化/清洗:
到家了,我们要拿菜做饭,不能直接就吃,因此需要把菜洗一下,或者把烂掉的菜叶拔掉(在实际中,我们抽取来的数据很多需要清洗)。
有时,我们会发现有的家人十分讨厌圆的土豆,没关系,我们在把它放进厨房(数据仓库)前,切成正方形,这样便没有问题了(虽然有点自欺欺人,只举个例子)。
数据加载:
一切OK了,将我们准备好的菜放进厨房里,等着厨师们来做饭了。
3.具体应用
在整个开发中,我们选用的是cognos的DS进行ETL部分的工作。
首先,要对几个名词有比较清楚地认识。
1facttable:
事实表。
里面主要存放的是我们抽取完后的数据,存放在数据仓库中。
例如我们的A_ELCOUNT_ELFEE便是一个FACTTABLE(事实表)
2.DIMENSIONTABLE:
维度表。
主要是存放一些维度数据。
例如,我们在做多维分析时,需要用到他。
例如我们的D_DATE便是一个日期的维度表。
有一个概念需要明白,我们用维度表并不是来过滤数据的。
过滤数据的是维度结构中的一个维度层次结构。
3.FACTBUILD:
在DS中,用FACTBUILD进行一次抽取,把数据放到FACTTABLE中。
4.DIMENSIONBUILD:
作为一次抽取,将数据存放到维度表里面去。
下面是COGNOS的DS进行ETL工作的一个整体结构图:
让我们先看一个图:
然后通过对应,便比较清楚了
一个完整的过程:
简介流程:
例如:
我们需要进行一次数据的抽取,并且需要一个维度的层次结构对它进行控制。
首先,我们要建一个Catalog;我们所有的工作都将在此完成,从图中比较明显的看出。
然后我们需要建立连接,即我们从那个数据库中取数据,然后放到那个数据库中。
接着我们便要进行一个比较重要的步骤,建立Dimensionframework。
通过建立dimensionframework我们可以用里面的某一个层次结构对我们的抽取做一个控制。
然后我们需要在这个层次结构下,建立级别。
当层次结构建完后,它会自动生成一个template,我们可以通过template来建立维度build,从而完成对维度数据的抽取。
然后,建立一个factbuild,用你所建好的维度来控制它。
具体流程:
1建立framework
在dimension处单击右键,单击insertadimension命名为product_seraph如下图:
这时,我们建立了一个framework
2建立一个层次结构
使用DS的工具中的hierarchywizard来建立层次结构,选择tools中的hierarchywizard
在这里面有三个选项。
因为我们要建立一个层次结构,因此我们需要各个层里面的数据。
一共有三种形式
1.当我们需要的层次数据只是从一个表里的每一行里面取,即所有的层次数据都在一行里面(星型结构)
2.当我们需要的层次数据从一个表中的个个行中取,即在一个表中,一行是一个层次数据
3.我们所取得层次数据从不同的表中取(雪花型)
在这里面我们选择“雪花型”
下一步:
选择层次结构的名字,以及选择这个层次结构,在哪个framework里面下一步:
可以整个层次结构加一个最上层(因为我们表中原来的最顶层有可能有好几个)。
在这里面,我们选择上;下一步:
在这里面,我们可以加入级别,选择allproduct_seraph,点击add
在这里面,我们选择着一层的名字,层内数据所在的数据库,以及所在的表,将productlinecode,productline选上,分别作为id,caption由于它不存在最顶层(我们只是人为的加入一个最顶层),因此它没有parent。
点击OK完成一级。
同理,我们在加入第二层。
在这里面我们可以看到,在producttype表中有productlinecode字段,我们将它作为这一层的parent。
同理
点击OK
这样我们建完了一个层次结构
点击OK
这样我们建完了一个层次结构
然后,我们右键单击刚才建立的product_seraph,选择explore
这样一个层次结构便比较容易看的清楚
我们还可以看到
DS生成了4个Template。
我们可以通过Template去生成Dimensionbuild。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ETL 层次 结构