实验名称
构建事实表
实验目的
1、了解事实表的几种类型
2、掌握使用kettle构建事实表
实验背景
维度建模中的在行业广泛被使用,它针对各个维作了大量的预处理。比如,按照维进行预先的统计、分类、排序等。通过这些预处理,能够极大的提升数据仓库的处理能力。事实表作为维度建模的总要组成之一,掌握事实表构建非常重要。
实验原理
Kimball 最先提出维度建模这一概念,它是数据仓库建设中的一种数据建模方法。对于维度建模,最简单的描述就是,按照事实表、维度表来构建数据仓库和数据集市。
维度建模中有一些比较重要的概念,最常见的两个概念包括维度表和事实表。如图:
图1: 维度建模:–星型模型
维度建模法,其最简单的描述就是,按照事实表,维度表来构建数据仓库,数据集市。
常见的事实表主要有如下3种类型。
(1)事务型事实表即“Transaction fact table”:是事务粒度的,以单个事务、单个事件为单位,每次事务作为事实表的1行数据,如刷卡一次,会有一条刷卡记录。
(2)周期快照事实表即“Periodic snapshot fact table”:是时间周期粒度的,以固定时间周期为单位,每个时间周期对应一行数据,如每一天、每一个月的话费支出。
(3)累积快照事实表即“Accumulating snapshot fact table”:当新的事实到达后,更新事实表的记录。例如,订单处理过程有多个日期:下单日期、发货日期、签收日期、退款日期等。在这个订单的处理过程中,随着订单的状态改变,事实表的相应日期也在改变
本实验使用kettle实现做为ETL工具,构建第一种事实表。
实验环境
Ubuntu 16.04
kettle 8.2
建议课时
2课时
实验步骤
一、数据准备
(1)下载建表语句dim-1.sql,放在 /home/ubuntu/目录下。
wget http://i9000.net:8888