Spark学习之路(一)——Spark初识

1、Spark是一个实现快速通用的集群计算平台,是基于内存计算的大数据并行计算框架,可用于构建大型的、低延迟的数据分析应用程序。
2、Spark是一个计算框架,替代Hadoop中MapReduce的原因是:MapReduce计算框架的中间结果会输出到磁盘上,进行存储和容错。Spark最大的特点是将计算数据、中间结果都存储在内存中,大大减少了读写磁盘的IO开销。因而Spark更适合于迭代运算比较多的数据挖掘与机器学习运算。
3、Spark的四大特性:①高效性:Spark使用DAG(有向无环图)执行引擎,以支持循环数据流与内存计算,实现批量和流式数据的高性能;②易用性:Spark支持Scala、Java、Python和R语言进行编程;③通用性:Spark提供了完整而强大的技术栈,包括批处理(Spark)、交互式查询(SparkSQL)、实时流处理(SparkStreaming)、机器学习(SparkMLlib)和图计算(GraphX);④兼容性:Spark可以使用Hadoop的YARN和Apache Mesos作为它的资源管理和调度器。Spark也可不依赖于第三方资源管理和调度器,将Standalone作为其内置的资源管理和调度框架。
4、Spark的组成

  • SparkCore:SparkCore实现了Spark的基本功能,包括内存计算、任务调度、部署模式、故障恢复、存储管理等,主要面向批数据处理。
  • SparkSQL:SparkSQL是Spark用来操作结构化数据的程序包,可通过SQL语言来查询数据。
  • SparkStreaming:SparkStreaming是Spark提供的对实时数据进行流式计算的组件。它支持高吞吐量、可容错处理的实时流数据处理,其核心思想是将流数据分解成一系列短小的批处理作业。
  • MLlib:MLlib提供了常用的机器学习算法的实现。
  • GraphX:GraphX是Spark中用于图计算的分布式图计算框架,能高效的进行图计算。

你可能感兴趣的:(大数据)