1、输入文件

输入文件为一个1.2GB的文本文件,通过wc命令可以验证文本文件的行数,和总的单词个数。

运行命令:

hadoop jar /root/hadoop-2.2.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar wordcount /input

/output

行数为26048904

单词个数为:228661956

文件大小为:1258337768 bytes

2、运行耗时

从初始化开始到整个任务运行结束,总共耗时1分51秒

3、运行统计信息

文件系统信息:

任务配置信息:

开启的map任务个数:12个

开启的reduce任务个数:1个

由于是单datanode,故所有的map任务均执行在本地。

Map-Reduce的一个整体描述

Map的输入记录数为26048904,注意这个数字,就是输入的文本文件的行数,所以可以验证,在Hadoop中,map函数的输入即为文本文件中的行数。

Map的输出记录数为228661956,即为整个文本文件中单词的个数,所以,可以验证,map的输出是以<word,1>的形式输出,并没有做局部的单词归并操作。

但是后续的combine调用将map输出到本地的中间数据做了一次归并和排序,可以看到,在reduce之前的combine操作,combine的输入即为map的本地文件,记录数为228663606。

Combine的output为1870,combine的操作相当于做了一个简单的reduce操作。

Reduce的输入为22组,即在partitioner阶段,将combine输出的1870组数据按照哈希的方式分成了22个组发送给Reduce函数,reduce仅做一个归并操作。输出为22个单词的词频个数。

Shuffle过程由hadoop框架中的Partitioner部分来完成的,将每个map的combiner输出分成若干组,交给相应的reducer进行处理。

4、在多机环境下的测试

这次搭建的环境为1台namenode(master)及3台datanode(slaves),在mapreduce过程中存在网络通信。在任务开启的到结束整个map-reduce耗时为:57s,对比单datanode耗时相对少的多。

Map个数和reduce个数和单节点环境一样,说明,在hadoop中,分配map个数和文件的大小相关,reduce任务的个数是可配置的,并且,真正在执行的只有两台机器。

5、多单词(8w单词)文件下的测试

文件大小为5.7G,整个测试耗时3分14秒

Map个数由文件大小而定,即为分片的个数,reduce个数配置文件中为1个,具体任务执行的测试结果如下:

46个map任务,1个reduce任务

在reduce输出的记录数为89268个,即为89268个不同的单词。

后面,将reduce配置的个数改为3个,配置文件为mapred-sit.xml,其中的配置项为 mapred.reduce.tasks

如此配置后,从新运行整个mapreduce程序,运行时间为2分37秒比单个reduce的情况要少37秒的时间,可以看出3个reduce的情况下运行整个mapreduce程序比1个reduce情况下运行效率要高。

欢迎大家一起交流讨论,我的微信

Hadoop MapReduce验证分析相关推荐

  1. Hadoop MapReduce容错性分析

    本文讲述Hadoop-0.21.0 以及以上版本中MapReduce的容错机制.包括JobTracker,TaskTracker,Job,Task,Record等级别的容错机制. 1. JobTrac ...

  2. Hadoop源码分析(四)

    2021SC@SDUSC 研究内容简略介绍 上周我们分析了org.apache.hadoop.mapreduce.Cluster中的的核心代码,本周将继续对mapreduce部分进行分析.在对Clus ...

  3. 【Big Data - Hadoop - MapReduce】初学Hadoop之图解MapReduce与WordCount示例分析

    Hadoop的框架最核心的设计就是:HDFS和MapReduce.HDFS为海量的数据提供了存储,MapReduce则为海量的数据提供了计算. HDFS是Google File System(GFS) ...

  4. Hadoop MapReduce Splits 切片源码分析及切片机制

    本文从Job提交,逐步分析Splits相关源码. 数据块:Block是HDFS物理上把数据分成一块一块的. 数据切片:数据切片只是在物理上输入进行分片,并不会在磁盘上将其分成片进行存储. 文件路径 o ...

  5. Hadoop mapreduce框架简介

    传统hadoop MapReduce架构(老架构) 从上图中可以清楚的看出原 MapReduce 程序的流程及设计思路: 1.首先用户程序 (JobClient) 提交了一个 job,job 的信息会 ...

  6. eBay实践Hadoop MapReduce 任务的性能翻倍之路

    摘要:eBay的CAL(Central Application Logging)系统负责收集eBay各种应用程序的日志数据,并且通过Hadoop MapReduce job生成日志报告,应用程序开发人 ...

  7. hadoop存储与分析

    Apache Hadoop ## 背景 随着信息化互联网|物联网发展要求,万物互联趋势势在必行.随之引发架构的演变由单一架构向高并发分布式架构演变.数据的存储也开始由原始的单机存储演变为分布式存储. ...

  8. Hadoop应用案例分析

    hadoop是什么?hadoop能有哪些应用?hadoop和大数据是什么关系?下面我们将围绕这几个问题详细阐述. hadoop是什么? Hadoop是一个由Apache基金会所开发的分布式系统基础架构 ...

  9. 又双叒叕来更新啦!Hadoop———MapReduce篇

    文章目录 MapReduce(计算) MapReduce概述 MapReduce定义 MapReduce的优缺点 核心思想 MapReduce计算程序运行时的相关进程 官方WordCount源码 Ma ...

最新文章

  1. vc++实现无进程无DLL无硬盘文件无启动项的ICMP后门后门程序
  2. EditPlus 格式化HTML JS CSS
  3. linux+分配挂载点权限,Linux系统管理(一)——初学者建议
  4. 14.5.5 Creating a File-Per-Table Tablespace Outside the Data Directory
  5. 玩转异步 JS :async/await 简明教程(附视频下载)
  6. 利用代码分别实现jdk动态代理和cglib动态代理_代理模式实现方式及优缺点对比...
  7. 视力差,不要怕!PNAS:服用超长链多不饱和脂肪酸可显著改善视觉和视网膜功能!...
  8. python版本管理工具_Python版本管理工具与虚拟环境的介绍
  9. dll修改和EXCOPE
  10. editplus使用php,EditPlus如何运行php文件
  11. 如何对客户行为进行数据分析?
  12. FlashFXP官方U盘绿色版
  13. 丨EGFR FISH 探针解决方案
  14. 优柔但不寡断、柔弱绝不可欺、善良却不可骗、宽容而非懦弱
  15. Android GPRS上网过程中数据图标的变化过程
  16. 【NLP】一文理解Seq2Seq
  17. python查询缺失值所在位置使用scipy_在稀疏lil_matrix(Scipy / Python)中查找最大值及其索引...
  18. 一种通过篡改特定代码数据修复嵌入式产品BUG的方法
  19. dsp c2000开发 c语言,C2000 DSP新建工程基本步骤
  20. Matplotlib NumPy笔记

热门文章

  1. 引起短波通讯服务器终端,影响短波通信的主要因素
  2. GoEasy,适用于多种前端框架,即时通讯技术
  3. .net core创建区域(Areas)的使用
  4. linux编译GDAL
  5. 志宇-mysql优化
  6. 搭建OpenLDAP服务器
  7. 深度学习方面的学术交流平台?
  8. Iphone 5s 刷机 ---- 尝试篇
  9. 如何领养微信聊天机器人
  10. 仿照某商城首页的源代码及效果