Talend - 与 Pig 一起工作


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

创建 Talend Pig 作业

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

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

人才猪工作

向 Pig Job 添加组件

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

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

添加猪作业

配置组件和转换

在 tPigLoad 中,提及 cloudera 的发行版以及 cloudera 的版本。请注意,Namenode URI 应为“hdfs://quickstart.cloudera:8020”,资源管理器应为“quickstart.cloudera:8020”。另外,用户名应该是“cloudera”。

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

纽约证券交易所输入

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

编辑架构

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

过滤器选项

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

平均库存量

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

股票交易

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

生猪储存

执行养猪工作

现在单击“运行”来执行 Pig 作业。(忽略警告)

执行养猪工作

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

储存猪