我希望使用Hadoop MapReduce为数据处理提供更好的性能。那么,我是否需要将它与Hadoop DFS一起使用?或者MapReduce可以与其他类型的数据一起使用?请指示我......
答案 0 :(得分:3)
Hadoop是一个框架,其中包括用于计算的Map Reduce编程模型和用于存储的HDFS。
HDFS代表hadoop分布式文件系统,其灵感来自Google文件系统。整个Hadoop项目的灵感来自Google发布的研究论文。
research.google.com/archive/mapreduce-osdi04.pdf
http://research.google.com/archive/mapreduce.html
使用Map Reduce编程模型数据将在整个集群的不同节点中以并行方式计算,这将减少处理时间。
您需要使用HDFS或HBASE将数据存储在群集中以获得高性能。如果你想选择普通的文件系统,那么就没有太大的区别了。一旦数据进入分布式系统,它将自动划分到不同的块并默认复制3次以避免容错。所有这些都不适用于普通文件系统
希望这有帮助!
答案 1 :(得分:2)
首先,你的想法是错误的。 Hadoop MapReduce的性能与HDFS的性能没有直接关系。由于其架构,它被认为是缓慢的:
其次,Hadoop是开放框架,它支持许多不同的文件系统。您可以从FTP,S3,本地文件系统(例如NFS共享),MapR-FS,IBM GPFS,RedHat的GlusterFS等读取数据。因此您可以自由选择您喜欢的数据。 MapReduce的主要思想是指定能够与文件系统一起使用的InputFormat和OutputFormat
目前,Spark被认为是Hadoop MapReduce的更快替代品,因为它将大量计算放入内存中。但它的使用真的取决于你的情况