最码农 最码农
  • 首页
  • 动态广场
  • 精选栏目
  • 闲言碎语
  • 左邻右里
  • 注册
  • 登录
首页 › 大数据 › MapReduce 开发总结

MapReduce 开发总结

Cosy
1年前大数据阅读 518

目录

MapReduce

输入数据接口:InputFormat

(1)默认使用的实现类是:TextInputFormat

(2)TextInputFormat的功能逻辑是:一次读一行文本,然后将该行的起始偏移量作为key,行内容作为value返回。

(3)CombineTextInputFormat可以把多个小文件合并成一个切片处理,提高处理效率。

逻辑处理接口:Mapper

用户根据业务需求实现其中三个方法:map(),setup(),cleanup ()。

Partitioner分区

( 1 ) 有 默 认 实 现 HashPartitioner , 逻 辑 是 根 据 key 的 哈 希 值 和numReduces来返回一个分区号;key.hashCode()&Integer.MAXVALUE %numReduces

(2)如果业务上有特别的需求,可以自定义分区。

Comparable排序

(1)当我们用自定义的对象作为key来输出时,就必须要实现WritableComparable接口,重写其中的compareTo()方法。

(2)部分排序:对最终输出的每一个文件进行内部排序。

(3)全排序:对所有数据进行排序,通常只有一个Reduce。

(4)二次排序:排序的条件有两个。

Combiner合并

Combiner合并可以提高程序执行效率,减少IO传输。但是使用时必须不能影响原有的业务处理结果。

逻辑处理接口:Reducer

用户根据业务需求实现其中三个方法:reduce(),setup(),cleanup ()。

输出数据接口:OutputFormat

(1)默认实现类是TextOutputFormat,功能逻辑是:将每一个KV对,向目标文本文件输出一行。

(2)将SequenceFileOutputFormat输出作为后续 MapReduce任务的输入,这便是一种好的输出格式,因为它的格式紧凑,很容易被压缩。

(3)用户还可以自定义OutputFormat。

MapReduce 教程
赞(0) 收藏(0)
MapReduce框架原理-计数器应用及数据清洗
上一篇
Yarn 的基本架构和工作机制
下一篇
再想想
暂无评论
随 机 推 荐
从Hadoop框架讨论大数据生态
MapReduce框架原理-计数器应用及数据清洗
关于Xshell6和Xftp6必须更新否则打不开的问题
Hive 数据库的相关操作
Flume 概述
Flume 自定义Interceptor
线性回归实例——预测二手乐高价格
MapReduce 作业提交全过程
  • 0
  • 0
介绍

我们致力于打造一个原创的计算机相关技术的博客网站,旨在为访客提供一个优质的计算机技术教程交流平台。网站开辟了很多于计算机相关的栏目,并且收集了不少实用资源,同时也鼓励欢迎访客一起分享、交流、学习。

灵魂推荐
Veer图库 数码荔枝
栏目标题
首页 动态广场 精选栏目 闲言碎语 左邻右里
Copyright © 2021-2023 最码农. 苏ICP备20033168号
  • 首页
  • 动态广场
  • 精选栏目
  • 闲言碎语
  • 左邻右里
# 教程 # # Hadoop # # Hive # # Flume # # 人工智能 #
Cosy
即使世界毁灭,也总有回光返照的那一刻
117
文章
3
评论
434
喜欢