📜  Hadoop-MapReduce(1)

📅  最后修改于: 2023-12-03 15:31:05.877000             🧑  作者: Mango

Hadoop-MapReduce

Hadoop-MapReduce是一个分布式计算框架,用于处理和生成大规模数据集(大于1TB)的数据并行计算。它提供了在大规模数据集上进行非常快速和可靠的处理的能力。此框架主要包括两个部分:Hadoop分布式文件系统(HDFS)和MapReduce计算模型。

Hadoop分布式文件系统(HDFS)

Hadoop分布式文件系统(HDFS)是一个分布式文件系统,可让我们在多个节点上存储和处理数据。HDFS的核心是将数据切分成块(通常是64 MB或128 MB),并将这些块分散存储在不同的节点上。这有助于HDFS在不同的节点上并行读取和处理数据。因为我们正在处理大量数据,所以数据存储在多个节点上可以使相应时间尽可能短。

MapReduce计算模型

MapReduce计算模型可以将一个问题分成多个子问题,然后在多个节点上并行处理这些子问题。这个计算模型主要包括两个阶段:Map和Reduce。

Map阶段

Map阶段会将输入数据集分成若干份,并把每份数据交给一个Map任务来处理。Map任务的作用是将输入数据分成一组组的键值对,Apache Hadoop的分区器(Partitioner)将这些键值对划分至固定数量的分区(Partition)中,再将每一个分区中的键值对传递给Reduer进行计算。

Reduce阶段

Reduce阶段对于每个分区执行一次,对Map处理后的键值对进行计算,这个计算可以是求和、计数、平均值等。Reduer任务的输出为key-value键值对,在Reduce阶段之后输出到HDFS中。

Hadoop-MapReduce用途

由于Hadoop-MapReduce处理大数据的能力,它被广泛应用于日志处理、数据挖掘、搜索和机器学习等领域。

总结

Hadoop-MapReduce是一种分布式的计算框架,它能够处理大规模数据集的数据并行计算。这个框架可以通过HDFS实现数据的并行存储,通过MapReduce计算模型实现大规模数据的复杂计算。Hadoop-MapReduce被广泛应用于数据处理的各个领域,是大数据处理中必不可少的组成部分。