`
zhang_xzhi_xjtu
  • 浏览: 538737 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

hadoop_hadoop的map reduce

 
阅读更多
这个根据功能模块分为几个组:

[Job描述组,包含Job,上下文,ID,Counter]





JobContext
A read-only view of the job that is provided to the tasks while they are running.


Job
/**
* The job submitter's view of the Job. It allows the user to configure the
* job, submit it, control its execution, and query the state. The set methods
* only work until the job is submitted, afterwards they will throw an
* IllegalStateException.
*/

JobID
例如:'job_200707121733_0003'由三部分组成。
固定前缀job
jobtracker的启动时间
job的编号
不要使用string作为id,用类型,这个是个好的编程方案。

TaskID
task_200707121733_0003_m_000005
task+jobid+(map or reduce)+number

TaskAttemptID
attempt_200707121733_0003_m_000005_0
attempt+taskid+number

ReduceContext
面向字节流依次处理key-value对。

Counter
对性能的追求,name和displayName相同时只存储一次。

CounterGroup
Counter的分组合并。
不序列化name属性。

Counters
提供Enum的cache,CounterGroup的name序列化在这里进行。

[Input Output组]



InputFormat
划分InputSplit,创建RecordReader。

InputSplit
byte-oriented view

RecordReader
record-oriented view

FileInputFormat
文件inputFormat的父类。

TextInputFormat

LineRecordReader
如果Split跨block怎么办。

FileSplit

OutputFormat RecordWriter OutputCommitter

[核心框架组]



Mapper
太核心的概念。
可以覆盖run方法,run方法提供默认map核心执行框架。
可以参考多线程mapper。
提供了几个默认的实现,在我们开发Mapper时可以参考。
反向Mapper(颠倒key-value对)。
单词计数Mapper。
多线程Mapper。

Partitioner
Partitions the key space.
提供了一个默认实现。根据key的hashCode划分。

Reducer
Shuffle,Sort,SecondarySort,Reduce.
提供了2个默认实现,都是对key的计数加和。
  • 大小: 50.1 KB
  • 大小: 36.1 KB
  • 大小: 59.3 KB
  • 大小: 38.2 KB
分享到:
评论

相关推荐

    hadoop_join.jar.zip_hadoop_hadoop query_reduce

    MapReduce的工作原理可以分为两个主要阶段:Map阶段和Reduce阶段。在Map阶段,数据被分割成多个块,并在不同的节点上并行处理。每个Map任务接收一部分输入数据,执行指定的映射操作,生成中间键值对。在Reduce阶段,...

    hadoop-streaming-2.8.0_jar_2.8.0_hadoop_streaming_

    4. **HadoopStreaming.class**: 这个类是 Hadoop Streaming 的核心,它实现了 MapReduce 框架,使得用户可以使用非Java语言编写 Map 和 Reduce 部分。 Hadoop Streaming 的标签 "jar 2.8.0 hadoop streaming" 强调...

    hadoop_class-master.zip_Master Class_hadoop_社交

    在Hadoop中实现倒排索引,通常需要通过MapReduce的两个阶段:map阶段对原始数据进行切分和词频统计,reduce阶段则将相同关键词的数据聚合在一起,生成倒排列表。这种方法在处理大规模的社交网络数据,如用户的搜索...

    Hadoop_in_Action.pdf

    - **编写基本的MapReduce程序**:这部分涵盖了如何编写简单的MapReduce 应用程序,包括如何定义Map 和Reduce 函数、如何处理输入和输出数据等。 - **高级MapReduce**:这一章节深入探讨了MapReduce 的高级特性,例如...

    Hadoop常见异常

    在使用Hadoop进行数据处理时,可能会出现"INFO mapred.JobClient: map 0% reduce 0%"的错误提示,并且在日志中没有出现任何错误信息。解决办法是,删除/etc/hosts文件中的多余机器名。 五、Call to localhost/...

    Hadoop_in_Action

    它包括两个主要阶段:Map阶段和Reduce阶段。Map阶段将输入数据切分成键值对,然后在不同的节点上并行处理;Reduce阶段则聚合Map阶段的结果,通常用于汇总和整合数据。 3. **Hadoop生态系统**:除了HDFS和MapReduce...

    细细品味Hadoop_Hadoop集群(第9期)_MapReduce初级案例

    在MapReduce初级案例中,通常会涵盖如何编写Map和Reduce函数,如何配置和运行Hadoop作业,以及如何解析和理解输出结果。开发者通常会使用Java API来实现MapReduce程序,但也有其他的编程语言支持,比如Python和Perl...

    Hadoop-Installing.rar_hadoop_hadoop安装_分布式

    MapReduce是Hadoop的数据处理模型,它将复杂任务分解为两个阶段:Map阶段和Reduce阶段。在Map阶段,原始数据被分发到各个节点进行局部处理;在Reduce阶段,节点的结果被聚合,以生成最终结果。这种模式使得大规模...

    Hadoop_2.7.2安装包.rar

    2. **MapReduce**:Hadoop的并行计算模型,主要包含Map阶段和Reduce阶段,用于处理大规模数据集。 3. **YARN(Yet Another Resource Negotiator)**:在Hadoop 2.x版本中引入,作为资源管理器,负责调度任务和管理...

    hadoop_eclipse插件

    6. 安装完成后,重启Eclipse,新的Hadoop相关选项应该会在项目右键菜单中出现,如“New” -> “Map/Reduce Project”。 使用插件后,你可以创建MapReduce项目,编写Mapper和Reducer类,并通过Eclipse的Run ...

    Hadoop数据分析_大数据_hadoop_数据分析_

    MapReduce是Hadoop用于大规模数据处理的编程模型,由“Map”阶段(数据分发和预处理)和“Reduce”阶段(聚合和总结数据)组成。 Hadoop生态系统的其他重要组件还包括: 1. **YARN(Yet Another Resource ...

    hadoop_win7_32位环境配置

    重启Eclipse后,打开`Window--Preference--Hadoop Map/Reduce`进行配置,确保正确设置了Hadoop的路径和其他相关参数。 接下来,为了查看和管理Hadoop连接,你可以通过`Window--Show View--Other-MapReduce Tools`...

    mapred.zip_hadoop_hadoop mapreduce_mapReduce

    MapReduce的核心理念是将大规模数据处理任务分解为两个主要阶段:Map(映射)和Reduce(化简)。在Map阶段,原始数据被分割成多个小块,并分配到集群的不同节点上进行并行处理。每个节点上的Map任务会独立处理其分到...

    MR.rar_hadoop_mapReduce_paidabk

    6. **源码分析**:压缩包中的“MR”可能是MapReduce项目的源代码,开发者可以研究这些代码来理解如何使用Java或其他支持的语言编写Map和Reduce函数,以及如何配置和提交作业到Hadoop集群。 通过学习这个压缩包中的...

    hadoop_map_reduce:Hadoop Map reduce 示例

    在压缩包文件`hadoop_map_reduce-master`中,可能包含了完整的MapReduce示例代码,包括Mapper、Reducer的实现,以及主程序。你可以通过阅读和运行这些代码来学习如何在实际项目中应用Hadoop MapReduce解决大数据问题...

    intel-Hadoop.rar_hadoop_hbase

    指南可能会详细解释MapReduce的工作流程,包括Map阶段和Reduce阶段,以及中间键值对的排序和分区过程。同时,它可能会讨论如何编写自定义的Mapper和Reducer类,以及优化MapReduce作业的方法。 2. **Hadoop分布式...

    Hadoop构建数据仓库实践1_hadoop_

    MapReduce则是一种编程模型,用于大规模数据集的并行计算,其工作原理包括Map阶段(数据分片和处理)和Reduce阶段(汇总结果)。 构建数据仓库在Hadoop上,通常涉及以下几个步骤: 1. 数据获取:这是数据仓库生命...

    Hadoop平台搭建方案_hadoop_源码.zip

    它将复杂的计算任务分解为两个阶段——Map阶段和Reduce阶段。Map阶段将数据切分成键值对,Reduce阶段则根据相同的键聚合这些值,实现数据处理。 搭建Hadoop平台通常包括以下几个步骤: 1. 安装Java运行环境:...

    hadoop_note.zip

    2. MapReduce:Hadoop的并行计算模型,由“Map”和“Reduce”两个阶段组成。Map阶段将大任务分解为小任务并发执行,Reduce阶段则对Map阶段的结果进行聚合,实现数据处理。 二、Hadoop安装与配置 安装Hadoop通常涉及...

    java__Hadoop_MapReduce教程.pdf

    1. **Hadoop MapReduce框架介绍**:Hadoop MapReduce是一种分布式计算框架,能将大量廉价硬件组合成一台超级计算机集群,通过Map和Reduce阶段进行并行计算,处理海量数据。其核心思想是将大任务分解为小任务,分布到...

Global site tag (gtag.js) - Google Analytics