《数据清洗》8.3.5和8.3.6

8.3.5 加载用户数据至用户维度表

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

2、配置“表输入”控件 

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

在SQL框中编写SQL语句,用于获取字段custmor_last_updata中的最大值,将该值替换为1970-01-01 00:00:00 并赋值给临时字段max_dim_customer_last_updata,点击预览查看 

 

 单击“关闭”→“确定”按钮完成配置

3、配置“表输入2”控件

进入“表输入”界面,单击“新建”按钮配置数据库连接

在SQL框中编写SQL语句用于获取最新数据

 单击“确定”按钮完成配置

接下来创建一个子转换

1)打开kettle工具,创建子转换 

 2)配制“映射输入规范”控件

进入“Mapping input specification”界面,并添加映射的字段“address_id”,该字段为传递的参数(由于转换load_dim_customer中表输入2控件流获取的字段address_id,用于查询用户的地址信息,而后续数据仓库的维度表数据也需要用户的地址信息,因此这里将字段address_id作为传递的参数),添加完毕后单击“确定”按钮,完成“映射输入规范”控件的配置,如图所示。

3)配置“数据库查询”控件

单击“新建”按钮配置数据库连接


单击“浏览”按钮添加数据表,在“查询所需的关键字”框中添加查询所需的关键字字段,在“查询表返回的值”框中添加查询表返回的值

单击“确定”完成配置

4)配置“数据库查询2”控件

和上一步骤相同

 

单击“确定”完成配置

5)配置“数据库查询3” 控件

也同上

 

6)配置“过滤记录”控件

 进入“过滤记录”配置界面,在“条件”处设置过滤的条件,对有第二个地址的用户进行过滤操作;单击左边“<field>”框,弹出字段对话框,选择要过滤的字段address2,如图所示。

 

单击“确定”完成配置

7)配置“JavaScript代码”控件

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

单击“确定”按钮完成配置

8)配置“字段选择”控件

 进入“选择/改名值”界面,在“元数据”选项卡的“移除”处添加要移除的字段,如图所示。

单击“确定”完成配置

4、配置“映射”控件 

进入“映射”界面,单击“转换”选项卡处的“Brower”按钮,选择添加转换fetch_address,用于获取用户的地址信息,如图所示。

单击“确定”按钮完成配置

5、配置“字段选择”控件 

进入“选择/改名值”界面,在“元数据”选项卡的“需要改变元数据的字段”处添加字段active,由于数据表customer中字段active的类型为tinyint,因此需要将字段active的类型改为String,与维度表dim_customer中字段customer_active的类型相对应,如图所示。

单击“确定”完成配置

6、配置“值映射”控件

进入“值映射”界面,在“使用的字段名”处的下拉框选择字段active;在“字段值”框中,添加源值和目标值,由于数据表customer中字段active的值为1和0,对应的是Y和N,这里将Y替换成Yes,将N替换成No,如图所示。

单击“确定”按钮完成配置

7、配置“维度查询/更新”控件

 单击"“确定”完成配置

8、运行转换

 

9、查看数据 

 8.3.6 加载商店数据至商店维度表

1、打开kettle工具,创建转换

2、配置“表输入”控件

单击“新建”按钮完成数据库的连接配置

 在SQL框中编写SQL语句并预览数据

3、配置“表输入2”控件

 单击“新建”按钮完成数据库连接的配置

在SQL框中编写SQL语句

单击“确定”按钮完成配置

4、配置“映射”控件

进入“映射”界面,单击“转换”选项卡处的“Brower”按钮,选择添加转换fetch_address,用于获取用户的地址信息,如图所示。

点击“确定”完成配置

5、配置“数据库查询”控件 

进入“数据库查询”配置界面,单击“新建”按钮,配置数据库连接,配置完成后单击“确定”按钮。MySQL数据库连接的配置如图所示。

单击“浏览”按钮添加数据表,在“查询所需的关键字”框中添加查询所需的关键字字段,在“查询表返回的值”框中添加查询表返回的值

 

 6、配置“维度查询/更新”控件

 7、运行转换

8、查看数据表 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值