业务系统一般存储非常明细的数据,而数据仓库中的数据是用来分析的,不需要非常明细的数据。一般情况下,会将业务系统数据按照数据仓库粒度进行聚合,这个过程被称为数据粒度的转换。例如,将城市转换为省份或者直辖市。
下面通过kettle工具对数据表company进行数据粒度的转换操作,即将数据表company中字段为salesArea的数据都统一成省份级,并存储到新数据表company_new中,具体操作如下。
要用到的数据表:
company(仅展示部分数据)
city(仅展示部分数据)
provincial(仅展示部分数据)
temporary表的创建
create table temporary(
id int(15),
salesArea char(40));
company-new表的创建
create table company_new(
id int(15),
salesArea char(40),
brand char(20),
model char(100),
unitPrice int(10),
number int(10));
一,创建转换1
为这个转换命名e63.ktr
二,为转换1中的控件进行配置
1,表输入
2,字段选择
3,排序记录
4,表输出2
5,排序记录2
6,记录集连接
第一个步骤选择“排序记录”;第二个步骤选择“排序记录2”;连接类型选择“LEFT OUTER”;将company表中salesArea字段和city表中city字段连接起来(两者相同的连接到一起);
7,字段选择2
8,排序记录3
9,表输入3
10,排序记录4
11,记录集连接2
第一个步骤选择“排序记录3”;第二个步骤选择“排序记录4”;连接类型选择“LEFT OUTER”;将id与pid字段连接起来(两者相同的连接到一起)。
12,过滤记录
13,字段选择3
14,表输出
表temporary已提前创建。
15,字段选择4
16,表输出2
三,创建转换2
命名为e64.ktr
四,配置转换2中的控件
1,表输入
2,字段选择
3,排序记录
4,表输入2
5,字段选择2
6,排序记录2.
7,记录集连接
第一个步骤选择“排序记录”;第二个步骤选择“排序记录2”;连接类型选择“FULL OUTER”;将id与id字段连接起来(两者相同的连接到一起)。
8,字段选择3
9,表输出
五,创建作业
六,配置作业中的控件
1,start
使用默认选项。
2,转换
3,转换1