Spark:一个高效的分布式计算系统
这篇讲的是Spark这个基于内存的分布式计算框架,作者从Spark与Hadoop的对比出发,深入介绍了其核心优势和关键特性。文章指出,Spark通过将中间结果保存在内存中,避免了Hadoop MapReduce频繁读写HDFS的瓶颈,从而在迭代运算密集的数据挖掘与机器学习任务中效率显著提升。 其核心创新在于RDD(弹性分布式数据集)的抽象,它使得开发者能以操作本地集合的方式来处理分布式数据,支持丰富多样的转换和行动操作,编程模型比Hadoop的Map和Reduce更加灵活。文章还剖析了RDD的存储、分区、容错机制(通过血缘信息和检查点)及其11种存储级别,这些共同构成了Spark高效、可靠的基础。 此外,文章梳理了Spark的生态系统,包括兼容Hive的Shark、用于流处理的Spark Streaming以及图计算框架Bagel,并列举了其多种运行模式与在业界的早期应用。总体而言,Spark并非Hadoop的替代品,而是一个更通用、更适合迭代计算的补充,它直接读写HDFS并支持在YARN上运行,为处理海量数据提供了新的高效选择。