在本教程中,您将了解到如何使用tMap组件连接两个数据源。
本教程中使用的软件版本为Talend Open Studio for Data Integration v6。
1 新建Job并添加源组件
将电影元数据文件添加到新作业中,并重命名为tFileInputDelimited组件。
注意,电影文件中的最后一列是directorID。
本教程中,我们将以元数据文件中的directorID与导演文件中的DirectorID列相连接。
2 新建第二个元组件
基于名为directors.txt的文件创建一个新的元数据文件,并将其添加为第二个源组件,具体步骤为:
1)新建一个的元数据文件,命名为director。
2)指定示例文件:点击导航栏中的“浏览”选项,从本地磁盘中选择文件txt,然后单击“打开”。
3)此文件中的字段分隔符是逗号。更改分隔符请在字段分隔符下拉列表中选择逗号。
4)单击“刷新预览”,查看编辑后的文件。
注意:此文件只有两列:directorID和directorName。
5)将列名称重新编辑为directorID和directorName,将directorName字段的长度更改为40。可以看到,新的元数据文件directors0.1在ProjectRepository的Metadata下。现在可以将电影文件中的directorID列与导演文件中的directorID列连接起来。
6)将导演元数据文件添加到作业作为第二个源输入。
3 添加tMap组件
1)将tMap组件添加到作业设计器中。
2)建立源输入组件与tMap组件之间的数据流:首先将电影元数据文件链接到tMap_1组件,然后将导演元数据文件链接到tMap_1。
3)重命名源组件和tMap组件之间的链接:选中链接并输入movies。同样,将另一个链接重命名为director。
4)双击tMap组件,打开组件向导。
注意,在向导的左侧部分,电影和导演源文件都被视作tMap组件的输入。
5)创建输出数据流:在tMap向导的输出部分中,单击[+],并将新输出重命名为joinOutput,单击OK即可创建一个空的输出数据流。
6)将movieID、title、releaseYear和url字段添加到输出数据流:从movies输入中选择四个字段并将它们放置到输出数据流中。同样,将directorName字段添加到来自directors输入的输出数据流。
7)配置连接:请选择movies表中的directorID列并将其拖到Director表的directorID列中。
4 将结果保存到文件
1)指定输出路径:将tFileOutputDelimited组件添加到作业设计器并将tMap组件的joinedOutput输出链接到它。
2)配置输出组件:在组件的视图中指定输出文件的路径,并在输出文件中包含标题行。
3)在运行视图中单击运行。
4)查看moviesComplete.csv文件:打开文件所在位置并查看该文件。
注意:有些电影没有导演姓名,那么这部分电影也会没有导演ID。
ETL工具中的默认行为:
- 将显示驾驶表中的所有行。
- 如果不满足连接条件,则相应的输出字段将为空白。这是一个“左外连接”。相反,您可以将tMap中的连接配置为内部连接,它只显示满足连接条件的行。