`
cocoIT
  • 浏览: 51011 次
  • 性别: Icon_minigender_1
  • 来自: 福建
文章分类
社区版块
存档分类
最新评论

hadoop源码研究 -M/R(1)

 
阅读更多
InputFormat

将输入的数据集切割成小数据集 InputSplits,每一个 InputSplit 将由一个 Mapper 负责处理。此外 InputFormat 中还提供一个 RecordReader 的实现, 将一个 InputSplit 解析成 <key,value> 对提供给 map 函数。
默认:TextInputFormat
(针对文本文件,按行将文本文件切割成 InputSplits, 并用 LineRecordReader 将 InputSplit 解析成 <key,value> 对,key 是行在文件中的位置,value 是文件中的一行)



OutputFormat

提供一个 RecordWriter 的实现,负责输出最终结果
默认:TextOutputFormat
(用 LineRecordWriter 将最终结果写成纯文件文件,每个 <key,value> 对一行,key 和 value 之间用 tab 分隔)
SequenceFileOutputFormat

OutputKeyClass

输出的最终结果中 key 的类型
默认:LongWritable


OutputValueClass

输出的最终结果中 value 的类型
默认:Text


MapperClass

Mapper 类,实现 map 函数,完成输入的 <key,value> 到中间结果的映射
默认:IdentityMapper
(将输入的 <key,value> 原封不动的输出为中间结果)



CombinerClass

实现 combine 函数,将中间结果中的重复 key 做合并
默认:null
(不对中间结果中的重复 key 做合并)


ReducerClass

Reducer 类,实现 reduce 函数,对中间结果做合并,形成最终结果
默认:IdentityReducer
(将中间结果直接输出为最终结果)



InputPath

设定 job 的输入目录, job 运行时会处理输入目录下的所有文件
默认:null


OutputPath

设定 job 的输出目录,job 的最终结果会写入输出目录下
默认:null


MapOutputKeyClass

设定 map 函数输出的中间结果中 key 的类型
默认:如果用户没有设定的话,使用 OutputKeyClass


MapOutputValueClass

设定 map 函数输出的中间结果中 value 的类型
默认:如果用户没有设定的话,使用 OutputValuesClass


OutputKeyComparator

对结果中的 key 进行排序时的使用的比较器
默认:WritableComparable


PartitionerClass

对中间结果的 key 排序后,用此 Partition 函数将其划分为R份,每份由一个 Reducer 负责处理。
默认:HashPartitioner
(使用 Hash 函数做 partition)
其他实现:KeyFieldBasedPartitioner PipesPartitioner
分享到:
评论

相关推荐

    hadoop-lzo-master

    1.安装 Hadoop-gpl-compression 1.1 wget http://hadoop-gpl-compression.apache-extras.org.codespot.com/files/hadoop-gpl-compression-0.1.0-rc0.tar.gz 1.2 mv hadoop-gpl-compression-0.1.0/lib/native/Linux-...

    hadoop-eclipse-plugin-2.10.0.jar

    Eclipse集成Hadoop2.10.0的插件,使用`ant`对hadoop的jar包进行打包并适应Eclipse加载,所以参数里有hadoop和eclipse的目录. 必须注意对于不同的hadoop版本,` HADDOP_INSTALL_PATH/share/hadoop/common/lib`下的jar包...

    hadoop-lzo-0.4.20.jar

    hadoop-lzo-0.4.20 centOS6.5 64位编译出来的 拷贝jar包到hadoop和hbase中 cp /opt/hadoopgpl/lib/hadoop-lzo-0.4.20-SNAPSHOT.jar $HADOOP_HOME/share/hadoop/common/ cp /opt/hadoopgpl/lib/hadoop-lzo-0.4.20-...

    hadoop-eclipse-plugin-2.7.3和2.7.7

    hadoop-eclipse-plugin-2.7.3和2.7.7的jar包 hadoop-eclipse-plugin-2.7.3和2.7.7的jar包 hadoop-eclipse-plugin-2.7.3和2.7.7的jar包 hadoop-eclipse-plugin-2.7.3和2.7.7的jar包

    编译hadoop-2.5.0-cdh5.3.6 + snappy 源码的native包

    本文将详细讲解如何在CentOS 6.5系统上编译Hadoop 2.5.0 - CDH5.3.6与Snappy的源码,以生成适用于该环境的native库。 首先,我们要了解Hadoop的native库是什么。Hadoop的native库是一组C++编译的库,它们提供了与...

    hadoop-core-0.20.2 源码 hadoop-2.5.1-src.tar.gz 源码 hadoop 源码

    Hadoop是Apache软件基金会开发的...通过阅读和研究这些源码,开发者可以深入了解Hadoop的内部工作流程,从而优化应用程序,提升性能,或者开发新的功能。对于分布式计算和大数据处理的学习者来说,这是一个宝贵的资源。

    hadoop2.6.0的源码jar hadoop-common-2.6.0-sources.jar

    下载hadoop2.6.0的源码辛苦编译成的,网上没找到编译好现成的,费了几个小时用maven编译好的带源码的jar包,中间还得安装编译protoc,可以直接供eclipse使用。

    hadoop插件apache-hadoop-3.1.0-winutils-master.zip

    1. **环境变量配置**:首先,需要配置HADOOP_HOME环境变量,指向解压后的Hadoop目录。此外,还需将`%HADOOP_HOME%\bin`添加到PATH环境变量,以便能够从任何目录调用`winutils.exe`。 2. **Java环境**:Hadoop依赖...

    hadoop-3.1.3-mac-native_lib.zip

    本压缩包文件“hadoop-3.1.3-mac-native_lib.zip”专门针对macOS系统,包含了在macOS环境下编译Hadoop 3.1.3源码后得到的本地库(native library)。这些本地库对于解决macOS用户在安装或运行Hadoop时可能出现的因...

    hadoop最新版本3.1.1全量jar包

    hadoop-annotations-3.1.1.jar hadoop-common-3.1.1.jar hadoop-mapreduce-client-core-3.1.1.jar hadoop-yarn-api-3.1.1.jar hadoop-auth-3.1.1.jar hadoop-hdfs-3.1.1.jar hadoop-mapreduce-client-hs-3.1.1.jar ...

    hadoop2.7 source code

    Hadoop 2.7源代码分析 Hadoop是Apache软件基金会的一个开源项目,它提供了一个分布式文件系统(HDFS)和一个分布式计算框架...通过深入研究源代码,开发者可以更好地定制和优化Hadoop集群,以满足特定业务需求。

    hadoop-eclipse-plugin-3.1.3.jar

    hadoop-eclipse-plugin-3.1.3,eclipse版本为eclipse-jee-2020-03

    hadoop-3.3.0-src.tar.gz

    hadoop3.3.0源码 # 科学上网下载比较快,可以自己电脑下好了在上传到服务器 wget https://downloads.apache.org/hadoop/common/hadoop-3.3.0/hadoop-3.3.0-src.tar.gz # 解压文件 tar -zxvf hadoop-3.3.0-src.tar.gz...

    hadoop-core-0.20.2-cdh3u3.jar

    export CLASSPATH="$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:${HADOOP_HOME}/lib/commons-logging-1.0.4.jar:${HADOOP_HOME}/lib/guava-r09-jarjar.jar:${HADOOP_HOME}/hadoop-core-0.20.2-cdh3u3.jar:/usr/...

    hadoop-3.1.1-src.tar

    1. **HDFS源码**:HDFS的源码主要位于`hadoop-hdfs-project/hadoop-hdfs`模块中,包含了NameNode、DataNode和Client等组件。NameNode负责元数据管理,DataNode负责数据存储,源码分析可以帮助我们理解其工作原理,如...

    flink-shaded-hadoop-3-uber-3.1.1.7.1.1.0-565-9.0.jar.tar.gz

    《Flink与Hadoop3.x兼容性解析》 在大数据处理领域,Apache Flink和Apache Hadoop是两个不可或缺的关键组件。Flink以其低延迟、高吞吐量的流处理能力而受到广泛赞誉,而Hadoop则以其分布式存储和计算框架闻名。然而...

    hadoop-mapreduce-examples-2.7.1.jar

    hadoop-mapreduce-examples-2.7.1.jar

    hadoop-eclipse-plugin-3.3.1.jar

    Ubuntu虚拟机HADOOP集群搭建eclipse环境 hadoop-eclipse-plugin-3.3.1.jar

Global site tag (gtag.js) - Google Analytics