Spark01——Spark概述

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/

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值