Spark是基于内存的快速,通农用,可拓展的大数据分析计算引擎,Hadoop是一个分布式系统基础架构
Spark和Hadoop之间的对比和联系
架构与组件:
Hadoop:
■ HDFS:分布式文件系统,负责海量数据存储。
■ MapReduce:批处理框架,通过分治思想处理数据(Map阶段分散任务,Reduce阶段聚合结果)。
◦ Spark:
■ 核心引擎:基于内存的分布式计算框架,支持多种计算模式
2.数据处理模型:
◦ Hadoop MapReduce:
■ 磁盘读写:中间结果频繁写入磁盘,适合离线批处理,但延迟高。
■ 容错机制:通过数据冗余(HDFS)和任务重试实现容错。
◦ Spark:
■ 内存计算:中间数据优先缓存到内存,减少磁盘IO,迭代计算速度提升10-100倍。
■ RDD容错:通过RDD的血缘关系(Lineage)重建丢失数据,避免冗余存储。
性能差异:
◦ 迭代计算:Spark在机器学习、图计算等需要多次迭代的场景中显著优于MapReduce。
◦ 实时性:Spark Streaming支持微批次(准实时)处理,而MapReduce仅适合离线任务。
资源管理:
◦ Hadoop依赖YARN进行资源调度,Spark可独立运行或集成YARN/Mesos/K8s。