一、案例介绍
1.1 案例背景
sakila样本数据库是MySQL官方提供的一个模拟DVD租赁商店管理的数据库。本次就是要对数据库sakila中的数据进行清洗操作,从而构建一个DVD租赁商店数据仓库系统,即实现定期从源数据库sakila中抽取增量数据,转换成符合DVD租赁业务的数据,最后加载到目标数据仓库中,便于在线DVD租赁商店的决策者对数据进行分析得出商业决策。
1.2 数据仓库的架构模型
数据仓库sakila_dwh的架构模型是一个星型模型,包括dim_date和dim_time两个静态维度表和dim_staff、dim_store、dim_customer、dim_actor、dim_film、dim_film_actor_bridge、rental_fact七个动态维度表。
二、数据准备
2.1 sakila源数据库介绍
数据库sakila中一共含有十六张数据表,分别是actor(演员)表、address(地址)表、category(类别)表、city(城市)表、country(国家)表、customer(顾客)表、film(电影)表、film_actor(演员所属电影)表、film_category(电影所属的类别)表、film_text(电影描述)表、inventory(库存)表、language(语言)表、payment(付款)表、rental(租赁)表、staff(工作人员)表以及store(商店)表。
2.2sakila源数据库加载
可以从MySQL官网下载sakila-db.zip压缩包文件,该压缩包文件中包含三个文件,分别是文件sakila.mwb、文件sakila-data.sql和文件sakila-schema.sql。其中,文件sakila.mwb是一个MySQL Workbench数据模型,用于查看数据库结构;文件sakila-data.sql是用于创建数据库sakila的数据;文件sakila-schema.sql是用于创建数据库sakila的数据结构。使用MySQL图形化管理软件MySQLWorkbench先运行脚本文件sakila-schema.sql创建数据库sakila和数据表,再运行脚本文件sakila-data.sql向数据库sakila中的数据表加载数据
2.3 sakila_dwh数据仓库搭建
使用MySQL图形化管理软件MySqlWorkbench运行sakila_dw_schema.sql脚本文件创建sakila_dw数据仓库即可。
三、案例实施
Kettle是一款国外开源的ETL工具,Spoon是Kettle中的一个图形化组件,本etl项目用Spoon软件操作完成。
3.1加载日期数据至dim_date日期维度表
创建转换

配置控件
生成记录控件

增加序列控件

JavaScript控件

连接sakila_dwh数据库

进入表输出控件,连接好数据库,选择目标表为dim_date

点击数据库字段,添加字段映射

保存执行


此时已将3650条记录导入sakila_dwh数据库中的dim_date表,查看表中部分数据如下

3.2加载时间数据至时间维度表dim_time
创建转换

配置控件
生成记录2控件:
用来生成24小时数据

增加序列2控件:

JavaScript代码控件:

生成记录3控件:
用来生成60条分钟数据(从0分到59分共60条数据)

增加序列3控件:

生成记录4控件:
用来生成60条秒数据

增加序列4控件:

记录关联(笛卡尔输出)控件:(此控件在此无需设置)

2863

被折叠的 条评论
为什么被折叠?



