什么是Hadoop生态系统以及Apache Spark如何适应?

时间:2014-12-01 23:10:23

标签: hadoop

我很难掌握究竟是什么样的Hadoop生态系统'在概念上。我知道你有一些你想要运行的数据处理任务,因此你使用MapReduce将工作分成更小的部分,但我不确定当他们说“Hadoop Ecosystem”时,人们的意思是什么。 。我还不清楚Apache Spark的优点是什么以及为什么这被认为是如此具有革命性?如果它全部是内存计算,那么这是否意味着你需要更高的RAM机器才能运行Spark工作? Spark与编写一些并行化的Python代码或其他类似的东西有什么不同。

1 个答案:

答案 0 :(得分:0)

您的问题相当广泛 - Hadoop生态系统是一系列广泛的技术,可以支持Hadoop MapReduce,使其更易于应用,或以其他方式与其进行交互以完成工作。

示例:

  • Hadoop分布式文件系统(HDFS)以可扩展的冗余分布式方式存储要由MapReduce作业处理的数据。
  • Apache Pig提供了一种语言Pig Latin,用于表示编译成MapReduce作业的数据流
  • Apache Hive提供了一种类似SQL的语言,用于查询存储在HDFS中的大型数据集

还有很多很多其他人 - 请参阅https://hadoopecosystemtable.github.io/

Spark 全部在内存中;如果有足够的RAM,它可以在内存中执行计算,并且可以在需要时将数据溢出到磁盘。

它特别适用于迭代算法,因为前一次迭代的数据可以保留在内存中。与普通的Hadoop相比,它提供了一个非常不同(并且更简洁)的编程接口。它可以提供一些performance advantages,即使工作主要是在磁盘而不是内存中完成。它支持streaming以及批处理作业。与Hadoop不同,它可以以交互方式使用。

与Hadoop相比,Spark相对容易安装和使用,因此我建议您尝试更好地理解它 - 对于实验,它可以运行正常的文件系统,并且不需要安装HDFS。请参阅documentation