| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> 数据清洗黑马程序员 第八章综合案例——构建DVD租赁商店数据仓库——阅读笔记(4) -> 正文阅读 |
|
[大数据]数据清洗黑马程序员 第八章综合案例——构建DVD租赁商店数据仓库——阅读笔记(4) |
8.3.9?加载租赁数据至租赁事实表1.打开Kettle工具,创建转换 使用Kettle工具,创建一个转换load_fact_rental,并添加表输入控件、字段选择控件、过滤记录控件、计算器控件、增加常量控件、数据库查询控件、维度查询/更新控件、插入/更新控件以及Hop跳连接线,如图1所示: ?图1?创建转换load_fact_rental 2.配置表输入控件 双击“表输入”控件,进入“表输入”配置界面,单击【新建】按钮,配置数据库连接,配置完成后单击【确认】按钮。MySQL数据库连接的配置,如图2所示: ?图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”,如图3所示: ?图3?编写SQL语句 3.配置表输入2控件 双击“表输入2”控件,进入“表输入”界面,单击【新建】按钮,配置数据库连接,配置完成后单击【确认】按钮。MySQL数据库连接的配置,如图4所示: ?图4?配置数据库连接 在SQL框中编写SQL语句,用于获取sakila数据库中rental数据表中的最新数据,如图5所示: ?图5?编写SQL语句 4.配置字段选择控件 双击“字段选择”控件,进入“选择/改名值”界面,在“选择和修改”选项卡中添加要修改的字段,如图所示;在“元数据”选项卡的“需要改变元数据的字段”处添加字段。这里使用字段选择控件用于构建数据仓库中维度表需要的字段数据,如图6、图7所示: ?图6?“选择和修改”选项卡 ?图7?“元数据”选项卡 5.配置过滤记录控件 双击“过滤记录”控件,进入“过滤记录”界面,在“条件”处设置过滤的条件,对归还时间进行过滤操作;单击左边“<field>”框,弹出字段对话框,选择要过滤的字段return_datetime(归还时间),单击“=”框,弹出函数对话框,选择过滤条件(这里选择的是IS NOT NULL(不为空)),单击【确定】按钮,完成过滤条件的选择,判断归还时间不为空。字段return_datetime的过滤设置,在“发送true数据给步骤:”处的下拉框中选择“计算器”,将字段return_datetime不为空的数据传递到计算器控件流中;在“发送false数据给步骤:”处的下拉框中选择“增加常量”,将为空的数据传递到增加常量控件流中,如图8所示: ?图8?配置过滤记录控件 6.配置计算器控件 双击“计算器”控件,进入“计算器”界面,在“字段”处,添加新字段milisecs、rental_duration_milisecs、rental_duration、count_returns、return_date_key1,其中字段milisecs为自定义常量,值为1000;字段rental_duration_milisecs用于存储租赁的毫秒数;字段rental_duration用于存储租赁的周期;字段count_returns为自定义字段,用于统计归还的次数;字段return_date_key1用于存储归还的日期。这里使用计算器控件用于计算租赁的周期,如图9所示: ?图9?配置计算器控件 7.配置增加常量控件 双击“增加常量”控件,进入“增加常量”界面,在字段框中添加常量字段rental_duration、count_returns、return_date_key1,用来记录归还的日期(由于在过滤记录控件中将归还日期为空的,输出到增加常量控件流中,因此需要在增加常量控件中添加用于记录归还日期的字段),如图10所示: ?图10?配置增加常量控件 8.配置数据库查询控件 双击“数据库查询”控件,进入“数据库查询”界面,单击【新建】按钮,配置数据库连接,配置完成后单击【确认】按钮。单击表名右侧的【浏览】按钮,添加数据表inventory,用于查询电影库存的信息;在“查询所需的关键字”框中,添加查询所需的关键字字段inventory_id,用于指定表字段和流字段的比较条件;在“查询表返回的值”框中,添加查询表返回的值,即字段film_id和store_id的数据,如图11所示: ?图11?配置数据库查询控件 9.配置数据库查询2控件 双击“数据库查询2”控件,进入“数据库查询”界面,单击【新建】按钮,配置数据库连接,配置完成后单击【确认】按钮。单击表名右侧的【浏览】按钮,添加维度表dim_film,用于获取数据仓库中维度表dim_film中的数据;在“查询所需的关键字”框中,添加查询所需的关键字字段film_id,用于指定表字段和流字段的比较条件;在“查询表返回的值”框中,添加查询表返回的值,即字段film_key,如图12所示: ?图12?配置数据库查询2控件 10.配置维度查询/更新控件 双击“维度查询/更新”控件,进入“维度查询/更新”界面,单击【新建】按钮,配置数据库连接,配置完成后单击【确认】按钮。单击目标表右侧的【浏览】按钮,选择输出的目标表,即维度表dim_customer;在“关键字”选项卡处添加关键字字段;在“代理关键字段”处的下拉框中选择customer_key为代理关键字段,并指定“创建代理键”是使用自增字段;在“Stream日期字段”处的下拉框中选择rental_datetime;在“开始日期字段”处的下拉框中选择customer_valid_from;在“截止日期字段”处的下拉框中选择customer_valid_through,如图13所示: ?图13?配置维度查询/更新控件 11.配置维度查询/更新2控件 双击“维度查询/更新2”控件,进入“维度查询/更新”界面,单击【新建】按钮,配置数据库连接,配置完成后单击【确认】按钮。单击目标表右侧的【浏览】按钮,选择输出的目标表,即维度表dim_staff;在“关键字”选项卡处添加关键字字段staff_id;在“代理关键字段”处的下拉框中选择staff_key为代理关键字段,并指定“创建代理键”是使用自增字段;在“Stream日期字段”处的下拉框中选择rental_datetime;在“开始日期字段”处的下拉框中选择staff_valid_from;在“截止日期字段”处的下拉框中选择staff_valid_through,如图14所示: ?图14?配置维度查询/更新2控件 12.配置维度查询/更新3控件 双击“维度查询/更新3”控件,进入“维度查询/更新”界面,单击【新建】按钮,配置数据库连接,配置完成后单击【确认】按钮。单击目标表右侧的【浏览】按钮,选择输出的目标表,即维度表dim_store;在“关键字”选项卡处添加关键字字段store_id;在“代理关键字段”处的下拉框中选择store_key为代理关键字段,并指定“创建代理键”是使用自增字段;在“Stream日期字段”处的下拉框中选择rental_datetime;在“开始日期字段”处的下拉框中选择store_valid_from;在“截止日期字段”处的下拉框中选择store_valid_through,如图15所示: ?图15?配置维度查询/更新3控件 13.配置增加常量2控件 双击“增加常量2”控件,进入“增加常量”界面,在字段框中添加常量字段count_rentals,用于统计租赁的次数,如图16所示: ?图16?配置增加常量2控件 14.配置插入/更新控件 双击“插入/更新”控件,进入“插入/更新”界面,单击【新建】按钮,配置数据库连接,配置完成后单击【确认】按钮。单击目标表右侧的【浏览】按钮,弹出“数据库浏览器”窗口,选择目标表,即维度表fact_rental;单击【获取字段】按钮,用来指定查询数据所需要的关键字字段rental_id,用于指定表字段和流字段的比较条件;单击【获取和更新字段】按钮,用来指定需要更新的字段,如图17所示: ?图17?配置插入/更新控件 15.运行load_fact_rental转换 单击转换工作区顶部的按钮,运行创建的转换load_fact_rental,实现加载租赁数据至租赁事实表fact_rental中,如图18所示: ?图18?运行load_fact_rental转换 17.查看事实表fact_rental中的数据 通过SQLyog工具,查看事实表fact_rental是否已成功插入数据,查看结果如图19所示(部分数据): ?图19?查看事实表fact_rental 8.3.10?加载数据库sakila中的数据至数据仓库sakila_dw1.打开Kettle工具,创建转换 使用Kettle工具,创建一个作业load_rentals,并添加Start控件、转换控件、发送邮件控件、中止作业控件以及Hop作业项连接线,如图20所示: ?图20?创建作业load_rentals 2.配置转换控件 双击“转换”控件,进入“转换”界面,单击“Transformations”处的【浏览】按钮,选择添加转换load_dim_staff,如图21所示: ?图21?配置转换控件 3.配置转换2控件 双击“转换2”控件,进入“转换”界面,单击“Transformations”处的【浏览】按钮,选择添加转换load_dim_customer,如图22所示: ?图22?配置转换2控件 4.配置转换3控件 双击“转换3”控件,进入“转换”界面,单击“Transformations”处的【浏览】按钮,选择添加转换load_dim_store,如图23所示: ?图23?配置转换3控件 5.配置转换4控件 双击“转换4”控件,进入“转换”界面,单击“Transformations”处的【浏览】按钮,选择添加转换load_dim_actor,如图24所示: ?图24?配置转换4控件 6.配置转换5控件 双击“转换5”控件,进入“转换”界面,单击“Transformations”处的【浏览】按钮,选择添加转换load_dim_film,如图25所示: ?图25?配置转换5控件 7.配置转换6控件 双击“转换6”控件,进入“转换”界面,单击“Transformations”处的【浏览】按钮,选择添加转换load_fact_rental,如图26所示: ?图26?配置转换6控件 8.配置发送邮件控件 双击发送邮件控件,进入“发送邮件”界面,在“地址”选项卡中添加收件人和发件人的信息,在“服务器”选项卡中添加邮件服务器和验证的信息;在“邮件消息”选项卡中添加消息内容,如图27、图28、图29所示: ?图27?配置“地址”选项卡 ?图28?配置“服务器”选项卡 ? ?图29?配置“邮件消息”选项卡 9.配置发送邮件2控件 双击”发送邮件2”控件,进入“发送邮件”界面,在“地址”选项卡中添加收件人和发件人的信息,在“服务器”选项卡中添加邮件服务器和验证的信息,在“邮件消息”选项卡中添加消息内容,如图30、图31、图32所示: 图30?配置“地址”选项卡 ? ?图31?配置“服务器”选项卡 ? ??图32?配置“邮件消息”选项卡 10.运行作业load_rentals 单击作业工作区顶部的按钮,运行创建的作业load_ rentals,实现加载数据库sakila中的数据至数据仓库sakila_dw中,如图33所示: ?图33?运行作业load_rentals 11.查看数据仓库sakila_dw中维度表的数据 通过SQLyog工具,查看数据仓库sakila_dw中的维度表和事实表是否已成功插入数据,查看结果如图34、图35、图36、图37、图38、图39、图40、图41所示: 图34?维度表dim_customer中的数据 ?图35?维度表dim_date中的数据 ?图36?维度表dim_actor中的数据 ?图37 维度表dim_film中的数据 图38?维度表dim_film_actor_bridge中的数据 图39?维度表dim_staff中的数据 图40?维度表dim_time中的数据 图41?事实表fact_rental中的数据 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 5:43:56- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |