Talend - 使用 Pig

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

创建 Talend Pig 作业

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

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

Talend Pig Job

向 Pig 作业添加组件

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

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

添加 Pig 作业

配置组件和转换

在 tPigLoad 中,将发行版指定为 cloudera,并指定 cloudera 的版本。请注意,Namenode URI 应为"hdfs://quickstart.cloudera:8020",Resource Manager 应为"quickstart.cloudera:8020"。此外,用户名应为"cloudera"。

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

NYSE 输入

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

编辑模式

在 tPigFilterRow 中,选择"使用高级过滤器"选项,并在过滤器选项中输入"stock_symbol = = 'IBM'"。

过滤器选项

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

平均股票交易量

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

Stock Exchange

在 tPigStoreResult 中,在 Result Folder URI 中提供要存储 Pig 作业结果的输出路径。选择存储函数为 PigStorage,字段分隔符(非强制性)为" "。

Pig Storage

执行 Pig 作业

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

执行 Pig 作业

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

存储 Pig