一:Mapreduce编程模型

1.介绍

  解决海量数据的计算问题。

  》map:映射

  处理不同机器上的块的数据,一个map处理一个块。

  》reduce:汇总

  将map的结果进行汇总合并

  

2.一个简单的MR程序

  map

  reduce

  input

  output

3.在处理中,格式的流向

  《key,value》

4.需要思考的问题

  处理的数据是什么样的

  map的输出格式

  reduce的输出数据格式

二:完成Wordcount的程序

1.数据的输入格式说明(默认方式)

  Hadoop Yarn

    》key:代表偏移量

    》value:这一行的值

    》<0,Hadoop Yarn>

2.map处理的数据格式

  Hadoop Yarn

  Hadoop Spark

  分割单词

  每出现一次就这样处理一下

  <Hadoop,1>   <Yarn,1>

  <Hadoop,1>  <Spark,1>

  

3.reduce处理的数据格式

  将相同key的value值加在一起就是单词出现的次数

4.新建包以及类

  

5.将程序分成三块的框架

  Mapper类,Reducer类,Driver的run方法

  

  

3.将map与reduce相结合,并在main中运行

  分为四大部分:input,output,mapper,reducer

  

4.Mapper类

  将value转化为字符串

  使用空格分隔

  使用context输出键值对。

  

5.Reducer类

  

6.在main()中写入文件操作系统的路径。

  

7.结果

  

  

8.出现的结果有些问题,因为没有计数。

  

  IntWritable(1),其参数为1.表示每出现一次就记录一次。

9.最新的结果

  

三:打包在yarn上运行

10.因为需要把jar分发到节点上,所以需要修改

  

11.打jar包

  

12.选择jar包的路径

  

13.选择jar运行的主类

  

14.运行jar在yarn上

  

15.运行结果

  

16.在yarn的管理界面上看

  

17.在Configuration中search一下mapper

  

  同样可以reduce,或者fileoutput等查阅一些参数。

013 MapReduce八股文的wordcount应用的更多相关文章

  1. MapReduce编程之wordcount

    实践 MapReduce编程之wordcount import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Fi ...

  2. mapreduce入门之wordcount注释详解

    mapreduce版本:0.2.0之前 说明: 该注释为之前学习时找到的一篇,现在只是在入门以后对该注释做了一些修正以及添加. 由于版本问题,该代码并没有在集群环境中运行,只将其做为理解mapredu ...

  3. mapreduce程序编写(WordCount)

    折腾了半天.终于编写成功了第一个自己的mapreduce程序,并通过打jar包的方式运行起来了. 运行环境: windows 64bit eclipse 64bit jdk6.0 64bit 一.工程 ...

  4. 2 weekend110的mapreduce介绍及wordcount + wordcount的编写和提交集群运行 + mr程序的本地运行模式

    把我们的简单运算逻辑,很方便地扩展到海量数据的场景下,分布式运算. Map作一些,数据的局部处理和打散工作. Reduce作一些,数据的汇总工作. 这是之前的,weekend110的hdfs输入流之源 ...

  5. Mapreduce概述和WordCount程序

    一.Mapreduce概述 Mapreduce是分布式程序编程框架,也是分布式计算框架,它简化了开发! Mapreduce将用户编写的业务逻辑代码和自带默认组合整合成一个完整的分布式运算程序,并发的运 ...

  6. 运行第一个MapReduce程序,WordCount

    1.安装Eclipse 安装后如果无法启动重新配置Java路径(如果之前配置了Java) 2.下载安装eclipse的hadoop插件 注意版本对应,放到/uer/lib/eclipse/plugin ...

  7. MapReduce 编程模型 & WordCount 示例

    学习大数据接触到的第一个编程思想 MapReduce.   前言 之前在学习大数据的时候,很多东西很零散的做了一些笔记,但是都没有好好去整理它们,这篇文章也是对之前的笔记的整理,或者叫输出吧.一来是加 ...

  8. Hadoop学习之路(5)Mapreduce程序完成wordcount

    程序使用的测试文本数据: Dear River Dear River Bear Spark Car Dear Car Bear Car Dear Car River Car Spark Spark D ...

  9. 用python写MapReduce函数——以WordCount为例

    尽管Hadoop框架是用java写的,但是Hadoop程序不限于java,可以用python.C++.ruby等.本例子中直接用python写一个MapReduce实例,而不是用Jython把pyth ...

随机推荐

  1. Mysql 插入中文错误:Incorrect string value: '\xE7\xA8\x8B\xE5\xBA\x8F...' for column 'course' at row 1

    create table my_user (    id tinyint(4) not null auto_increment,    account varchar(255) default nul ...

  2. 「About Blockchain(一)」达沃斯年会上的区块链

    「About Blockchain(一)」 --达沃斯年会上的区块链 写在前面:1月23日到26日,在瑞士达沃斯召开了第48届世界经济论坛.这个新闻本没有引起我格外的关注,直到前两天张老师分享给我一篇 ...

  3. Spring 注解<context:annotation-config> 和 <context:component-scan>的作用与区别

    <context:annotation-config> 是用于激活那些已经在spring容器里注册过的bean(无论是通过xml的方式还是通过packagesanning的方式)上面的注解 ...

  4. Linux下的换行符\n\r以及txt和word文档的使用

    Linux doc WINDOWS下记事本编写的文档和LINUX下VIM或者GEDIT等编写的文档的不同! 例如WINDOWS下编写的SH脚本,放到LINUX下执行可能会出错. 解决方法: 原因是:W ...

  5. 优秀的gdb图形化前端调试器

    目前我自己最喜欢的还是 ddd . gdbgui 和 vim-vebugger插件或vimgdb插件 三种. You could try using Insight a graphical front ...

  6. Log4Net 无法写入到SqlServer

    直接进入正题: 今天在测试使用Log4Net写入到数据库的时候,发现一直无法写入到数据库中,而且程式也没有报任何错误. 配置信息如下: <appender name="AdoNetAp ...

  7. 配置spring所需要的jar包

    spring.jar是包含有完整发布的单个jar 包,spring.jar中包含除了spring-mock.jar里所包含的内容外其它所有jar包的内容,因为只有在开发环境下才会用到 spring-m ...

  8. Expm 1_2 实现快速排序的算法,并尝试采用不同的方法实现线性的划分过程.

    package org.xiu68.exp.exp1; public class Exp1_2 { //实现快速排序算法,采用不同的方法实现线性划分的过程 public static void mai ...

  9. Python-JS事件与面向对象操作

    目录一.函数高级 循环绑定: 使用循环绑定会出现的问题及解决方案: 二.面向对象 3.构造函数(ES5) 三.JS选择器 1.getElement系列(最严谨) 2.querySelector系列(最 ...

  10. jquery实现星级评分

    项目中遇到到实现星级评分,就用了这个插件 http://www.jq22.com/jquery-info291