当前位置:   article > 正文

Spark01——Spark概述_spark 01

spark 01

1、Spark是什么?

Apache Spark™ is a unified analytics engine for large-scale data processing.
—— http://spark.apache.org/
Spark是用于大规模数据处理的统一分析引擎。
Spark是基于内存计算的大数据并行计算框架。

2、Spark发展历史

2009年诞生于加州大学伯克利分校AMPLab,
2010年开源,
2013年6月成为Apache孵化项目,
2014年2月成为Apache顶级项目。
目前,Spark生态系统已经发展成为一个包含多个子项目的集合,其中包含SparkSQL、Spark Streaming、GraphX、MLlib等子项目。

3、为什么要使用Spark?

Spark是一个开源的类似于Hadoop MapReduce的通用的并行计算框架。
它基于MapReduce算法实现的分布式计算,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Spark中的Job中间输出和结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的map reduce的算法。
Spark是MapReduce的替代方案,兼容HDFS、Hive,并且可融入Hadoop的生态系统,能够弥补MapReduce的不足。

4、Spark的特点

速度快

与Hadoop的MapReduce相比,Spark基于内存的运算要快100倍以上,基于硬盘的运算也要快10倍以上。
Spark实现了高效的DAG执行引擎,可以通过基于内存来高效处理数据流。
在这里插入图片描述
spark比MapReduce快的两个主要原因:
–spark的job输出结果可以保存在内存中,MapReduce的job输出结果只能保存在磁盘中。spark可以在内存中获取前面job的数据,MapReduce只能够通过大量的磁盘io进行操作。
–MapReduce是以进程方式运行在集群中;比如有100个maptask,就需要启动100个进程。
spark是以线程的方式运行在进程中。100个maptask可以在一个进程中启动100个线程。

使用方便

Spark支持Java、Python和Scala的API,还支持超过80种高级算法,使用户可以快速构建不同的应用。而且Spark支持交互式的Python和Scala的shell,可以非常方便地在这些shell中使用Spark集群来验证解决问题的方法。

通用性

Spark提供了统一的解决方案。
Spark可以用于批处理、交互式查询(Spark SQL)、实时流处理(Spark Streaming)、机器学习(Spark MLlib)和图计算(GraphX)。这些不同类型的处理都可以在同一个应用中无缝使用。
在这里插入图片描述

兼容性

Runs Everywhere。
Spark可以非常方便地与其他的开源产品进行融合。
例如,Spark可以使用Hadoop的YARN和Apache Mesos作为它的资源管理和调度器,并且可以处理所有Hadoop支持的数据。
可以访问HDFS, Alluxio, Apache Cassandra, Apache HBase, Apache Hive和数百个其他数据源中的数据。
spark程序就是一个计算任务的程序,哪里可以给当前这个任务提供计算资源,就可以把这个程序提交到哪里去运行.

参考Spark官网: http://spark.apache.org/

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/593263
推荐阅读
相关标签
  

闽ICP备14008679号