zoukankan      html  css  js  c++  java
  • MapReduce程序开发

    1、Demo:WordCount单词计数
    /root/training/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar

    	 执行:
    	 hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount /input/data.txt /output/mr/wc1213
    
         分析WordCount程序数据处理的过程(非常重要)
    

    2、开发自己的WordCount程序
    需要包含的jar:
    /root/training/hadoop-2.7.3/share/hadoop/common
    /root/training/hadoop-2.7.3/share/hadoop/common/lib

       /root/training/hadoop-2.7.3/share/hadoop/mapreduce
       /root/training/hadoop-2.7.3/share/hadoop/mapreduce/lib
    

    再举一个例子:开发一个MapReduce:求每个部门的工资总额
    数据:员工表
    SQL> select deptno,sum(sal) from emp group by deptno order by deptno;

    				DEPTNO   SUM(SAL)
    			---------- ----------
    					10       8750
    					20      10875
    					30       9400
    

    3、MapReduce的一些高级特性
    (1)序列化:类似Java的序列化
    如果一个类实现了的Hadoop的序列化机制(接口:Writable),这个类的对象就可以作为输入和输出的值
    举例1:使用Employee类来封装员工信息,并且作为Map和Reduce的输入和输出

    			一定注意:序列化的顺序和反序列化的顺序要一致
    			
    			举例2:使用序列化Employee重写  求每个部门的工资总额
    
    
    
    (2)排序:注意:按照key2进行排序
    
               默认排序:数字     升序
                         字符串   字典顺序
    					 对象的排序:按照员工的薪水排序
    					 
    		   如果要改变默认的排序规则,需要创建一个自己的比较器
    					 
    (3)分区:Partition,默认情况下,MapReduce只有一个分区,意思是:只有一个输出文件
    (4)合并:Combiner,在Mapper端,先做一次Reducer,用于减少输出到Reducer中的数据,从而提高效率
    (5)MapReduce的核心:Shuffle(洗牌)
  • 相关阅读:
    tmp
    GO语言中使用OpenCV
    The OpenCV Coding Style Guide
    下载tree命令的源代码
    convention over configuration 约定优于配置 按约定编程 约定大于配置 PEP 20 -- The Zen of Python
    tmp
    起步依赖
    Spring Boot Dubbo Dubbok spring cloud
    pug.compile() will compile the Pug source code into a JavaScript function that takes a data object (called “locals”) as an argument.
    request /a?b= /a/?b=
  • 原文地址:https://www.cnblogs.com/notes-study/p/8435731.html
Copyright © 2011-2022 走看看