Talend - 与Pig一起工作

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

创建Talend Pig作业

在本节中,让我们学习如何在Talend上运行Pig工作.在这里,我们将处理纽约证券交易所的数据,以找出IBM的平均库存量.

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

Talend Pig Job

向猪作业添加组件

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

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

添加猪工作

配置组件和转换

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

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

NYSE Input

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

编辑模式

在tPigFilterRow中,选择"使用高级过滤器"选项并将"stock_symbol = ='IBM'"放在过滤器选项中.

过滤器选项

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

Avg Stock Volume

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

Stock Exchange

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

Pig Storage

执行Pig作业

现在单击Run执行Pig作业. (忽略警告)

Executing Pig Job

工作完成后,在你提到的用于存储猪作业结果的HDFS路径上检查你的输出. IBM的平均库存量为500.

存储猪