国开电大大数据技术概论实验2:MapReduce的应用参考答案.doc

国开电大大数据技术概论实验2:MapReduce的应用参考答案.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
作者:diandatiku 一.实验目的 1.学习MapReduce编程模型,理解MapReduce的编程思想。会用MapReduce 框架编写简单的并行程序。 2熟悉使用eclipse编写、调试和运行MapReduce并行程序。 二。实验内容 1.登录Openstack云平台,进入搭建好Hadoop的虚拟机,按照实验指导说明, 在终端启动hadoop、启动eclipse。 2.用MapReduce编程思想,修改hadoop自带的例子程序 WordCount,实现如 下功能:统计给定文件data.dat中出现频率最多的三个单词,并输出这三个单词和出现的次数。(注:这里不区分字母大小写,如 he 与 He 当做是同一个单词计数) 三.实验指导 1. 进入虚拟机,打开终端,切换为root 用户,命令使用: su root输入密码 2.进入hadoop 安装目录,本实验中hadoop安装目录为:/usr/local/hadoop-2.6.0/ 使用 ls 命令查看该目录中的文件: 3.所有与hadoop 启动/关闭有关的脚本位于sbin目录下,所以继续进入sbin目 录。其中,hadoop2.X版本的启动命令主要用到start-dfs.sh和start-yarnsh。关闭hadoop 主要用到stop-dfs.sh和stop-yarn.sh。 执行start-dfs.sh,然后使用jps命令查看启动项,保证NameNode和DataNode已启动,否则启动出错: 执行start-yarn.sh,ips查看时,保证以下6个启动项已启动: 4.打开eclipse,在右上角进入Map/Reduce模式,建立eclispe-hadoop连接 5.连接成功后,能够在(1)这个文件夹下再创建文件夹(创建后需refresh) 6. 建立wordcount 项目,如下步骤: 7. next,项目名任意(如wordcount),finish。将WordCountjava 文件复制到wordcount 项目下src文件中,双击打开。并删除代码中的一行包名: package org.apachehadoop.examples; 8.如上图已经将WordCountjava文件复制进src文件下,在DFS中wordcount下建立input目录,用来存放单词计数程序的输入文件,右键上传datadat等多个文件到DFS中 上传成功后如下: 9. 上传文件后,执行 WordCount代码,右键Run as ->Run Configurations.…. 在Arguments选项下配置MapReduce程序在hdfs上的输入文件和输出文件,根据自己的机器hdfs://localhost:9000/input和hdfs://localhost:9000/output 10. 以 filel.txt 以及 file2.txt 为例,统计两个文件中出现单词如下,每次运行前删除 output 文件。 1MapReduce简介 1.1MapReduce编程模型 MapReduce采用"分而治之"的思想,把对大规模数据集的操作,分发给一个主节点管理下的各个分节点共同完成,然后通过整合各个节点的中间结果,得到最终结果。简单地说,MapReduce就是"任务的分解与结果的汇总"。在Hadoop中,用于执行MapReduce任务的机器角色有两个:一个是JobTracker;另一个是TaskTracker,JobTracker是用于调度工作的,TaskTracker是用于执行工作的。一个Hadoop集群中只有一台JobTracker。在分布式计算中,MapReduce框架负责处理了并行编程中分布式存储、工作调度、负载 均衡、容错均衡、容错处理以及网络通信等复杂问题,把处理过程高度抽象为两个函数:map和reduce,map负责把任务分解成多个任务,redce负责把分解后多任务处理的结果汇总起来。 蓝色梦想: 需要注意的是,用MapReduce来处理的数据集(或任务)必须具备这样的特点:待处 理的数据集可以分解成许多小的数据集,而且每一个小数据集都可以完全并行地进行处理。 1.2MapReduce处理过程 在Hadoop中,每个MapReduce任务都被初始化为一个Job,每个Job又可以分为两种 阶段:map 阶段和reduce阶段。从下图中可以看出,MapReduce计算模型的核心部分是map函数和 reduce 函数。这两个函数的具体功能有用户根据需要自己设计实现。在Map阶段,MapReduce框架将任务的输入数据分割成固定大小的片段(splits),随后将每个split进一步分解成一批键值对<K1V1>。Hadoop为每一个split创建一个Map任务(以下简称Mapper)

文档评论(0)

diandatiku + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档