kettle构建基于sakila数据库的DVD租赁商店数据仓库

一、案例介绍

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控件:

在这里插入图片描述

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值