Talend - 使用Pig



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

创建 Talend Pig 作业

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

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

Talend Pig Job

向 Pig 作业添加组件

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

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

Adding Pig Job

配置组件和转换

在 tPigLoad 中,将分发方式设置为 cloudera,并设置 cloudera 版本。请注意,NameNode URI 应为“hdfs://quickstart.cloudera:8020”,资源管理器应为“quickstart.cloudera:8020”。此外,用户名应为“cloudera”。

在输入文件 URI 中,为 Pig 作业提供 NYSE 输入文件的路径。请注意,此输入文件应存在于 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

执行 Pig 作业

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

Executing Pig Job

作业完成后,转到您为存储 Pig 作业结果指定的 HDFS 路径并检查您的输出。IBM 的平均股票交易量为 500。

Storing Pig
广告