map reduce是否适用于小规模的非结构化源?

tzdcorbm  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(276)

我做了一些研究,我努力找出hadoop的典型用例。到目前为止,我所了解的是,它应该是批处理的最佳方法,当数据大小至少在TB量级时,源也是非结构化的,并且算法是连续的,就像计算许多文档中出现的单词一样。。。在高层,我的理解是关键点是将代码移向数据节点,而不是相反的传统方法。
但是
1) 我仍然不明白——以一种简单的方式——为什么其他经典的并行编程实现不能达到类似的性能和性能
2) 我想知道hadoop map reduce范例是否适用于数据量较小(即使源也是非结构化的)的用例,或者在这种情况下什么技术更合适?

oprakyz7

oprakyz71#

你的问题很有道理。我在mapreduce和其他大数据生态系统并行框架方面做了相当深入的工作,所以希望我能提供一些上下文。在本次对话中,让我们考虑将hadoop定义为一个由hdfs和mapreduce(忘记hive、pig等)组成的环境。
1) 其他并行编程框架可以达到(并超过)hadoop的性能。hadoop相对于大多数其他模型的优点是容错性,而且很多底层细节都是从应用程序开发人员那里抽象出来的,因此您不需要成为Maven系统程序员就可以在数PB的规模上完成工作。
2) mapreduce基本上可以在任何规模上运行(例如,请参阅apache的字数计算示例,它很小)。也就是说,它在计算方面有相当大的开销,比如计算文件的写入位置和工作的分块(所有这些都由hadoop处理)。在小范围内,最好使用传统的map()和reduce()函数处理数据。这个概念是完全相同的,但执行方式不同。

相关问题