数据清洗黑马程序员 第八章综合案例——构建DVD租赁商店数据仓库——作业(4)

8.3.9 加载租赁数据至租赁事实表
1.打开Kettle工具,创建转换

使用Kettle工具,创建一个转换load_fact_rental,并添加表输入控件、字段选择控件、过滤记录控件、计算器控件、增加常量控件、数据库查询控件、维度查询/更新控件、插入/更新控件以及Hop跳连接线,如图所示:
数据清洗黑马程序员 第八章综合案例——构建DVD租赁商店数据仓库——作业(4)_第1张图片
2.配置表输入控件

双击“表输入”控件,进入“表输入”配置界面,单击【新建】按钮,配置数据库连接,配置完成后单击【确认】按钮。MySQL数据库连接的配置,如图所示:
数据清洗黑马程序员 第八章综合案例——构建DVD租赁商店数据仓库——作业(4)_第2张图片
在SQL框中编写SQL语句,用于获取字段rental_last_update中的最大值,将该值替换为”1970-01-01 00:00:00”并赋值给临时字段max_fact_rental_last_update;单击“预览”按钮,查看临时字段max_fact_rental_last_update是否将默认值设置为“1970-01-01 00:00:00”,如图所示:
数据清洗黑马程序员 第八章综合案例——构建DVD租赁商店数据仓库——作业(4)_第3张图片
3.配置表输入2控件

双击“表输入2”控件,进入“表输入”界面,单击【新建】按钮,配置数据库连接,配置完成后单击【确认】按钮。MySQL数据库连接的配置,在SQL框中编写SQL语句,用于获取sakila数据库中rental数据表中的最新数据,如图5所示:
数据清洗黑马程序员 第八章综合案例——构建DVD租赁商店数据仓库——作业(4)_第4张图片
4.配置字段选择控件

双击“字段选择”控件,进入“选择/改名值”界面,在“选择和修改”选项卡中添加要修改的字段,如图所示;在“元数据”选项卡的“需要改变元数据的字段”处添加字段。这里使用字段选择控件用于构建数据仓库中维度表需要的字段数据,如图所示:
数据清洗黑马程序员 第八章综合案例——构建DVD租赁商店数据仓库——作业(4)_第5张图片
数据清洗黑马程序员 第八章综合案例——构建DVD租赁商店数据仓库——作业(4)_第6张图片5.配置过滤记录控件

双击“过滤记录”控件,进入“过滤记录”界面,在“条件”处设置过滤的条件,对归还时间进行过滤操作;单击左边“”框,弹出字段对话框,选择要过滤的字段return_datetime(归还时间),单击“=”框,弹出函数对话框,选择过滤条件(这里选择的是IS NOT NULL(不为空)),单击【确定】按钮,完成过滤条件的选择,判断归还时间不为空。字段return_datetime的过滤设置,在“发送true数据给步骤:”处的下拉框中选择“计算器”,将字段return_datetime不为空的数据传递到计算器控件流中;在“发送false数据给步骤:”处的下拉框中选择“增加常量”,将为空的数据传递到增加常量控件流中,如图所示:
数据清洗黑马程序员 第八章综合案例——构建DVD租赁商店数据仓库——作业(4)_第7张图片
6.配置计算器控件

双击“计算器”控件,进入“计算器”界面,在“字段”处,添加新字段milisecs、rental_duration_milisecs、rental_duration、count_returns、return_date_key1,其中字段milisecs为自定义常量,值为1000;字段rental_duration_milisecs用于存储租赁的毫秒数;字段rental_duration用于存储租赁的周期;字段count_returns为自定义字段,用于统计归还的次数;字段return_date_key1用于存储归还的日期。这里使用计算器控件用于计算租赁的周期,如图所示:
数据清洗黑马程序员 第八章综合案例——构建DVD租赁商店数据仓库——作业(4)_第8张图片
7.配置增加常量控件

双击“增加常量”控件,进入“增加常量”界面,在字段框中添加常量字段rental_duration、count_returns、return_date_key1,用来记录归还的日期(由于在过滤记录控件中将归还日期为空的,输出到增加常量控件流中,因此需要在增加常量控件中添加用于记录归还日期的字段),如图所示:
数据清洗黑马程序员 第八章综合案例——构建DVD租赁商店数据仓库——作业(4)_第9张图片
8.配置数据库查询控件

双击“数据库查询”控件,进入“数据库查询”界面,单击【新建】按钮,配置数据库连接,配置完成后单击【确认】按钮。单击表名右侧的【浏览】按钮,添加数据表inventory,用于查询电影库存的信息;在“查询所需的关键字”框中,添加查询所需的关键字字段inventory_id,用于指定表字段和流字段的比较条件;在“查询表返回的值”框中,添加查询表返回的值,即字段film_id和store_id的数据,如图所示:
数据清洗黑马程序员 第八章综合案例——构建DVD租赁商店数据仓库——作业(4)_第10张图片
9.配置数据库查询2控件

双击“数据库查询2”控件,进入“数据库查询”界面,单击【新建】按钮,配置数据库连接,配置完成后单击【确认】按钮。单击表名右侧的【浏览】按钮,添加维度表dim_film,用于获取数据仓库中维度表dim_film中的数据;在“查询所需的关键字”框中,添加查询所需的关键字字段film_id,用于指定表字段和流字段的比较条件;在“查询表返回的值”框中,添加查询表返回的值,即字段film_key,如图所示:
数据清洗黑马程序员 第八章综合案例——构建DVD租赁商店数据仓库——作业(4)_第11张图片
10.配置维度查询/更新控件

双击“维度查询/更新”控件,进入“维度查询/更新”界面,单击【新建】按钮,配置数据库连接,配置完成后单击【确认】按钮。单击目标表右侧的【浏览】按钮,选择输出的目标表,即维度表dim_customer;在“关键字”选项卡处添加关键字字段;在“代理关键字段”处的下拉框中选择customer_key为代理关键字段,并指定“创建代理键”是使用自增字段;在“Stream日期字段”处的下拉框中选择rental_datetime;在“开始日期字段”处的下拉框中选择customer_valid_from;在“截止日期字段”处的下拉框中选择customer_valid_through,如图所示:
数据清洗黑马程序员 第八章综合案例——构建DVD租赁商店数据仓库——作业(4)_第12张图片
11.配置维度查询/更新2控件

双击“维度查询/更新2”控件,进入“维度查询/更新”界面,单击【新建】按钮,配置数据库连接,配置完成后单击【确认】按钮。单击目标表右侧的【浏览】按钮,选择输出的目标表,即维度表dim_staff;在“关键字”选项卡处添加关键字字段staff_id;在“代理关键字段”处的下拉框中选择staff_key为代理关键字段,并指定“创建代理键”是使用自增字段;在“Stream日期字段”处的下拉框中选择rental_datetime;在“开始日期字段”处的下拉框中选择staff_valid_from;在“截止日期字段”处的下拉框中选择staff_valid_through,如图所示:
数据清洗黑马程序员 第八章综合案例——构建DVD租赁商店数据仓库——作业(4)_第13张图片
12.配置维度查询/更新3控件

双击“维度查询/更新3”控件,进入“维度查询/更新”界面,单击【新建】按钮,配置数据库连接,配置完成后单击【确认】按钮。单击目标表右侧的【浏览】按钮,选择输出的目标表,即维度表dim_store;在“关键字”选项卡处添加关键字字段store_id;在“代理关键字段”处的下拉框中选择store_key为代理关键字段,并指定“创建代理键”是使用自增字段;在“Stream日期字段”处的下拉框中选择rental_datetime;在“开始日期字段”处的下拉框中选择store_valid_from;在“截止日期字段”处的下拉框中选择store_valid_through,如图所示:
数据清洗黑马程序员 第八章综合案例——构建DVD租赁商店数据仓库——作业(4)_第14张图片
13.配置增加常量2控件

双击“增加常量2”控件,进入“增加常量”界面,在字段框中添加常量字段count_rentals,用于统计租赁的次数,如图所示:
数据清洗黑马程序员 第八章综合案例——构建DVD租赁商店数据仓库——作业(4)_第15张图片
14.配置插入/更新控件

双击“插入/更新”控件,进入“插入/更新”界面,单击【新建】按钮,配置数据库连接,配置完成后单击【确认】按钮。单击目标表右侧的【浏览】按钮,弹出“数据库浏览器”窗口,选择目标表,即维度表fact_rental;单击【获取字段】按钮,用来指定查询数据所需要的关键字字段rental_id,用于指定表字段和流字段的比较条件;单击【获取和更新字段】按钮,用来指定需要更新的字段,如图所示:
数据清洗黑马程序员 第八章综合案例——构建DVD租赁商店数据仓库——作业(4)_第16张图片
15.运行load_fact_rental转换

单击转换工作区顶部的按钮,运行创建的转换load_fact_rental,实现加载租赁数据至租赁事实表fact_rental中,如图所示:
数据清洗黑马程序员 第八章综合案例——构建DVD租赁商店数据仓库——作业(4)_第17张图片
17.查看事实表fact_rental中的数据

通过SQLyog工具,查看事实表fact_rental是否已成功插入数据,查看结果如图19所示(部分数据):
数据清洗黑马程序员 第八章综合案例——构建DVD租赁商店数据仓库——作业(4)_第18张图片
8.3.10 加载数据库sakila中的数据至数据仓库sakila_dw
1.打开Kettle工具,创建转换

使用Kettle工具,创建一个作业load_rentals,并添加Start控件、转换控件、发送邮件控件、中止作业控件以及Hop作业项连接线,如图数据清洗黑马程序员 第八章综合案例——构建DVD租赁商店数据仓库——作业(4)_第19张图片
2.配置转换控件

双击“转换”控件,进入“转换”界面,单击“Transformations”处的【浏览】按钮,选择添加转换load_dim_staff,如图所示:
数据清洗黑马程序员 第八章综合案例——构建DVD租赁商店数据仓库——作业(4)_第20张图片
3.配置转换2控件

双击“转换2”控件,进入“转换”界面,单击“Transformations”处的【浏览】按钮,选择添加转换load_dim_customer,如图所示:
数据清洗黑马程序员 第八章综合案例——构建DVD租赁商店数据仓库——作业(4)_第21张图片
4.配置转换3控件

双击“转换3”控件,进入“转换”界面,单击“Transformations”处的【浏览】按钮,选择添加转换load_dim_store,如图所示:
数据清洗黑马程序员 第八章综合案例——构建DVD租赁商店数据仓库——作业(4)_第22张图片
5.配置转换4控件

双击“转换4”控件,进入“转换”界面,单击“Transformations”处的【浏览】按钮,选择添加转换load_dim_actor,如图所示:
数据清洗黑马程序员 第八章综合案例——构建DVD租赁商店数据仓库——作业(4)_第23张图片
6.配置转换5控件

双击“转换5”控件,进入“转换”界面,单击“Transformations”处的【浏览】按钮,选择添加转换load_dim_film,如图所示:
数据清洗黑马程序员 第八章综合案例——构建DVD租赁商店数据仓库——作业(4)_第24张图片
7.配置转换6控件

双击“转换6”控件,进入“转换”界面,单击“Transformations”处的【浏览】按钮,选择添加转换load_fact_rental,如图所示:
数据清洗黑马程序员 第八章综合案例——构建DVD租赁商店数据仓库——作业(4)_第25张图片
8.配置发送邮件控件

双击发送邮件控件,进入“发送邮件”界面,在“地址”选项卡中添加收件人和发件人的信息,在“服务器”选项卡中添加邮件服务器和验证的信息;在“邮件消息”选项卡中添加消息内容,如图所示:
数据清洗黑马程序员 第八章综合案例——构建DVD租赁商店数据仓库——作业(4)_第26张图片

数据清洗黑马程序员 第八章综合案例——构建DVD租赁商店数据仓库——作业(4)_第27张图片
数据清洗黑马程序员 第八章综合案例——构建DVD租赁商店数据仓库——作业(4)_第28张图片
9.配置发送邮件2控件

双击”发送邮件2”控件,进入“发送邮件”界面,在“地址”选项卡中添加收件人和发件人的信息,在“服务器”选项卡中添加邮件服务器和验证的信息,在“邮件消息”选项卡中添加消息内容,如图所示:
*数据清洗黑马程序员 第八章综合案例——构建DVD租赁商店数据仓库——作业(4)_第29张图片
数据清洗黑马程序员 第八章综合案例——构建DVD租赁商店数据仓库——作业(4)_第30张图片
数据清洗黑马程序员 第八章综合案例——构建DVD租赁商店数据仓库——作业(4)_第31张图片
10.运行作业load_rentals

单击作业工作区顶部的按钮,运行创建的作业load_ rentals,实现加载数据库sakila中的数据至数据仓库sakila_dw中,如图所示:
数据清洗黑马程序员 第八章综合案例——构建DVD租赁商店数据仓库——作业(4)_第32张图片
11.查看数据仓库sakila_dw中维度表的数据

通过SQLyog工具,查看数据仓库sakila_dw中的维度表和事实表是否已成功插入数据,查看结果如图:
数据清洗黑马程序员 第八章综合案例——构建DVD租赁商店数据仓库——作业(4)_第33张图片
数据清洗黑马程序员 第八章综合案例——构建DVD租赁商店数据仓库——作业(4)_第34张图片
数据清洗黑马程序员 第八章综合案例——构建DVD租赁商店数据仓库——作业(4)_第35张图片
数据清洗黑马程序员 第八章综合案例——构建DVD租赁商店数据仓库——作业(4)_第36张图片
数据清洗黑马程序员 第八章综合案例——构建DVD租赁商店数据仓库——作业(4)_第37张图片
在这里插入图片描述
数据清洗黑马程序员 第八章综合案例——构建DVD租赁商店数据仓库——作业(4)_第38张图片
在这里插入图片描述

你可能感兴趣的:(数据清洗,etl,数据库,mysql)