【完整流程】用IBM DWE数据仓库建立数据分析.doc_第1页
【完整流程】用IBM DWE数据仓库建立数据分析.doc_第2页
【完整流程】用IBM DWE数据仓库建立数据分析.doc_第3页
【完整流程】用IBM DWE数据仓库建立数据分析.doc_第4页
【完整流程】用IBM DWE数据仓库建立数据分析.doc_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

用IBM DWE数据仓库建立数据分析【IT168 技术文档】针对数据仓库、商业智能应用,IBM提供了全面的、业界领先的解决方案。软件方面,提供了集成的、端到端的解决方案DWE (Data Warehouse Edition);硬件方面,IBM提出了Balanced Warehouse解决方案,它根据用户预计的数据仓库规模,为用户提供预先配置的、经过优化的、可以扩展的硬件配置方案,包括服务器的型号、配置,存储的配置,网络的配置,可以为用户提供合理的硬件选型;在数据仓库模型方面,IBM提供了针对银行、电信、保险及零售业的数据仓库模型,可以为用户提供针对行业应用的模板,加速行业应用建模。 本文,主要为大家介绍DWE (Data Warehouse Edition)解决方案,特别是如何利用DWE功能部件快速建立数据分析应用,以帮助大家快速掌握利用DWE开发分析应用的基本方法。 DWE软件包是一个集成的解决方案,它包括了实现一个数据仓库应用所需的各种功能部件, 包括: l 用于数据抽取、转换、清洗、装载的软件 SQL Warehouse,它主要实现基于数据库的数据转换工作。 l 用于构造多维数据模型的功能部件OLAP,它主要完成构建多维数据模型,并将多维数据模型保存到数据库中,使数据库成为真正的多维模型感知的数据库系统,同时,可以完成不同分析工具之间的多维模型的元数据交换。另外,它还可以针对多维数据模型提供优化功能,通过提供建立数据汇总表的功能来优化数据分析效率。 l 用于查询、报表及OLAP分析的前端展现工具Alphablox,它是一个基于J2EE架构的多维分析工具,主要定位于提供嵌入式的、可定制化的应用。用户开发Alphablox应用,主要是开发一些jsp页面,同时嵌入Alphablox提供的用于多维分析的各种Blox,开发周期短,可定制能力强。 l 用于数据挖掘的功能部件Mining,它通过Modeling、Visualization及Scoring等功能实现数据挖掘模型的建模、可视化展现及实时利用模型为新数据评分的功能。Mining功能部件提供了业界丰富的数据挖掘算法,并实现了将数据挖掘功能嵌入到工作流应用中,扩展了数据挖掘应用的应用范围。 l 提供了数据仓库数据存储软件DB2,它提供了业界领先的数据可扩展能力,可以支持TB级海量数据仓库系统,并通过查询并行能力、优化器算法、MQT汇总表等方式来提高查询的效率。 l 提供了集成的、基于eclipse的数据仓库设计工具Design Studio,它可以实现数据仓库抽取流程的设计、挖掘模型的设计、多维分析建模。 l 提供了统一的、集成的数据仓库管理工具Admin Console,它是一个基于Web界面的管理工具,可以完成数据抽取流程的管理、调度,多维模型的管理及优化,挖掘模型的管理及前端分析工具Alphablox的管理。 下边,我们通过一个简单的“销售分析”的例子来介绍一下如何利用DWE功能部件快速建立数据分析应用。 “销售分析”模型主要包括3个维度: Locations维度:地区维度,包括全国省城市三个层次; Times维度:时间维度,包括年月日三个层次; Products维度:产品维度,包括产品类别产品两个层次; 事实表Fact::包括销售额及销售数量两个量度;一、在数据库中建立星型模型 当定义好多维模型后,我们要在数据库中实现其物理模型。通常情况下,基于关系型多维分析往往采用星型模型或雪花型模型。这里,我们建立了一个简单的星型模型,如图: 在DWE中,我们建议星型模型的事实表及维表之间要建立主外键关系,特别是对多维模型优化会起到重要作用。 我们首先创建一个数据库DWEOLAP,用于存储分析数据及多维模型,并在DWEOLAP中创建星型模型的表,如图: 1二、用SQL Warehouse 完成数据抽取、转换、装载工作 当在DWEOLAP数据库中创建好星型模型后,下边就要完成数据抽取、转换、装载工作,我们这里通过DWE组件中的SQL Warehouse来完成。 采用SQL Warehouse来完成数据抽取、转换、装载工作的主要步骤包括: 1. 在Design Studio中创建数据设计项目,用来创建数据物理模型,在SQL Warehouse中,数据的抽取、转换是要针对物理模型来完成的。 2. 在Design Studio中创建数据仓库项目,并关联相应的数据设计项目,来指定相应的物理模型。SQL Warehouse设计数据的抽取、转换流程都是在数据仓库项目中完成的。 3. 在Design Studio中设计数据流程,完成数据的抽取、转换及装载工作。 4. 在Design Studio中设计控制流程,完成数据流程的控制。在SQL Warehouse中,ETL流程的调度、运行都是基于控制流程来完成的。 5. 在Design Studio生成数据仓库应用程序,为ETL流程的部署做准备。 6. 在Admin Console数据仓库管理工具中,部署ETL的控制流程,并实现ETL流程的调度及运行,即日常的运行工作。 下图,详细说明了上边的流程: SQL Warehouse提供GUI界面来完成ETL流程的设计及运行工作,我们在设计时,只需要鼠标的拖拽工作就可以完成大部分开发工作。SQL Warehouse中提供了大量的数据转换功能函数,使数据转换工作变得更见简单。下边图示列举了一些典型的数据转换功能函数: 首先,我们在数据库资源管理器中创建一个数据库连接并连接数据库DWEOLAP, 创建一个数据设计项目DWEOLAP, 创建物理数据模型并通过反向工程获得DWEOLAP数据库模型, 得到如下数据库模型,每一个模型对应一个数据库: 下边创建数据仓库项目DWESQW,并关联数据设计项目DWEOLAP, 在DWESQW项目中创建数据流locations_load,times_load,products_load,facts_load, 当创建完数据流后,我们要在DWESQW项目中创建控制流dwe_ctrl, 创建完相应的控制流后,在Design Studio中创建数据仓库应用程序,为部署做准备, 在Admin Console中,部署数据仓库应用程序,并运行或调度相应的控制流, 当dwe_ctrl控制流运行成功后,我们便将数据装载到了定义的星型模型的表中。三、通过OLAP功能部件建立多维分析模型 下边,我们通过DWE提供的OLAP功能模块来建立多维分析模型。在DWE中,多维数据模型由Cube Model及相应的Cube组成。 Cube Model根据数据库底层的星型模型或雪花型模型为基础创建的,它包括: l Facts, 对应星型模型中的事实表(Fact Table),它包含分析的量度(Measure)信息。度量数据通常分为可累加、半累加及不可累加三类,定义量度时应该指定其聚合方式。 l Dimension,对应星型模型中的维表(Dimension Table),Dimension需要定义维的层次(Level),每一个维的层次都可以包含若干个属性(Attribute)信息,这些属性可以是层键值、描述信息(Descriptive)或相关信息(Relative)。同时,Dimension还需要定义维的层次结构(Hierarchy),它由若干个维的层次按上钻或下钻的顺序构成。 l Join,定义事实及维之间连接关系。 Cube是基于Cube Model创建的多维立方体。前端分析工具,如Alphablox是针对特定Cube来进行多维分析的,它由Cube Model中的度量、维、维的层次结构组成。基于一个Cube Model可以创建多个Cube。 下边图示是DWE OLAP中的多维模型示意图: 在DWE中,多维数据模型是存储在关系数据库中的,这样,我们很容易在不同分析工具之间交换多维数据模型。另外,DWE还可以基于多维模型、数据库统计信息、数据采样等因素对多维分析进行优化,提供创建汇总表(MQT)的功能,进一步提高多维查询的效率。 下边的图示详细介绍了DWE OLAP中多维模型优化的基本策略: 下面我们来设计一个“销售分析”立方体模型。 在Design Studio中,我们展开DWEOLAP数据设计项目下边的数据库模型,在Administrator模式下边的OLAP对象文件夹中,来创建“销售分析”立方体模型(Cube Model), 在生成的“销售分析”立方体模型中,为量度定义聚合关系,为维度定义层及层次结构, 在DWE OLAP中,定义量度聚合关系, 我们对“销售额”及“销售数量”量度使用Sum聚集函数。 在DWE OLAP中,定义层次结构, DWE OLAP中主要包含以下四种层次关系: l Balanced Hierarchy,平衡层次, l Ragged Hierarchy,未对齐层次, l Unbalanced Hierarchy,非平衡层次, l Network Hierarchy,网络层次,每一个成员有不只一个父亲。 我们对时间层次结构、产品层次结构及地区层次结构都采用平衡层次方式。 当创建好“销售分析”立方体模型后,我们来创建“销售分析”立方体(Cube), 在“销售分析”立方体中,我们使用“销售分析”立方体模型中定义的“销售额”及“销售数量”作为量度,使用时间、产品、地区维度及相应的层次结构作为“销售分析”立方体中的维度。 最终生成的“销售分析”立方体如下图: 下面,我们要分析立方体模型的正确性, 当验证立方体模型的正确性后,我们需要将“销售分析”立方体模型部署到DWEOLAP数据库中, 成功部署之后,在数据库资源管理器中可以看到已经部署到DWEOLAP数据库中的“销售分析”模型, 我们可以在数据库资源管理器中,为多维模型进行优化,创建MQT表, 在优化过程中,我们要选择合适的查询类型, 我们选择了“向下钻取”查询类型,之后,系统自动生成MQT创建及数据刷新的脚本, 运行上述MQT创建脚本,我们便在DWEOLAP数据库中创建了相应的MQT表来优化查询。 同时,我们还可以通过Admin Console来对多维模型进行管理, 1四、通过Alphablox快速创建多维分析应用 当定义好多维数据模型及相应立方体后,我们便可以通过Alphablox来快速创建一个多维查询应用。 Alphablox是一个前端分析软件,它同其他传统的前端分析工具一个最大的不同,它是基于J2EE架构,因此,非常容易定制化。它只提供BS结构,主要定位于提供嵌入式的、可定制化的应用。 Alphablox采用三层架构,如下图: l 数据源支持DB2、Oracle、SQL Server、Sybase等主流关系型数据库;Essbase、MS Analysis Server、DB2 OLAP Server等多维数据库及DWE OLAP。 l 应用服务器支持Websphere Application Server、Weblogic及Tomcat。 Alphablox应用开发主要是写JSP以及一些必要的Java代码。Alphablox软件提供了一系列预先定制的、用于多维分析应用的Blox,这些Blox是一些JavaBean,用户编写分析应用时,主要就是通过在JSP页面中嵌入这些Blox来完成的。 Alphablox提供的Blox主要包括下面几类: l Infrastructure,主要用于对Alphablox元数据进行管理。 l Data Access,主要用于对数据源进行访问,获取分析数据。 l Presentation,主要用于前端数据分析、处理及展现。 在JSP页面中,我们是通过Taglib来引用这些Blox的,Alphablox主要提供了以下几个Taglib: 在开发Alphablox应用时,JSP页面的基本编写框架如下所示: 下边,我们就使用Alphablox来创建一个简单的多维查询应用。 首先,通过Alphablox管理界面来创建关系数据源DWEOLAP, 接下来,创建“Sales Analysis”Alphablox立方体,并通过“Enable DB2 Cube View Settings”功能将我们在前边DWE OLAP中创建的”销售分析“立方体模型及”销售分析“立方体导入到Alphablox中,如下图: 下面,我们创建 “dwecube”Alphablox Cube Server Adapter数据源,用于后面Bloxbuilder应用程序进行多维查询工作, 验证数据源是否可以连接成功, 当创建好“Sales Analysis” Alphablox立方体后,我们要在General下边的Runtime Management文件夹中启动“Sales Analysis”Alphablox立方体, 下边,我们就可以创建自己的多维分析应用了。在本文的例子中,我们创建“SalesAnalysis”Alphablox应用程序,并将Home URL指定为index.jsp, 创建好的“SalesAnalysis”应用程序,以SalesAnalysis.ear的形式保存在Alphablox应用程序目录下,如: C:Program FilesIBMdweAlphabloxinstallableAppsSalesAnalysis.ear。 我们需要通过WAS(Websphere Application Server)的管理控制台将该应用部署到WAS中, 当将SalesAnalysis应用部署到WAS后,要启动该应用, 接下来,我们要开始编写“SalesAnalysis”应用程序中的index.jsp文件,来提供多维查询功能。通常,index.jsp页面需要我们自己写代码来完成,我们需要在页面中引用各种blox,有些blox代码比较长,特别是数据查询代码,有时写起来也比较烦琐,为了加速Alphablox应用开发,Alphablox提供了一个可视化的、快速开发blox应用的Query Build

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论