一.加载用户数据至用户维度表
1.打开kettle工具,创建load_dim_customer转换
2.配置“表输入”控件
首先配置数据库连接,连接完成后在SQL语句编写框中编写如下SQL语句:
select
coalesce(max(customer_last_update),"1970-01-01 00:00:00")
as max_dim_customer_last_update
from dim_customer;
编写完成后可以单击“预览”按钮查看:
3.配置“表输入2”控件
首先配置数据库连接,连接完成后在SQL语句编写框中编写如下SQL语句,用于获取数据库sakila中数据表customer中的最新数据:
select
customer_id,
store_id,
first_name,
last_name,
email,
address_id,
active,
create_date,
last_update
from customer where last_update > ?
编写完成后在“从步骤插入数据”下拉列表中选择“表输入”,然后单击“确定”按钮完成配置:
这里需要注意的是,获取数据表customer的最新数据中包含字段address_id,因此需要创建一个子转换,用于实现获取用户的地址,具体实现步骤如下:
4.打开kettle工具,创建fetch_address转换
5.配置“映射输入规范”控件
双击该控件,进入Mapping input specification界面,添加映射的字段address_id,该字段为传递的参数(由于转换load_dim_customer中“表输入2”控件流获取的字段address_id用于查询用户的地址信息,而后续数据仓库的维度表数据也需要用户的地址信息,因此这里将字段address_id作为传递的参数),添加完毕后单击“确定”按钮,完成“映射输入规范”控件的配置,如下图所示:
6.配置“数据库查询”控件
双击进入该控件首先配置数据库连接,连接完成后单击表名右侧的“浏览”按钮,添加数据表address;在“查询所需的关键字”框中添加查询所需的关键字字段address_id