一、加载日期数据至日期维度表

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

        使用Kettle工具,创建一个转换load_dim_date,并添加生成记录控件、增加序列控件、JavaScript代码控件、表输出控件以及Hop跳连接线,具体如图所示。

dimension 数据仓库fact 数据仓库示例_开发语言

2.配置生成记录控件

        双击“生成记录”控件,进入“生成记录”配置界面。

dimension 数据仓库fact 数据仓库示例_dimension 数据仓库fact_02

3.配置增加序列控件

        双击“增加序列”控件,进入“增加序列”配置界面,并在“值的名称”处将valuename改为DaySequence,即增加一列日期字段,后续用于改变“生成记录”控件生成的日期,如图所示。

dimension 数据仓库fact 数据仓库示例_javascript_03

4. 配置JavaScript控件

        双击“JavaScript”控件,进入“JavaScript”配置界面,勾选“兼容模式?”处的复选框,使得JavaScript代码控件的兼容性更强;在Java Script代码框中编写代码(代码见教材),如图所示。

dimension 数据仓库fact 数据仓库示例_dimension 数据仓库fact_04

5.配置表输出控件

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

dimension 数据仓库fact 数据仓库示例_dimension 数据仓库fact_05

6.运行转换load_dim_date

dimension 数据仓库fact 数据仓库示例_控件_06

 7.查看数据表dim_date中的数据

dimension 数据仓库fact 数据仓库示例_javascript_07

二、加载时间数据至时间维度表

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

dimension 数据仓库fact 数据仓库示例_javascript_08

 2.配置生成记录控件

         双击“生成记录”控件,进入“生成记录”配置界面,在“限制”处添加生成的时间,这里添加的是生成24小时数据,起始的时间为0;在“字段”框添加生成小时字段的相关信息,如图所示。

         

dimension 数据仓库fact 数据仓库示例_dimension 数据仓库fact_09

3.配置增加序列控件

        双击“增加序列”控件,进入“增加序列”配置界面,将“值的名称”处将valuename改为hours24,即增加一列小时字段,由于时间是由时分秒构成,因此我们需要生成时分秒字段的数据,这里生成24小时数据,后续步骤中会生成60分和60秒的数据,如图所示。

         

dimension 数据仓库fact 数据仓库示例_javascript_10

 4.配置JavaScript代码控件

        双击“JavaScript代码”控件,进入“JavaScript代码”界面,勾选“兼容模式?”处的复选框,使得JavaScript代码控件的兼容性更强;在Java Script代码框中编写代码;单击【获取变量】按钮,将代码中定义的变量添加至字段框。JavaScript代码控件的配置如图所示。

dimension 数据仓库fact 数据仓库示例_数据仓库_11

5.配置生成记录2控件

dimension 数据仓库fact 数据仓库示例_数据仓库_12

 

6.配置增加序列2控件 

dimension 数据仓库fact 数据仓库示例_数据仓库_13

7.配置生成记录3控件

dimension 数据仓库fact 数据仓库示例_数据仓库_14

8.配置增加序列3控件 

dimension 数据仓库fact 数据仓库示例_javascript_15

9.配置JavaScript代码2控件

        双击“JavaScript代码2”控件,进入“JavaScript代码2”界面,勾选“兼容模式?”处的复选框,使得JavaScript代码2控件的兼容性更强;在Java Script代码框中编写代码;单击【获取变量】按钮,将代码中定义的变量添加至字段框。JavaScript代码2控件的配置,如图所示。

 

dimension 数据仓库fact 数据仓库示例_开发语言_16

 10.配置表输出控件

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

dimension 数据仓库fact 数据仓库示例_控件_17

11.运行load_dim_time转换

dimension 数据仓库fact 数据仓库示例_javascript_18

 

12.查看数据表dim_time中的数据 

 

dimension 数据仓库fact 数据仓库示例_开发语言_19

三、加载员工数据至员工维度表

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

dimension 数据仓库fact 数据仓库示例_控件_20

 

2.配置表输入控件

dimension 数据仓库fact 数据仓库示例_控件_21

 

3.配置表输入2控件

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

dimension 数据仓库fact 数据仓库示例_开发语言_22

 4.配置字段选择控件

        双击“字段选择”控件,进入“选择/改名值”界面,在“元数据”选项卡的“需要改变元数据的字段”处添加字段active,由于数据仓库sakila_dw中字段staff_active的数据类型为char类型,因此,我们需要将数据表staff中字段active的数据类型改为String类型,如图所示。

dimension 数据仓库fact 数据仓库示例_开发语言_23

5.配置值映射控件

        双击“值映射”控件,进入“值映射”界面,在“使用的字段名”处的下拉框选择字段active;在“字段值”框中,添加源值和目标值,这里是将Y替换成Yes,将N替换成No,如图所示。

dimension 数据仓库fact 数据仓库示例_数据仓库_24

 

6.配置维度查询/更新控件

        双击“维度查询/更新”控件,进入“维度查询/更新”界面, 单击目标表右侧的【浏览】按钮,选择输出的目标表,即维度表dim_staff;在“关键字”选项卡处添加关键字字段staff_id,用于指定维度表字段和值映射控件流中字段的比较条件,若维度表中的数据有更新,则通过字段staff_id进行更新操作;在“字段”选项卡处添加查询/更新字段,用于更新目标维度表中的字段数据;在“代理关键字段”处的下拉框中选择staff_key为代理关键字段,并指定“创建代理键”是使用自增字段;在“Version字段”处的下拉框中选择staff_version_number;在“Stream日期字段”处的下拉框中选择last_update;在“开始日期字段”处的下拉框中选择staff_valid_from;在“截止日期字段”处的下拉框中选择staff_valid_through,如图所示(见下页)。

dimension 数据仓库fact 数据仓库示例_开发语言_25

7. 运行转换load_dim_staff

dimension 数据仓库fact 数据仓库示例_dimension 数据仓库fact_26

 

8.查看数据表dim_staff中的数据

dimension 数据仓库fact 数据仓库示例_数据仓库_27