6.1 多数据源合并
(1)打开Kettle工具,创建转换
使用Kettle工具,创建一个转换company_merge,并添加CSV文件输入控件、表输入控件、字段选择控件、排序合并控件、增加序列控件、表输出控件以及Hop跳连接线,具体如图所示。
(2)配置CSV文件输入控件
双击“CSV文件输入”控件,进入“CSV文件输入”配置界面,单击【浏览】按钮,选择要抽取的CSV文件company_a.csv;单击【获取字段】按钮,Kettle自动检索CSV文件获取字段名称,并对文件中字段的类型、格式、长度、精度等属性进行解析。
(3)配置字段选择控件
在“选择和修改”选项卡的“字段”处手动添加CSV文件输入控件输出的所有数据字段,也可以单击【获取选择的字段】按钮,Kettle工具自动检索并添加CSV文件输入控件输出的所有数据字段。
(4)配置表输入控件
单击【新建】按钮,配置数据库连接,配置完成后单击【确认】按钮。MySQL数据库连接的配置,如下所示。
(5)配置排序合并控件
双击“排序合并”控件,进入“排序合并”配置界面,并在字段框中,指定按字段id进行升序排序。
(6)配置增加序列控件
双击“增加序列”控件,进入“增加序列”配置界面,在“值的名称”处,指定要增加列的列名,这里使用默认的名称,即valuename,其它配置项不作任何改变;单击【确定】按钮,完成“增加序列”控件的配置。
(7)配置字段选择2控件
(8)配置表输出控件
单击【新建】按钮,配置数据库连接,配置完成后单击【确认】按钮。数据库连接的配置具体如图所示。
单击“数据库字段”选项卡;再单击【输入字段映射】按钮,弹出“映射匹配”对话框;依次选中“源字段”选项框的字段和“目标字段”选项框对应的字段,再单击【Add】按钮,将一对映射字段添加至“映射”选项框中。
(9)运行转换company_merge。
(10)查看数据表company中的数据
查看数据表company是否已成功插入40条数据,查看结果如图所示(只展示部分数据)。
6.2 不一致数据的转换
(1)打开Kettle工具,创建转换
使用Kettle工具,创建一个转换inconsistent,并添加表输入控件、字段选择控件、记录集连接控件、插入/更新控件以及Hop跳连接线,具体如图所示。
(2)配置表输入控件
在SQL框中编写查询数据表company中品牌型号不一致数据的 SQL语句,然后单击【预览】按钮,查看数据表company中品牌型号不一致数据是否成功从MySQL数据库中抽取到表输入流中,具体如图所示。
(3)配置表输入2控件
在SQL框中编写SQL语句,查询出不一致数据在数据表suppliers中的全部信息;在“从步骤插入数据”的下拉框选择“表输入”步骤;勾选“执行每一行”处的复选框,用于将表输入控件流中的数据放入到SQL语句对应的参数位置,通过条件查询与数据表suppliers中的数据进行匹配,具体配置如图所示。
(4)配置字段选择控件
双击“字段选择”控件,进入“选择/改名值”界面,并在“选择和修改”选项卡的“字段”处添加表输入2控件流中的所有数据字段,并将字段unitPrice改名成unitPrice1,具体如图所示。
选择“移除”选项卡,切换到“移除”选项卡界面,添加需要移除字段,这里添加的是字段id,由于后续操作不需要字段id,因此在此进行移除,具体如图所示。
(5)配置表输入3控件
(6)配置记录集连接控件
(7)配置字段选择2控件
(8)配置插入/更新控件
(9)运行inconsistent转换
(10)通过SQLyog工具,查看数据表company是否已成功将数据表company中品牌型号相同、价格不同的数据修改成品牌型号价格均相同的数据,查看结果如图所示(只展示部分数据)。
6.3 数据粒度的转换
(1)打开Kettle工具,创建转换
(2)配置表输入控件
(3)配置字段选择控件
双击“字段选择”控件,进入“选择/改名值”界面,在“选择和修改”选项卡的“字段”处手动添加所需字段,这里添加字段id和salesArea,具体如图所示。
(4)配置排序记录控件
(5)配置表输入2控件
(6)配置排序记录2控件
(7)配置记录集连接控件
(8)配置字段选择2控件
(9)配置排序记录3控件
(10)配置表输入3控件
(11)配置排序记录4控件
(12)配置记录集连接2控件
(13)配置过滤记录控件
(14)配置字段选择3控件
(15)配置表输出控件
(16)配置字段选择4控件
(17)配置表输出2控件
(18)运行granularity_merge转换
6.4 数据的商务规划计算
(1)打开Kettle工具,创建转换
(2)配置表输入控件
(3)配置字段选择控件
(4)配置计算器控件
双击“计算器”控件,进入“计算器”界面,在“字段”处,添加一个新字段salesAmount,用于存储计算出的手机日销售额;在“字段A”和“字段B”处的下拉选项中分别选择“unitPrice”(销售价格)和“number”(销售数量)字段;在“计算”处的下拉框中选择“A*B”,即表示将字段A与字段B进行相乘计算,具体如图所示。
(5)配置排序记录控件
(6)配置分组控件
(7)配置字段选择2控件
(8)配置唯一行控件
(9)配置表输出控件
(10)运行total转换
(11)查看数据表regional_sales中的数据