大数据预处理技术-第6章-构建数据仓库课件_第1页
大数据预处理技术-第6章-构建数据仓库课件_第2页
大数据预处理技术-第6章-构建数据仓库课件_第3页
大数据预处理技术-第6章-构建数据仓库课件_第4页
大数据预处理技术-第6章-构建数据仓库课件_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

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

文档简介

数据导入与预处理-第六章构建数据仓库数据导入与预处理-第六章构建数据仓库目录010203数据仓库介绍构建维度表构建事实表目录010203数据仓库介绍构建维度表构建事实表01数据仓库介绍01数据仓库介绍数据仓库介绍阶段1:数据仓库概念数据库的定义及特征数据仓库和数据库区别阶段2:数据仓库的重要组成数据仓库事实表数据仓库维度表数据仓库介绍阶段1:数据仓库概念数据库的定义及特征阶段2:数数据仓库的定义及特征

数据仓库理论的创始人W.H.Inmon在其《BuildingtheDataWarehouse》一书中,给出了数据仓库的四个基本特征:面向主题,数据是集成的,数据是不可更新的,数据是随时间不断变化的。ETL工具数据仓库数据库数据文件其他

综合数据

当前数据

历史数据

元数据抽取、转换、装载统计分析机器学习报表查询应用领域个性化推荐数据仓库的定义及特征数据仓库理论的创始人W.H.I数据库和数据仓库区别数据库:主要处理基本的、日常的、实时性要求非常高的事务处理,例如在线购物。数据仓库:主要解决复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。数据项目数据库数据仓库数据范围当前状态数据历史的、完整的、反应历史变化数据变化支持频繁的增、删、改、查添加为主、无删除、无变更的、反应历史变化应用场景面向业务交易流程面向分析、支持战略决策数据结构高度结构化、适合操作、计算简单、适合分析设计理论遵照第一、二、三范式违反范式、适当冗余处理量频繁、小批次、高并发、低延迟非频繁、大批量、高吞吐、有延迟响应时间计时单位小,如秒计时单位多种多样,分、小时、天、月等数据库和数据仓库区别数据库:数据项目数据库数据仓库数据范围当数据仓库重要组成—事实表主要存放各种业务数据。事实数据表包含特定业务事件的数据。比如考试成绩、图书借阅、课程安排,这些都是实际发生的业务事件,都是事实表记录的信息学生成绩事实表高数成绩英语成绩毛概成绩邓论成绩…数据仓库重要组成—事实表学生成绩事实表高数成绩数据仓库重要组成—维度表主要存放基础属性。维度表是各种属性的集合,是人们分析问题的角度。比如学生、时间、班级、学院、学校,这些都是不同的维度学生维时间维班级维课程维学生成绩事实表时间ID学生ID课程ID班级ID考试成绩…数据仓库重要组成—维度表主要存放基础属性。维度表是各种属性的02构建维度表02构建维度表构建维度表阶段1:管理各种键业务键的管理代理键的管理阶段2:维度表的加载阶段3:缓慢变更维度星型模型雪花模型常见缓慢变化维表分类类型1缓慢变化维更新类型2缓慢变化维更新类型3缓慢变化维更新其他类型介绍构建维度表阶段1:管理各种键业务键的管理阶段2:维度表的加载管理各种键在构建维度表中,主要涉及两种键:1、业务键:来源于源系统的业务主键,是业务实体的唯一标识。2、业务代理键:简称代理键,为了确定维度表中唯一的行而增加的键。管理这两种键,需要做如下工作:(1)确定业务主体对象,确保业务主键的唯一性。(2)判断当前维度表是否存在该业务键,根据业务主键更新维表或者插入维表数据。(3)为新插入的维表行数据生成新的代理键。管理各种键在构建维度表中,主要涉及两种键:管理各种键—管理业务键业务键的主要作用是区分业务实体,必须来源于源表。为方便进行管理,业务键和代理键一起存储在维度表中。业务键的管理要注意几点:1.确保业务键要唯一同一个业务主体不能有多个业务键,一个业务键也不能对应多个业务主体。比如一个学生不能有多个学号,一个学号也不能对应多个学生。2.业务主键合并处理如果存在一个业务主体,存在多个业务主键,应进行合并处理,主要有两种情况:

(1)数据来源不同:业务键可能来源于多个源系统,同一个业务主体在不同的源系统业务键可能不同,此种情况我们需要对业务主键进行合并处理(2)历史遗留数据:同一业务主体,存在新、旧业务主键同时存在的情况管理各种键—管理业务键业务键的主要作用是区分业务管理各种键—管理代理键最佳实践表明,原则上,在维表中应有代理键,一般用自动生成无意义的整形数值做为代理键。项目中我们可以通过数据库生成代理键,也可以通过etl工具生成代理键。在kettle中用“增加序列”步骤生成代理键。增加序列”步骤控件提供了两种方式来生成序列:第一种,使用数据库生成序列,取值范围在数据库的序列中定义,计数器超过最大值后从起始值重新开始。这种方法需要在数据库中先定义一个序列,接着在增加序列”步骤中引用CREATESEQUENCEseq_valueINCREMENTBY1--每次加几个STARTWITH1--从1开始计数NOMAXVALUE--不设置最大值NOCYCLE--一直累加,不循环CACHE10;管理各种键—管理代理键最佳实践表明,原则上,在维管理各种键—管理代理键

第二种,使用转换计数器生成序列,取值范围在用户界面直接定义,计数器超过最大值后从起始值重新开始。因这种方法每次重新运行时,会从初始值开始取数,不能直接当代理键使用,通常需要进行特殊处理。selectmax(id)fromtest_sequencesequence_valuemax(id)+sequence_value具体办法1:管理各种键—管理代理键第二种,使用转换计数器生成序列,管理各种键—管理代理键

第二种,使用转换计数器生成序列,取值范围在用户界面直接定义,计数器超过最大值后从起始值重新开始。因这种方法每次重新运行时,会从初始值开始取数,不能直接当代理键使用,通常需要进行特殊处理。具体办法2(1):(2):(3):管理各种键—管理代理键第二种,使用转换计数器生成序列,维度表的加载维度的加载需要掌握一定的技巧,下面是两个典型的场景:1.加载雪花维度表2.加载反正规化的星型维度表加载维表时,要根据维表的特点,选择合适的加载顺序。维度表的加载维度的加载需要掌握一定的技巧,下面是两个典型的场维度表的加载—星型模型加载星型模型的特点:在星型模型,顾名思义事实表和维表形成星型的样式,即:以事实表为中心,外围是若干张维度表,维表通过主键和事实表的外键关联星型模型的加载办法:该模型中,每个维度表之间没有依赖关系,加载不分先后顺序。维度表的加载—星型模型加载星型模型的特点:星型模型的加载办法维度表的加载—加载雪花模型雪花模型的特点:雪花模型是在基于星型模型之上拓展来的,每一个维度可以再扩散出更多的维度,根据维度的层级拆分成颗粒度不同的多张表雪花模型的加载办法:雪花模型中,city和country、country和region是N:1的关系,几个层级间相互依赖,加载时需从顶向下加载,即:

按regioncountrycity顺序加载维度表的加载—加载雪花模型雪花模型的特点:雪花模型的加载办法缓慢变更维度“缓慢变化维”,即:“SlowlyChangingDimensions”,一般简写为SCD,是数据仓库重要概念。“缓慢变化维”,顾名思义,即:维度信息会随着时间的流失发生缓慢变化,因为现实中事物的属性并不是不变的,它会随着时间的变化而发生缓慢的变化。常见缓慢变化维主要有如下三种:类型1:业务主体数据发生变化时,用当前最新数据覆盖旧数据,只保留最新版本数据。类型2:业务主体数据发生变化时,用当前最新数据生成新的数据行,保存多个历史版本。类型3:业务主体数据发生变化时,用当前最新数据生成新的记录,并且在该行记录中记录上一个版本部分关键信息。缓慢变更维度“缓慢变化维”,即:“SlowlyChan缓慢变更维度—类型1缓慢变化维更新特点:直接覆盖,不记录历史版本,只需要保存当前最新的记录。如果字段有更新直接覆盖,否则新增类型1缓慢变化维示意图缓慢变更维度—类型1缓慢变化维更新特点:直接覆盖,不记录历史缓慢变更维度—类型1缓慢变化维更新特点:直接覆盖,不记录历史版本,只需要保存当前最新的记录。如果字段有更新直接覆盖,否则新增类型1缓慢变化维,kettle实现示意图缓慢变更维度—类型1缓慢变化维更新特点:直接覆盖,不记录历史缓慢变更维度—类型2缓慢变化维更新特点:区分历史,每次更新会生成新的记录,通过这种方式保存了各个历史版本,每个历史版本有不同的代理键,但每个版本有相同的业务主键。类型2缓慢变化维示意图缓慢变更维度—类型2缓慢变化维更新特点:区分历史,每次更新会缓慢变更维度—类型2缓慢变化维更新特点:区分历史,每次更新会生成新的记录,通过这种方式保存了各个历史版本,每个历史版本有不同的代理键,但每个版本有相同的业务主键。类型2缓慢变化维,kettle实现示意图缓慢变更维度—类型2缓慢变化维更新特点:区分历史,每次更新会缓慢变更维度—类型3缓慢变化维更新特点:交替实体,保留部分上一个版,部分字段值.缓慢变更维度—类型3缓慢变化维更新特点:交替实体,保留部分上缓慢变更维度—其他类型介绍特点:混合多种维度,不同的字段采用不同的处理办法缓慢变更维度—其他类型介绍特点:混合多种维度,不同的字段采用缓慢变更维度—其他类型介绍生成维度:有些维度,其中的值是可以预知的,比如时间、日期,数量固定,而且不做变更,可以一次性预先生成,避免多次加载。缓慢变更维度—其他类型介绍生成维度:缓慢变更维度—其他类型介绍杂项维度:这类维度表包含了很多类型、很多不相关的属性,这些属性对分析会有一些帮助,但还不能把这些维度进行分类。这类杂项维度的组合非常多,不能提前确定,无法像生成维度一样提前生成。实际开发中,一般用kettle的“联合查询/更新”步骤实现,设置方法和“插入/更新”步骤相似,但也不同,主要却区别在于:“联合查询/更新”不分关键字段和查询字段,“查询”、“更新”字段合并在一起设置。缓慢变更维度—其他类型介绍杂项维度:03构建事实表03构建事实表构建事实表阶段1:批量加载批量加载背景批量加载办法阶段2:查找维度阶段3:事实表的处理维护数据完整性查找维表代理键数据延迟处理常见事实表类型事务型事实表周期快照事实表累积快照事实表构建事实表阶段1:批量加载批量加载背景阶段2:查找维度阶段3批量加载—批量加载背景

事实表是业务数据的集合,其数据量大,往往有几个GB、几十个GB、几个TB,某些行业甚至有几个PB的数据。通常,在数据量不大的情况下,我们可以采用“表输出”步骤实现,但在数据量巨大的情况下,此方法是不适合的,原因在于:“表输出”步骤,对数据库操作是基于dml语句实现的,对数据库进行dml操作会带来两个问题:1、执行insert、update、delete等操作时,数据库管理系统会往日志文件写日志,dml语句操作的数据量越大,对应的日志文件就越大。2、执行insert、update、delete等操作时,数据库管理系统会进行约束性检查,比如主键约束、外键约束、唯一性约束、检查约束等。约束性检查,是一项费时的工作,通常比操作数据耗费更多的时间。大量的写日志和约束性检查,会严重影响数据库数据性能,显然不适用于大量数据加载的情况批量加载—批量加载背景事实表是业务数据的集合,批量加载—批量加载办法从数据源加载到数据仓库,需要更快速、更高效的加载方法kettle批量加载控件原理:各数据厂家为解决批量加载问题,专门开发了批量加载接口kettle为充分利用各个数据库批量加载特性,专门提供了批量加载控件批量加载—批量加载办法从数据源加载到数据仓库,需要更快速、更批量加载—批量加载控件MySQL批量加载Oracle批量加载批量加载—批量加载控件MySQL批量加载Oracle批量加载查找维度加载事实表时,在维度表中正确地查找代理键,是我们工作的重要一环。1、正确维护数据完整性2、正确地查找维表代理键3、正确地处理数据延迟情况查找维度加载事实表时,在维度表中正确地查找代理键,是我们工作查找维度—维护数据完整性维护数据完整性:参照完整性,这里指的是事实表和维度表之间建立的外键约束。在数据仓库中,事实表的外键指向维度表的主键。有些设计者通过外键约束,来防止维度表的信息被误删的情况。其实,在数据仓库中外键约束不是必须的,如果存在外键约束,加载数据时每加载一条数据,数据库会逐条检查是否违反约束,所以加载速度会非常慢。如果有这种情况,通常加载事实表前先让外键失效,加载完成后再恢复外键。查找维度—维护数据完整性维护数据完整性:查找维度—获取代理键获取维度代理键:是构建事实表最重要的环节之一。在kettle中,我们一般通过“数据库查询”步骤或“维度查询/更新”步骤实现查找维度—获取代理键获取维度代理键:查找维度—数据延迟处理在数据加载中,正常的加载顺序应是:先加载维度表,接着加载事实表。但现实情况中,却存在不少数据延迟的现象(1)事实表延迟事实表延迟,指交易数据发生后,未及时按约定时间传送给ETL过程处理。办法:结合维表开始时间、终止时间取对应的代理键。(2)维度表延迟维度表延迟,指的是事实表处理完成,而维度表未处理完成。办法:维度表加载完成才接着加载事实表。查找维度—数据延迟处理事实表的处理—常见事实表类型常见的三种不同类型的事实表,主要有如下三种:1、事务型事实表:即“Transactionfacttable”,是事务粒度的,以单个事务、单个事件为单位,每次事务作为事实表的1行数据,如刷卡一次,会有一条刷卡记录。2、周期快照事实表:即“Periodicsnapshotfacttable”,是时间周期粒度的,以固定时间周期为单位,每一个时间周期1行数据,如每一天、每一个月的话费支出。3、累积快照事实表:即“Accumulatingsnapshotfacttable”,当新的事实到达后,更新事实表的里记录。例如订单处理过程,有多个日期:下单日期、发货日期、签收日期、退款日期等。在这个订单的处理过程中,随着订单的状态改变,事实表的相应日期也在改变。事实表的处理—常见事实表类型事实表的处理—事务型事实表

事务事实表记录的是事务层面的事实,保存的是最原子的数据,也称“原子事实表”。用户可以通过事务事实表对事务行为进行特别详细的分析。事务型事实表样例事实表的处理—事务型事实表事务事实表记录的是事事实表的处理—周期快照事实表

周期快照事实表以具有规律性的、可预见的时间间隔来记录事实,时间间隔如每天、每月、每年等等。典型的例子如销售日快照表、库存日快照表等。

事实表的处理—周期快照事实表周期快照事实表以具事实表的处理—累积快照事实表

累积快照事实表和周期快照事实表有些相似之处,它们存储的都是事务数据的快照信息。但是它们之间也有着很大的不同,周期快照事实表记录的是确定周期的数据,而累积快照事实表记录的是不确定周期的数据。事实表的处理—累积快照事实表累积快照事实表和周期谢谢观看谢谢观看数据导入与预处理-第六章构建数据仓库数据导入与预处理-第六章构建数据仓库目录010203数据仓库介绍构建维度表构建事实表目录010203数据仓库介绍构建维度表构建事实表01数据仓库介绍01数据仓库介绍数据仓库介绍阶段1:数据仓库概念数据库的定义及特征数据仓库和数据库区别阶段2:数据仓库的重要组成数据仓库事实表数据仓库维度表数据仓库介绍阶段1:数据仓库概念数据库的定义及特征阶段2:数数据仓库的定义及特征

数据仓库理论的创始人W.H.Inmon在其《BuildingtheDataWarehouse》一书中,给出了数据仓库的四个基本特征:面向主题,数据是集成的,数据是不可更新的,数据是随时间不断变化的。ETL工具数据仓库数据库数据文件其他

综合数据

当前数据

历史数据

元数据抽取、转换、装载统计分析机器学习报表查询应用领域个性化推荐数据仓库的定义及特征数据仓库理论的创始人W.H.I数据库和数据仓库区别数据库:主要处理基本的、日常的、实时性要求非常高的事务处理,例如在线购物。数据仓库:主要解决复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。数据项目数据库数据仓库数据范围当前状态数据历史的、完整的、反应历史变化数据变化支持频繁的增、删、改、查添加为主、无删除、无变更的、反应历史变化应用场景面向业务交易流程面向分析、支持战略决策数据结构高度结构化、适合操作、计算简单、适合分析设计理论遵照第一、二、三范式违反范式、适当冗余处理量频繁、小批次、高并发、低延迟非频繁、大批量、高吞吐、有延迟响应时间计时单位小,如秒计时单位多种多样,分、小时、天、月等数据库和数据仓库区别数据库:数据项目数据库数据仓库数据范围当数据仓库重要组成—事实表主要存放各种业务数据。事实数据表包含特定业务事件的数据。比如考试成绩、图书借阅、课程安排,这些都是实际发生的业务事件,都是事实表记录的信息学生成绩事实表高数成绩英语成绩毛概成绩邓论成绩…数据仓库重要组成—事实表学生成绩事实表高数成绩数据仓库重要组成—维度表主要存放基础属性。维度表是各种属性的集合,是人们分析问题的角度。比如学生、时间、班级、学院、学校,这些都是不同的维度学生维时间维班级维课程维学生成绩事实表时间ID学生ID课程ID班级ID考试成绩…数据仓库重要组成—维度表主要存放基础属性。维度表是各种属性的02构建维度表02构建维度表构建维度表阶段1:管理各种键业务键的管理代理键的管理阶段2:维度表的加载阶段3:缓慢变更维度星型模型雪花模型常见缓慢变化维表分类类型1缓慢变化维更新类型2缓慢变化维更新类型3缓慢变化维更新其他类型介绍构建维度表阶段1:管理各种键业务键的管理阶段2:维度表的加载管理各种键在构建维度表中,主要涉及两种键:1、业务键:来源于源系统的业务主键,是业务实体的唯一标识。2、业务代理键:简称代理键,为了确定维度表中唯一的行而增加的键。管理这两种键,需要做如下工作:(1)确定业务主体对象,确保业务主键的唯一性。(2)判断当前维度表是否存在该业务键,根据业务主键更新维表或者插入维表数据。(3)为新插入的维表行数据生成新的代理键。管理各种键在构建维度表中,主要涉及两种键:管理各种键—管理业务键业务键的主要作用是区分业务实体,必须来源于源表。为方便进行管理,业务键和代理键一起存储在维度表中。业务键的管理要注意几点:1.确保业务键要唯一同一个业务主体不能有多个业务键,一个业务键也不能对应多个业务主体。比如一个学生不能有多个学号,一个学号也不能对应多个学生。2.业务主键合并处理如果存在一个业务主体,存在多个业务主键,应进行合并处理,主要有两种情况:

(1)数据来源不同:业务键可能来源于多个源系统,同一个业务主体在不同的源系统业务键可能不同,此种情况我们需要对业务主键进行合并处理(2)历史遗留数据:同一业务主体,存在新、旧业务主键同时存在的情况管理各种键—管理业务键业务键的主要作用是区分业务管理各种键—管理代理键最佳实践表明,原则上,在维表中应有代理键,一般用自动生成无意义的整形数值做为代理键。项目中我们可以通过数据库生成代理键,也可以通过etl工具生成代理键。在kettle中用“增加序列”步骤生成代理键。增加序列”步骤控件提供了两种方式来生成序列:第一种,使用数据库生成序列,取值范围在数据库的序列中定义,计数器超过最大值后从起始值重新开始。这种方法需要在数据库中先定义一个序列,接着在增加序列”步骤中引用CREATESEQUENCEseq_valueINCREMENTBY1--每次加几个STARTWITH1--从1开始计数NOMAXVALUE--不设置最大值NOCYCLE--一直累加,不循环CACHE10;管理各种键—管理代理键最佳实践表明,原则上,在维管理各种键—管理代理键

第二种,使用转换计数器生成序列,取值范围在用户界面直接定义,计数器超过最大值后从起始值重新开始。因这种方法每次重新运行时,会从初始值开始取数,不能直接当代理键使用,通常需要进行特殊处理。selectmax(id)fromtest_sequencesequence_valuemax(id)+sequence_value具体办法1:管理各种键—管理代理键第二种,使用转换计数器生成序列,管理各种键—管理代理键

第二种,使用转换计数器生成序列,取值范围在用户界面直接定义,计数器超过最大值后从起始值重新开始。因这种方法每次重新运行时,会从初始值开始取数,不能直接当代理键使用,通常需要进行特殊处理。具体办法2(1):(2):(3):管理各种键—管理代理键第二种,使用转换计数器生成序列,维度表的加载维度的加载需要掌握一定的技巧,下面是两个典型的场景:1.加载雪花维度表2.加载反正规化的星型维度表加载维表时,要根据维表的特点,选择合适的加载顺序。维度表的加载维度的加载需要掌握一定的技巧,下面是两个典型的场维度表的加载—星型模型加载星型模型的特点:在星型模型,顾名思义事实表和维表形成星型的样式,即:以事实表为中心,外围是若干张维度表,维表通过主键和事实表的外键关联星型模型的加载办法:该模型中,每个维度表之间没有依赖关系,加载不分先后顺序。维度表的加载—星型模型加载星型模型的特点:星型模型的加载办法维度表的加载—加载雪花模型雪花模型的特点:雪花模型是在基于星型模型之上拓展来的,每一个维度可以再扩散出更多的维度,根据维度的层级拆分成颗粒度不同的多张表雪花模型的加载办法:雪花模型中,city和country、country和region是N:1的关系,几个层级间相互依赖,加载时需从顶向下加载,即:

按regioncountrycity顺序加载维度表的加载—加载雪花模型雪花模型的特点:雪花模型的加载办法缓慢变更维度“缓慢变化维”,即:“SlowlyChangingDimensions”,一般简写为SCD,是数据仓库重要概念。“缓慢变化维”,顾名思义,即:维度信息会随着时间的流失发生缓慢变化,因为现实中事物的属性并不是不变的,它会随着时间的变化而发生缓慢的变化。常见缓慢变化维主要有如下三种:类型1:业务主体数据发生变化时,用当前最新数据覆盖旧数据,只保留最新版本数据。类型2:业务主体数据发生变化时,用当前最新数据生成新的数据行,保存多个历史版本。类型3:业务主体数据发生变化时,用当前最新数据生成新的记录,并且在该行记录中记录上一个版本部分关键信息。缓慢变更维度“缓慢变化维”,即:“SlowlyChan缓慢变更维度—类型1缓慢变化维更新特点:直接覆盖,不记录历史版本,只需要保存当前最新的记录。如果字段有更新直接覆盖,否则新增类型1缓慢变化维示意图缓慢变更维度—类型1缓慢变化维更新特点:直接覆盖,不记录历史缓慢变更维度—类型1缓慢变化维更新特点:直接覆盖,不记录历史版本,只需要保存当前最新的记录。如果字段有更新直接覆盖,否则新增类型1缓慢变化维,kettle实现示意图缓慢变更维度—类型1缓慢变化维更新特点:直接覆盖,不记录历史缓慢变更维度—类型2缓慢变化维更新特点:区分历史,每次更新会生成新的记录,通过这种方式保存了各个历史版本,每个历史版本有不同的代理键,但每个版本有相同的业务主键。类型2缓慢变化维示意图缓慢变更维度—类型2缓慢变化维更新特点:区分历史,每次更新会缓慢变更维度—类型2缓慢变化维更新特点:区分历史,每次更新会生成新的记录,通过这种方式保存了各个历史版本,每个历史版本有不同的代理键,但每个版本有相同的业务主键。类型2缓慢变化维,kettle实现示意图缓慢变更维度—类型2缓慢变化维更新特点:区分历史,每次更新会缓慢变更维度—类型3缓慢变化维更新特点:交替实体,保留部分上一个版,部分字段值.缓慢变更维度—类型3缓慢变化维更新特点:交替实体,保留部分上缓慢变更维度—其他类型介绍特点:混合多种维度,不同的字段采用不同的处理办法缓慢变更维度—其他类型介绍特点:混合多种维度,不同的字段采用缓慢变更维度—其他类型介绍生成维度:有些维度,其中的值是可以预知的,比如时间、日期,数量固定,而且不做变更,可以一次性预先生成,避免多次加载。缓慢变更维度—其他类型介绍生成维度:缓慢变更维度—其他类型介绍杂项维度:这类维度表包含了很多类型、很多不相关的属性,这些属性对分析会有一些帮助,但还不能把这些维度进行分类。这类杂项维度的组合非常多,不能提前确定,无法像生成维度一样提前生成。实际开发中,一般用kettle的“联合查询/更新”步骤实现,设置方法和“插入/更新”步骤相似,但也不同,主要却区别在于:“联合查询/更新”不分关键字段和查询字段,“查询”、“更新”字段合并在一起设置。缓慢变更维度—其他类型介绍杂项维度:03构建事实表03构建事实表构建事实表阶段1:批量加载批量加载背景批量加载办法阶段2:查找维度阶段3:事实表的处理维护数据完整性查找维表代理键数据延迟处理常见事实表类型事务型事实表周期快照事实表累积快照事实表构建事实表阶段1:批量加载批量加载背景阶段2:查找维度阶段3批量加载—批量加载背景

事实表是业务数据的集合,其数据量大,往往有几个GB、几十个GB、几个TB,某些行业甚至有几个PB的数据。通常,在数据量不大的情况下,我们可以采用“表输出”步骤实现,但在数据量巨大的情况下,此方法是不适合的,原因在于:“表输出”步骤,对数据库操作是基于dml语句实现的,对数据库进行dml操作会带来两个问题:1、执行insert、update、delete等操作时,数据库管理系统会往日志文件写日志,dml语句操作的数据量越大,对应的日志文件就越大。2、执行insert、update、delete等操作时,数据库管理系统会进行约束性检查,比如主键约束、外键约束、唯一性约束、检查约束等。约束性检查,是一项费时的工作,通常比操作数据耗费更多的时间。大量的写日志和约束性检查,会严重影响数据库数据性能,显然不适用于大量数据加载的情况批量加载—批量加载背景事实表是业务数据的集合,批量加载—批量加载办法从数据源加载到数据仓库,需要更快速、更高效的加载方法kettle批量加载控件原理:各数据厂家为解决批量加载问题,专门开发了批量加载接口kettle为充分利用各个数据库批量加载特性,专门提供了批量加载控件批量加载—批量加载办法从数据源加载到数据仓库,需要更快速、更批量加载—批量加载控件MySQL批量加载Oracle批量加载批量加载—批量加载控件MySQL批量加载Oracle批量加载查找维度加载事实表时,在维度表中正确地查找代理键,是我们工作的重要一环。1、正确维护数据完整性2、正确地查找维表代理键3、正确地处理数据延迟情况查找

温馨提示

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

评论

0/150

提交评论