目录
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
,