kettle多数据源多表关联同步到单表
概述:在kettle中下图设计转换流程
说明:先在准备两个数据库,可以是不同数据库类型的数据库,下面采用mysql数据库为例,创建test_input数据库和test_output数据库。
分别在test_input数据库创建教师表teacher和教师课程关系表teacher_course。在test_output数据库创建课程表course。
在教师表创建测试数据,测试数据如下图:
在教师课程关系表创建测试数据,测试数据如下图:
在课程表创建测试数据,测试数据如下图:
测试sql关联的效果:
现在使用kettle进行数据同步达到sql关联的效果
1.拉出表输入进行教师表输入:
(这里需要你创建下数据库连接test_input和test_output来对应2个数据库)即下图:
若你不知道怎么创建数据库连接的话可以点击新建:
或在主对象树的DB连接右键新建。
哈哈扯远了。现在我们回到教师表的表输入操作上来。
先填写步骤名称再选择数据库连接然后点击获取sql查询语句:
选择对应的表:
教师课程关系表和课程表的表输入按照教师表的表输入操作进行^ _ ^
拉入记录集关联前需要先拉入排序记录(同一个记录集关联的输入源的排序字段一般以关联字段的相同排序方式进行^ _ ^),以教师表的职工号排序为例:
其他排序也按照这个标准进行哈^ _ ^
进行记录集关联:以教师表和教师课程关系表关联为例:
记录集关联后我们需要对字段进行选择以获取我们需要对字段:
和对名称一样对字段进行重新命名:
最后同步到我们的目标表集表输出:
最后最后我们可以点击运行看看效果:
哈哈大功告成^ _ ^