我很难掌握究竟是什么样的Hadoop生态系统'在概念上。我知道你有一些你想要运行的数据处理任务,因此你使用MapReduce将工作分成更小的部分,但我不确定当他们说“Hadoop Ecosystem”时,人们的意思是什么。 。我还不清楚Apache Spark的优点是什么以及为什么这被认为是如此具有革命性?如果它全部是内存计算,那么这是否意味着你需要更高的RAM机器才能运行Spark工作? Spark与编写一些并行化的Python代码或其他类似的东西有什么不同。
答案 0 :(得分:0)
您的问题相当广泛 - Hadoop生态系统是一系列广泛的技术,可以支持Hadoop MapReduce,使其更易于应用,或以其他方式与其进行交互以完成工作。
示例:
还有很多很多其他人 - 请参阅https://hadoopecosystemtable.github.io/
Spark 不全部在内存中;如果有足够的RAM,它可以在内存中执行计算,并且可以在需要时将数据溢出到磁盘。
它特别适用于迭代算法,因为前一次迭代的数据可以保留在内存中。与普通的Hadoop相比,它提供了一个非常不同(并且更简洁)的编程接口。它可以提供一些performance advantages,即使工作主要是在磁盘而不是内存中完成。它支持streaming以及批处理作业。与Hadoop不同,它可以以交互方式使用。
与Hadoop相比,Spark相对容易安装和使用,因此我建议您尝试更好地理解它 - 对于实验,它可以运行正常的文件系统,并且不需要安装HDFS。请参阅documentation。