Talend Replicate

Talend Replicate 或 tReplicate 字段用于将输入源数据复制或克隆成多个副本。这样我们就可以对每个副本执行不同的操作。例如,如果我们有按国家划分的销售数据,您可以创建一个副本,在一个副本上执行聚合,而在另一个副本上应用过滤器。

在本例中,我们使用此 Talend Replicate 转换来创建源表的两个副本,并执行字符串替换和数值聚合。

Talend Replicate 示例

为了演示这一点,我们在我们的 SQL 数据库中使用 customers 表。从下面的 Talend 截图中,您可以看到连接详细信息和我正在使用的表。我建议您参考连接 Talend 到 SQL 文章以了解这些设置。

Configure the Source Table

接下来,将调色板中的 Talend tReplicate 字段拖放到设计窗口以复制数据。

Talend tReplicate to Replicate the Data

请将 DBInput 的主行连接到 Talend replicate 字段。从下面的图像可以看到,在 replicate 组件选项卡中没有太多可以操作的。

单击“编辑架构”按钮将打开以下窗口。在这里,您可以检查输入和输出字段,并根据您的需求进行更改。对我们来说,它很完美,所以我们保留了原样,然后单击了“确定”按钮。

Edit Schema to check the Columns

接下来,我们添加了 tReplace 字段,并将 tReplicate 的主输出连接到 replace 字段。接下来,我们将 Education 替换为 Btech,并将 Occupation 列值 Management 替换为 Admin。请参考 Talend Replace 文章以了解此操作。

Talend tReplicate to Replicate the Data 5

当您右键单击 Talend replicate 字段时,它再次显示主行选项,这是其他任何字段都不可能实现的。因为所有字段只有一个主行,而 replicate 是用于复制数据或创建副本的。

在这里,我们将主行连接到 tAggregateRow 字段,该字段将执行聚合。如您在下面看到的,我们按教育和职业对客户进行分组,并查找年收入和销售的总和。请参考 Talend Aggregate 文章。

Talend tReplicate to Replicate the Data 7

接下来,我们使用了两个 tDBOutput 字段连接到 SQL 数据库。对于数据替换,我们正在创建一个名为 Replciate_Replace 的新表。

Talend tReplicate to Replicate the Data 8

对于聚合数据,我们正在创建一个名为 Replciate_AggregateRow 的新表。

Talend tReplicate to Replicate the Data 9

让我们运行 Talend tReplicate 来复制数据并查看结果。 

Run the Talend tReplicate to Replicate the Data Job

从上面的截图中可以看到,tReplicate 将 15 行传递到 Replace 和 tAggregateRow 字段,这意味着它正在创建 customers 的新副本。在 SQL Server 中,让我们看看 Replace 数据。

Destination Table

聚合数据为

Aggregated Data