zoukankan      html  css  js  c++  java
  • MapReduce的排序与分区

    一、排序:按照key2进行排序
    1、数字的排序
    2、字符串的排序
    3、对象的排序: 实现WritableComparable接口 (1)序列化 (2)可被排序

        员工数据 Employee.java  ----> 作为key2输出
    	复习SQL:order by 后面 +  列名、表达式、别名、序号  desc
    	         desc 只作用于离他最近的一个列
    			      order by a desc,b desc
    				  
    	(1)一个列的排序
    	(2)多个列的排序
    

    二、分区:Partition: 根据Map的输出(k2 v2)进行分区
    1、默认情况下,MapReduce只有一个分区(只有一个输出文件)
    2、什么是分区?(重要)
    3、举例:Demo: 按照员工的部门号进行分区,相同部门号的员工输出到一个分区中
    日志:
    17/12/18 21:47:24 INFO mapreduce.Job: map 100% reduce 0%
    17/12/18 21:47:49 INFO mapreduce.Job: map 100% reduce 33%
    17/12/18 21:47:55 INFO mapreduce.Job: map 100% reduce 67%
    17/12/18 21:47:56 INFO mapreduce.Job: map 100% reduce 100%

    三、合并:Combiner
    1、MapReduce的任务中,可以没有Combiner
    2、Combiner是一种特殊的Reducer,是在Mapper端先做一次Reducer,用来减少Map的输出,从而提高的效率。
    3、注意事项:
    (1)有些情况,不能使用Combiner -----> 求平均值

    	(2)引入Combiner,不引人Combiner,一定不能改变原理的逻辑。(MapReduce编程案例:实现倒排索引)
    
    错误:
    Error: java.io.IOException: wrong value class: class org.apache.hadoop.io.DoubleWritable is not class org.apache.hadoop.io.IntWritable
  • 相关阅读:
    银行卡号每隔4位插入空格
    IE6-8下自定义标签的表现
    Sql Server尝试读取或写入受保护的内存。这通常指示其他内存已损坏
    儿童编程教学scratch 3.0
    Shell 教程入门
    自定义vs2005代码段
    解决Adobe ReaderXI自动关闭问题
    WPF——给button添加背景图片
    WPF 异步加载数据
    Caliburn.Micro中的WindowManager
  • 原文地址:https://www.cnblogs.com/notes-study/p/8435742.html
Copyright © 2011-2022 走看看