黑马程序员《数据清洗》学习笔记第八章综合案例(3)

目录

第八章综合案例(3)

8.3.7 加载演员数据至演员维度表

1.打开Kettle工具,创建转换

2.配置表输入控件

3.配置表输入2控件

4.配置插入/更新控件

5.运行转换load_dim_actor

6.查看数据表dim_actor中的数据

8.3.8 加载电影数据至电影维度表

1.打开Kettle工具,创建转换

2.配置表输入控件

3.配置表输入2控件

4.配置数据库查询控件

5.配置数据库查询2控件

6.配置值映射控件

7.配置列拆分为多行控件

8.配置增加常量控件

9.配置列转行控件

10.配置计算器控件

11.配置数据库连接控件

12.配置数据库查询3控件

13.配置增加常量2控件

14.配置列转行2控件

15.配置计算器2控件

16.配置联合查询/更新控件

17.配置数据库连接2控件

18.配置数据库查询4控件

19.配置分组控件

20.配置计算器3控件

21.配置流查询控件

22.配置插入/更新控件

23.运行转换load_dim_film

24.查看数据表dim_film和数据表dim_film_actor_bridge中的数据


第八章综合案例(3)

案例【8.3.7        8.3.8】

         需要从MySQL官网下载数据库sakila的建库脚本,若是在Windows环境下安装数据库sakila,下载名称为sakila_bd.zip的压缩包文件;若是在Linux环境下安装数据库sakila,下载名称为sakila_bd.tar.gz的压缩包。需要导入压缩包中的文件,下载MySQL关系型数据库,SQLyog工具。

8.3.7 加载演员数据至演员维度表

1.打开Kettle工具,创建转换

        使用Kettle工具,创建一个转换load_dim_actor,并添加表输入控件、插入/更新控件以及Hop跳连接线,具体如图8-1。

图 8-1 

2.配置表输入控件

        双击“表输入”控件,进入“表输入”配置界面,单击【新建】按钮,配置数据库连接,配置完成后单击【确认】按钮。MySQL数据库连接的配置,如图8-2。

图 8-2 

        在SQL框中编写SQL语句(代码如下),用于获取字段actor_last_update中的最大值,将该值替换为”1970-01-01 00:00:00”并赋值给临时字段max_dim_actor_last_update;单击“预览”按钮,查看临时字段max_dim_actor_last_update是否将默认值设置为“1970-01-01 00:00:00”,如图8-3。

SELECT
COALESCE(MAX(actor_last_update),"1970-01-01 00:00:00")
AS max_dim_actor_last_update
FROM dim_actor;

图 8-3 

3.配置表输入2控件

        双击“表输入2”控件,进入“表输入”界面,单击【新建】按钮,配置数据库连接,配置完成后单击【确认】按钮。MySQL数据库连接的配置如图8-4。

图 8-4 

        在SQL框中编写SQL语句,用于获取数据库sakila中数据表actor中的最新数据(代码如下)。

SELECT
  actor_id
, first_name
, last_name
, last_update
FROM actor where last_update > ?

4.配置插入/更新控件

        双击“插入/更新”控件,进入“插入/更新”界面,单击【新建】按钮,配置数据库连接,配置完成后单击【确认】按钮。MySQL数据库连接的配置,如图8-5。

图 8-5 

        单击目标表右侧的【浏览】按钮,弹出“数据库浏览器”窗口,选择目标表,即维度表dim_actor;单击【获取字段】按钮,用来指定查询数据所需要的关键字,这里选择的是dim_actor数据表中的actor_id字段和输入流里面的actor_id字段如图8-6。

图 8-6 

       单击【获取和更新字段】按钮,用来指定需要更新的字段,如图8-7。

图 8-7 

5.运行转换load_dim_actor

        单击转换工作区顶部的运行按钮,运行创建的转换load_dim_actor,实现加载演员数据至演员维度表dim_actor中,如图8-8。

图 8-8 

6.查看数据表dim_actor中的数据

        通过SQLyog工具,查看数据表dim_actor是否已成功插入演员数据,查看结果,如图8-9。

图 8-9 

8.3.8 加载电影数据至电影维度表

1.打开Kettle工具,创建转换

        使用Kettle工具,创建一个转换load_dim_film,并添加表输入控件、数据库查询控件、值映射控件、列拆分为多行控件、增加常量控件、列转行控件、计算器控件、数据库连接控件、联合查询/更新控件、分组控件、流查询控件、插入/更新控件以及Hop跳连接线,如图8-10。

图 8-10 

2.配置表输入控件

        双击“表输入”控件,进入“表输入”配置界面,单击【新建】按钮,配置数据库连接,配置完成后单击【确认】按钮。MySQL数据库连接的配置,如图8-11。

图 8-11 

        在SQL框中编写SQL语句(代码如下),用于获取字段film_last_update中的最大值,将该值替换为”1970-01-01 00:00:00”并赋值给临时字段max_dim_film_last_update;单击“预览”按钮,查看临时字段max_dim_film_last_update是否将默认值设置为“1970-01-01 00:00:00”,如图8-12。

SELECT
COALESCE(MAX(film_last_update),"1970-01-01 00:00:00")
AS max_dim_film_last_update
FROM dim_film

图 8-12 

3.配置表输入2控件

        双击“表输入2”控件,进入“表输入”界面,单击【新建】按钮,配置数据库连接,配置完成后单击【确认】按钮。MySQL数据库连接的配置如图8-13。

图 8-13 

        在SQL框中编写SQL语句,用于获取sakila数据库中film数据表中的最新数据(代码如下)。

SELECT
  film_id
, title
,
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值