Talend教程

Talend MapReduce

在上一章中,我们已经看到了 Talend 如何处理大数据。在本章中,让我们了解如何在 Talend 中使用 map Reduce。

创建 Talend MapReduce 作业

让我们学习如何在 Talend 上运行 MapReduce 作业。这里我们将运行一个 MapReduce 字数统计示例。
为此,右键单击 Job Design 并创建一个新作业 – MapreduceJob。提及作业的详细信息,然后单击"完成"。
Map Reduce Job

向 MapReduce 作业添加组件

要将组件添加到 MapReduce 作业,请将 Talend 的五个组件-tHDFSInput、tNormalize、tAggregateRow、tMap、tOutput 从托盘拖放到设计器窗口。右键单击 tHDFSInput 并创建指向 tNormalize 的主链接。
右键单击 tNormalize 并创建指向 tAggregateRow 的主链接。然后,右键单击 tAggregateRow 并创建到 tMap 的主链接。现在,右键单击 tMap 并创建指向 tHDFSOutput 的主链接。
添加组件 Map Reduce

配置组件和转换

在 tHDFSInput 中,选择发行版 cloudera 及其版本。请注意,Namenode URI 应为"hdfs://quickstart.cloudera:8020",用户名应为"cloudera"。在文件名选项中,将输入文件的路径提供给 MapReduce 作业。确保此输入文件存在于 HDFS 上。
现在,根据您的输入文件选择文件类型、行分隔符、文件分隔符和标题。
转换
点击编辑模式并将字段"行"添加为字符串类型。
字符串类型
在 tNomalize 中,要标准化的列将是行,项目分隔符将是空格-> " "。现在,单击编辑架构。 tNormalize 将有 line 列,tAggregateRow 将有 2 列 word 和 wordcount,如下所示。
Normalize 聚合行
在 tAggregateRow 中,将单词作为 Group by 选项中的输出列。在操作中,以wordcount为输出列,函数为count,输入列位置为行。
字数
现在双击 tMap 组件进入地图编辑器并将输入映射到所需的输出。在这个例子中,word 与 word 映射,wordcount 与 wordcount 映射。在表达式栏中,点击[…]进入表达式生成器。
现在,从类别列表和 UPCASE 函数中选择 StringHandling。将表达式编辑为"StringHandling.UPCASE(row3.word)",然后单击"确定"。将row3.wordcount保留在wordcount对应的表达式列中,如下所示。
字符串处理
在 tHDFSOutput 中,连接到我们从属性类型作为存储库创建的 Hadoop 集群。观察字段将自动填充。在文件名中,给出要存储输出的输出路径。保持 Action、行分隔符和字段分隔符如下所示。
字段分隔符

执行 MapReduce 作业

成功完成配置后,单击运行并执行您的 MapReduce 作业。
配置成功
转到您的 HDFS 路径并检查输出。请注意,所有单词的字数都将大写。
HDFS 路径
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4