Spark的特点
Spark计算框架在处理数据时,所有的中间数据都保存在内存中。正是由于Spark充分利用内存对数据进行计算,从而减少磁盘读写操作,增大了框架计算效率。同时Spark还兼容HDFS、Hive,可以很好地与Hadoop系统融合,从而弥补MapReduce高延迟的性能缺点。所以说,Spark是一个更加快速、高效的大数据计算平台。
Spark具有以下几个显著的特点:
1. 速度快
根据官方数据统计得出,与Hadoop相比,Spark基于内存的运算效率要快100倍以上,基于硬盘的运算效率也要快10倍以上。Spark实现了高效的DAG执行引擎,能够通过内存计算高效地处理数据流。
2. 易用性
Spark编程支持Java、Python、Scala或R语言,并且还拥有超过80种的高级算法,除此之前,Spark还支持交互式的Shell操作,开发人员可以方便的在Shell客户端中使用Spark集群解决问题。
3. 通用性
Spark提供了统一的解决方案,适用于批处理、交互式查询(Spark SQL)、实时流处理(Spark Streaming)、机器学习(Spark MLlib)和图计算(GraphX),它们可以在同一个应用程序中无缝的结合使用,大大减少大数据开发和维护的人力成本和部署平台的物力成本。
4. 兼容性
Spark可以运行在Hadoop模式、Mesos模式、Standalone独立模式或Cloud中,并且还可以访问各种数据源,包括本地文件系统、HDFS、Cassandra、HBase和Hive等。