排序可分为四种排序:
普通排序
部分排序
全局排序
二次排序(比如有两列数据,第一列相同时,需要对第二列进行排序。)
普通排序
普通排序是Mapreduce本身就自带排序功能;
Text对象是不适合排序的;IntWritable,LongWritable等实现了WritableComparable类型的对象都是可以排序的;
部分排序
map和reduce处理过程中默认包含了对ke...
分类:
编程语言 时间:
2015-06-16 16:44:10
阅读次数:
191
使用案例:
联接两张表
Table EMP:(新建文件EMP,第一行属性名不要)
Name Sex Age DepNo
zhang male 20 1
li female 25 2
wang female 30 3
zhou...
分类:
其他好文 时间:
2015-06-15 23:57:06
阅读次数:
238
作业设计与资料链接: http://pan.baidu.com/s/1o6MJTyi 密码: 628d一、 作业要求根据关注列表relsample.json文件,设计MapReduce算法得到被关注次数最多的前十人,即寻找谁是大V。二、 算法设计第一个Mapper用于解析json文件:从relsam...
分类:
编程语言 时间:
2015-06-15 23:43:39
阅读次数:
280
1. Hive自己如何确定reduce数:
reduce个数的设定极大影响任务执行效率,不指定reduce个数的情况下,Hive会猜测确定一个reduce个数,基于以下两个设定:
hive.exec.reducers.bytes.per.reducer(每个reduce任务处理的数据量,默认为1000^3=1G)
hive.exec.reducers.max(每个任务最大的reduce...
分类:
其他好文 时间:
2015-06-15 22:18:36
阅读次数:
177
简述:Hadoop计数器:可以让开发人员以全局的视角来审查相关作业的运行情况以及各项指标,及时做出错误诊断并进行相应处理。
相比而言,计数器方式比日志更易于分析。内置计数器:(1)Hadoop内置的计数器,主要用来记录作业的执行情况
(2)内置计数器包括如下:
—MapReduce框架计数器(Map-Reduce Framework)
—文件系统计数器(File System Counte...
分类:
其他好文 时间:
2015-06-15 14:46:34
阅读次数:
76
简述
Partitioner组件可以让Map对Key进行分区,从而可以根据不同的key来分发到不同的reduce中去处理;你可以自定义key的一个分发规则,如数据文件包含不同的大学,而输出的要求是每个大学输出一个文件;Partitioner组件提供了一个默认的HashPartitioner。package org.apache.hadoop.mapreduce.lib.partition;
pub...
分类:
其他好文 时间:
2015-06-14 12:32:10
阅读次数:
145
简述
Combiner的作用是把一个map产生的多个合并成一个新的,然后再将新的作为reduce的输入;
在map函数与reduce函数之间多了一个combine函数,目的是为了减少map输出的中间结果,这样减少了reduce复制map输出的数据,减少网络传输负载;
并不是所有情况下都能使用Combiner,Combiner适用于对记录汇总的场景(如求和),但是,求平均数的场景就不能使用Co...
分类:
其他好文 时间:
2015-06-13 23:09:03
阅读次数:
184
前言在Java项目中,比如我们经常使用String的split方法对文本进行处理;在Map/Reduce中,我们也需要对HDFS文件读取后对line进行分割,也涉及到split。前几天,本来“好好的”程序,突然在split处报错,后来才知道由于有一条“脏数据”导致split“超出”了预期,才导致了“不可..
分类:
编程语言 时间:
2015-06-12 15:21:42
阅读次数:
156
wordcount原理:1.mapper(Object key,Object value ,Context contex)阶段2.从数据源读取一行数据传递给mapper函数的value3.处理数据并将处理结果输出到reduce中去String line = value.toString();Stri...
分类:
移动开发 时间:
2015-06-11 01:45:19
阅读次数:
289
错误处理出现错误主要有以下三种:
1、Task任务
2、JobTracker失败
3、TaskTracker失败Task任务1、当map或者reduce子任务中的代码抛出异常,JVM进程会在退出之前向服务tasktracker进程发送错误报告,tasktracker会将此(任务尝试)taskattempt标记为failed状态,释放一个槽以便运行另外一个任务。2、对于流任务,如果流进程以非零退...
分类:
其他好文 时间:
2015-06-10 17:23:33
阅读次数:
778