Hadoop数据类型
为了让键/值对可以在集群上移动,MapReduce框架提供了一种序列化键/值对的方法。因此,只有那些支持这种序列化的类能够在框架中充当键/值。
实现Writable接口的类可以是值;
实现WritableComparable<T>接口的类可以是键/值。
键/值对经常使用的数据类型列表。这些类均用于实现WritableComparable接口。
BooleanWritable
|
标准布尔变量的封装
|
ByteWritable
|
单字节数的封装
|
DoubleWritable
|
双字节数的封装
|
FloatWritable
|
浮点数的封装
|
IntWritable
|
整数的封装
|
LongWritable
|
Long的封装
|
TextWritable
|
使用UTF8格式的文本
|
NullWritable
|
无键值的占位符
|
Mapper
一个类要作为mapper,需继承MapReduceBase积累并实现Mapper接口。mapper接口负责数据处理阶段,它采用的形式为Mapper<k1,v1,k2,v2>Java泛型,这里的键/值分别实现了WritableComparable和Writable接口,mapper只有一个方法——map,用于处理一个单独的键/值对。
Reducer
reducer的实现和mapper一样必须首先在Reduce基类上扩展。还必须实现reducer方法。
Partition
重定向Mapper输出。将mapper的结果输出给不同的reducer。默认的做法是对键进行散列来确定reducer,hadoop通过HashPartitioner类强制执行这个策略。但有时会出错,需定制。一个定制的partitioner只需实现configure()和getPartition()两个函数。前者将hadoop对作业的配置应用在Partitioner上,而后者返回一个介于0和reduce任务数之间的整数,指向键/值对将要发送到的reducer。
Shuffing
在map和reduce阶段之间,一个MapReducer应用必然从MapReducer任务得到输出结果,并把这些结果发布给reducer任务。该过程通常称为洗牌,因为在单节点上的mapper输出可能被送往分布在集群多个节点上的reducer。
读和写
MapReduce处理的基本原则之一是将输入数据分割成块。这些块可以在多台计算机上并行处理。这些块被称为分片(Input Spilt)。每个分片应该足够小以实现更细粒度的并行,但也不能太小,否则启动与停止分片处理就占很大的开销。
InputFormat
hadoop分割与读取输入文件的方式被定义在InputFormat接口的一个实现中。TextFormat是其默认实现。
OutputFormat
当MapReduce输出数据到文件时,使用的是OutputFormat类。
普通的MapReduce数据流。输入数据被分配到不同节点之后,节点间通信的唯一时间是在“洗牌”阶段,这个通信约束对可扩展性有极大帮助。
分享到:
相关推荐
《Hadoop高级编程——构建与实现大数据解决方案》本书关注用于构建先进的、基于Hadoop的企业级应用的架构和方案,并为实现现实的解决方案提供深入的、代码级的讲解。本书还会带你领略数据设计以及数据设计如何影响...
Hadoop高级编程——构建与实现大数据解决方案.rar
hadoop双机热备——facebook hadoop HA的资料整理,流汗整理
Hadoop 权威指南读书笔记 我自己画的一张图
Hadoop快速入门——第四章、zookeeper安装包
Hadoop权威指南----读书笔记
hadoop实战——初级部分学习笔记 2
自己整理的hadoop学习笔记,很详尽 很真实。linux操作终端下遇到的各种Hadoop常见问题 解决方案
此压缩包主要包含的是是hadoop的7个主要的配置文件,core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、hadoop-env.sh、mapred-env.sh、yarn-env.sh精简配置优化性能,具体相关参数根据集群规模适当...
Hadoop 学习笔记.md
在VMware上部署hadoop集群,首先需要安装jdk。 掌握在完全分布的整合平台中快捷的进行JDK的安装 (1)完全分布模式中JDK的安装和验证; (2)在集群中所有主机上完成JDK的安装; 所有主机上JDK相关命令能够正常使用
Hadoop2.7.1——NFS部署
hadoop学习笔记,hadoop简介,适用于hadoop入门,讲解hadoop安装,使用,基本原理,大数据,分布式等概念
hadoop 学习笔记,从搭建环境开始到具体实验。包括hdfs配置,yarn配置,分布式配置,如何编写mapreuduce 一步一步手把手,最后项目是hadoop 与 javaweb
hadoop集群配置之————flume安装配置(详细版)
hadoop 笔记