首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MapReduce是否需要与HDFS一起使用?

MapReduce是否需要与HDFS一起使用?
EN

Stack Overflow用户
提问于 2015-01-20 10:17:12
回答 2查看 440关注 0票数 0

我希望使用Hadoop MapReduce获得更好的数据处理性能。那么,我是否需要与Hadoop一起使用它呢?或者MapReduce可以与其他类型的分布式数据一起使用?请给我带路..。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-20 20:07:27

Hadoop是一个框架,它包括用于计算的Map编程模型和用于存储的HDFS。

HDFS是hadoop分布式文件系统(Hadoop distributed file System )的缩写,它是受谷歌文件系统( Google )启发的。整个Hadoop项目的灵感来源于谷歌发表的研究论文。

research.google.com/archive/mapreduce-osdi04.pdf

http://research.google.com/archive/mapreduce.html

使用Map编程模型,在簇内不同节点上并行计算数据,减少了处理时间。

您需要使用HDFS或HBASE将数据存储在集群中以获得高性能。如果您喜欢选择正常的文件系统,那么就不会有太大的差别。一旦数据进入分布式系统,自动将其划分到不同的块中,默认情况下复制3次,以避免容错。所有这些在正常的文件系统中都是不可能的。

希望这能有所帮助!

票数 3
EN

Stack Overflow用户

发布于 2015-01-20 14:02:13

首先,你的想法是错误的。Hadoop MapReduce的性能与HDFS的性能没有直接关系。它被认为是缓慢的,因为它的结构:

  1. 它使用Java处理数据。每个单独的映射器和还原器都是JVM的一个单独的实例,需要调用这些实例,这需要一些时间。
  2. 它多次将中间数据放在HDD上。至少,映射器编写其结果(1),还原器读取和合并它们,将结果集写入磁盘(2),还原结果写回您的文件系统,通常是HDFS (3)。您可以在这里找到有关这个过程的更多细节:http://0x0fff.com/hadoop-mapreduce-comprehensive-description/

其次,Hadoop是开放的框架,它支持许多不同的文件系统。您可以从FTP、S3、本地文件系统(例如NFS共享)、MapR、IBM、GlusterFS by RedHat等读取数据,因此您可以自由选择您喜欢的文件系统。MapReduce的主要思想是指定能够使用您的文件系统的InputFormat和OutputFormat。

Spark目前被认为是对Hadoop MapReduce的更快的替代,因为它将大量的计算放到内存中。但是它的使用真的取决于你的情况

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28042792

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档