Talend 简明教程

Talend - Working with Pig

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

Creating a Talend Pig Job

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

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

talend pig job

Adding Components to Pig Job

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

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

adding pig job

Configuring Components and Transformations

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

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

nyse input

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

edit schema

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

filter option

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

avg stock volume

现在,在“按组”选项中放置 stock_exchange 列。在“操作”字段中添加 avg_stock_volume 列,使用 count 函数和 stock_exchange 作为输入列。

stock exchange

在 tPigStoreResult 中,在“结果文件夹 URI”中提供输出路径,您希望在此处存储 Pig 作业的结果。选择存储函数为 PigStorage,字段分隔符(非必需)为“\t”。

pig storage

Executing the Pig Job

现在,单击“运行”以执行您的 Pig 作业。(忽略警告)

executing pig job

作业完成后,转到 HDFS 路径并查看您的输出,您已提及该路径以存储 pig 作业结果。IBM 的平均股票量为 500。

storing pig