Talend 连接两个数据源


在本教程中,您将了解到如何使用tMap组件连接两个数据源。

本教程中使用的软件版本为Talend Open Studio for Data Integration v6。

1 新建Job并添加源组件

将电影元数据文件添加到新作业中,并重命名为tFileInputDelimited组件。

注意,电影文件中的最后一列是directorID。

本教程中,我们将以元数据文件中的directorID与导演文件中的DirectorID列相连接。

2 新建第二个元组件

基于名为directors.txt的文件创建一个新的元数据文件,并将其添加为第二个源组件,具体步骤为:

1)新建一个的元数据文件,命名为director。

2)指定示例文件:点击导航栏中的“浏览”选项,从本地磁盘中选择文件txt,然后单击“打开”

3)此文件中的字段分隔符逗号。更改分隔符请在字段分隔符下拉列表中选择逗号

4)单击“刷新预览”,查看编辑后的文件。

注意:此文件只有两列:directorIDdirectorName

5)将列名称重新编辑为directorIDdirectorName,将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中的连接配置为内部连接,它只显示满足连接条件的行。