- Talend 教程
- Talend - 主页
- Talend - 简介
- Talend - 系统要求
- Talend - 安装
- Talend 开放工作室
- Talend - 数据集成
- Talend - 模型基础知识
- 数据集成组件
- Talend - 作业设计
- Talend - 元数据
- Talend - 上下文变量
- Talend - 管理作业
- Talend - 处理作业执行
- Talend - 大数据
- Hadoop分布式文件系统
- Talend - 地图缩减
- Talend - 与 Pig 一起工作
- Talend-Hive
- Talend 有用资源
- Talend - 快速指南
- Talend - 有用的资源
- Talend - 讨论
Talend - 地图缩减
在上一章中,我们了解了 Talend 如何与大数据配合使用。在本章中,让我们了解如何将 MapReduce 与 Talend 结合使用。
创建 Talend MapReduce 作业
让我们学习如何在 Talend 上运行 MapReduce 作业。在这里,我们将运行一个 MapReduce 字数统计示例。
为此,右键单击“作业设计”并创建一个新作业 - MapreduceJob。提及作业的详细信息并单击“完成”。
向 MapReduce 作业添加组件
要将组件添加到 MapReduce 作业,请将 Talend 的五个组件 – tHDFSInput、tNormalize、tAggregateRow、tMap、tOutput 从托盘拖放到设计器窗口。右键单击 tHDFSInput 并创建 tNormalize 的主链接。
右键单击 tNormalize 并创建指向 tAggregateRow 的主链接。然后,右键单击 tAggregateRow 并创建指向 tMap 的主链接。现在,右键单击 tMap 并创建指向 tHDFSOutput 的主链接。
配置组件和转换
在 tHDFSInput 中,选择发行版 cloudera 及其版本。请注意,Namenode URI 应为“hdfs://quickstart.cloudera:8020”,用户名应为“cloudera”。在文件名选项中,指定 MapReduce 作业的输入文件的路径。确保此输入文件存在于 HDFS 上。
现在,根据您的输入文件选择文件类型、行分隔符、文件分隔符和标题。
单击编辑架构并将字段“line”添加为字符串类型。
在 tNomalize 中,要规范化的列将为行,项目分隔符将为空格 -> “ “。现在,单击编辑架构。tNormalize 将具有行列,tAggregateRow 将具有 2 列单词和字数,如下所示。
在 tAggregateRow 中,将单词作为 Group by 选项中的输出列。在操作中,将字数作为输出列,将函数作为计数,将输入列位置作为行。
现在双击 tMap 组件进入映射编辑器并将输入映射到所需的输出。在此示例中,单词与单词映射,单词计数与单词计数映射。在表达式栏中,单击[...]进入表达式生成器。
现在,从类别列表和 UPCASE 函数中选择 StringHandling。将表达式编辑为“StringHandling.UPCASE(row3.word)”,然后单击“确定”。将 row3.wordcount 保留在与 wordcount 对应的表达式列中,如下所示。
在 tHDFSOutput 中,连接到我们从属性类型创建的 Hadoop 集群作为存储库。观察字段将被自动填充。在文件名中,指定要存储输出的输出路径。保留操作、行分隔符和字段分隔符,如下所示。
执行MapReduce作业
成功完成配置后,单击“运行”并执行您的 MapReduce 作业。
转到 HDFS 路径并检查输出。请注意,所有单词都将以其字数显示为大写。