6.1 多数据源合并

1.案例介绍

通过Kettle工具将A公司和B公司的手机日销售数据合并到一个数据源(数据表company)中,也就是对文件company_a.csv和数据表company_b中的数据进行合并操作,并输出到数据表company中。

2.数据准备

假设,某公司旗下有两个子公司,分别为A公司和B公司,且这两个子公司均在销售手机,其中A公司的手机日销售情况存储在CSV文件中,即文件company_a.csv;B公司的手机日销售情况存储在数据库的数据表中,即数据表company_b,具体内容如下图所示。

 

 3.具体步骤

(1)打开Kettle工具,创建转换

使用Kettle工具,创建一个转换company_merge,并添加CSV文件输入控件、表输入控件、字段选择控件、排序合并控件、增加序列控件、表输出控件以及Hop跳连接线,具体如图所示。

(2)配置CSV文件输入控件 

双击“CSV文件输入”控件,进入“CSV文件输入”配置界面,单击【浏览】按钮,选择要抽取的CSV文件company_a.csv,单击【获取字段】按钮。

 单击【浏览】按钮,查看文件company_a.csv的数据是否抽取到CSV文件输入流中,具体效果如图所示。

(3)配置字段选择控件 

双击“字段选择”控件,进入“选择/改名值”界面,在“选择和修改”选项卡的“字段”处添加CSV文件输入控件输出的所有数据字段。

 选择“元数据”选项卡,切换到“元数据”选项卡界面。添加需要改变元数据的字段,将“字段选择”流中的字段进行一致性处理,即单击【获取改变的字段】按钮,获取要改变的字段,并在“Binary to Normal”一列的下拉框中,选择为“是”,使得CSV文件company_a.csv中数据的字段类型与数据表company_b中数据的字段类型一致。

(4)配置表输入控件 

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

在图中的SQL框中编写查询数据表company_b的SQL语句,然后单击【预览】按钮,查看数据表company_b的数据是否成功从MySQL数据库中抽取到表输入流中,具体如图所示。

 

(5)配置排序合并控件 

双击“排序合并”控件,进入“排序合并”配置界面,并在字段框中,指定按字段id进行升序排序。

(6)配置增加序列控件 

双击“增加序列”控件,进入“增加序列”配置界面,在“值的名称”处,指定要增加列的列名,这里使用默认的名称,即valuename,其它配置项不作任何改变;单击【确定】按钮,完成“增加序列”控件的配置。

(7)配置字段选择2控件

双击“字段选择2”控件,进入“选择/改名值”界面。在“选择和修改”处选择和修改要输出的字段,具体如图所示。

 

(8)配置表输出控件 

双击“表输出”控件,进入“表输出”控件的配置界面。单击目标表右侧的【浏览】按钮,指定输出目标表,即数据表company;勾选“指定数据库字段”复选框,用于将数据表company的字段与“字段选择2”控件输出流中的字段进行匹配,如图所示。

单击“数据库字段”选项卡;再单击【输入字段映射】按钮,弹出“映射匹配”对话框;依次选中“源字段”选项框的字段和“目标字段”选项框对应的字段,再单击【Add】按钮,将一对映射字段添加至“映射”选项框中。

 

(9)运行转换

  

4.查看数据表company中的数据 

单击“字段选择”控件,再单击执行结果窗口的“Preview data”选项卡,查看数据表company是否已成功插入40条数据。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值