Talend 与 Pig 一起工作


在本章中,让我们学习如何在 Talend 中使用 Pig 作业。

创建 Talend Pig 作业


在本节中,让我们学习如何在 Talend 上运行 Pig 作业。在这里,我们将处理 NYSE 数据以找出 IBM 的平均股票量。

为此,右键单击作业设计并创建一个新作业 - pigjob。提及作业的详细信息,然后单击完成。

Talend Pig Job

向 Pig Job 添加组件


要将组件添加到 Pig 作业,请将四个 Talend 组件:tPigLoad、tPigFilterRow、tPigAggregate、tPigStoreResult 从托盘拖放到设计器窗口。

然后,右键单击 tPigLoad 并为 tPigFilterRow 创建 Pig Combine 行。接下来,右键单击 tPigFilterRow 并为 tPigAggregate 创建 Pig Combine 行。右键单击 tPigAggregate 并创建 Pig 组合线到 tPigStoreResult。

Adding Pig Job

配置组件和转换


在 tPigLoad 中,将发行版称为 cloudera 和 cloudera 的版本。请注意,Namenode URI 应为“hdfs://quickstart.cloudera:8020”,资源管理器应为“quickstart.cloudera:8020”。此外,用户名应为“cloudera”。

在 输入 file URI 中,将 NYSE 输入文件的路径提供给 pig 作业。请注意,此输入文件应存在于 HDFS 上。

NYSE 输入

单击编辑架构,添加列及其类型,如下所示。

Edit Schema

在 tPigFilterRow 中,选择“使用高级过滤器”选项并将“stock_symbol = = ‘IBM’”放在过滤器选项中。

Filter Option

在 tAggregateRow 中,单击编辑架构并在输出中添加 avg_stock_volume 列,如下所示。

Avg Stock Volume

现在,将 stock_exchange 列放入 Group by 选项中。在 Operations 字段中添加 avg_stock_volume 列,其中 count 函数和 stock_exchange 作为输入列。

Stock Exchange

在 tPigStoreResult 中,在 Result Folder URI 中给出输出路径,你要在其中存储 Pig 作业的结果。选择存储函数为 PigStorage,字段分隔符(非强制)为“\t”。

Pig Storage

执行 Pig 作业


现在单击运行以执行你的 Pig 作业。 (忽略警告)

Executing Pig Job

作业完成后,请检查你提到的用于存储 Pig 作业结果的 HDFS 路径中的输出。 IBM 的平均库存量为 500。

Storing Pig