spark和hadoop的区别
spark和hadoop的区别有:诞生的先后顺序不同、计算不同、平台不同、数据的存储和处理不同、处理速度不同、恢复性不同、处理的数据类型不同、中间结果不同。此外,hadoop是第一代开源大数据处理平台。
1、诞生的先后顺序不同
spark:spark属于第二代开源大数据处理平台。属于下一代的spark肯定在综合评价上要优于第一代的hadoop。
hadoop:hadoop属于第一代开源大数据处理平台。
2、计算不同
spark:spark的一个job中,可以将多个map-reduce过程级联进行。
hadoop:hadoop中的mapreduce运算框架,一个运算job,进行一次map-reduce的过程。
3、平台不同
spark:spark是一个运算平台。
hadoop:hadoop是一个复合平台(包含运算引擎,还包含分布式文件存储系统,还包含分布式运算的资源调度系统)。
4、数据的存储和处理不同
spark:Spark 是一个专门用来对那些分布式存储的大数据进行处理的工具,没有提供文件管理系统,自身不会进行数据的存储。它必须和其他的分布式文件系统进行集成才能运作。可以选择Hadoop的HDFS,也可以选择其他平台。
hadoop:Hadoop实质上更多是一个分布式系统基础架构: 它将巨大的数据集分派到一个由普通计算机组成的集群中的多个节点进行存储,同时还会索引和跟踪这些数据,大幅度提升大数据处理和分析效率。Hadoop 可以独立完成数据的存储和处理工作,因为其除了提供HDFS分布式数据存储功能,还提供MapReduce数据处理功能。
5、处理速度不同
spark:Spark,它会在内存中以接近“实时”的时间完成所有的数据分析。Spark的批处理速度比MapReduce快近10倍,内存中的数据分析速度则快近100倍。
hadoop:Hadoop是磁盘级计算,计算时需要在磁盘中读取数据;其采用的是MapReduce的逻辑,把数据进行切片计算用这种方式来处理大量的离线数据。
6、恢复性不同
spark:Spark的数据对象存储在弹性分布式数据集(RDD:)中。“这些数据对象既可放在内存,也可以放在磁盘,所以RDD也提供完整的灾难恢复功能。
hadoop:Hadoop将每次处理后的数据写入磁盘中,对应对系统错误具有天生优势。
7、处理的数据类型不同
spark:Spark通过在内存中缓存处理的数据,提高了处理流式数据和迭代式数据的性能。
hadoop:Hadoop适合处理静态数据,对于迭代式流式数据的处理能力差。
8、中间结果不同
spark:Spark中间结果存放优先存放在内存中,内存不够再存放在磁盘中,不放入HDFS,避免了大量的IO和刷写读取操作。
hadoop:Hadoop中中间结果存放在HDFS中,每次MR都需要刷写-调用。