Spark的概念、特点、应用场景

                                               初识Spark

一.Spark概述

Spark于2000年诞生于美国加州大学伯克利分校的AMP实验室,它是一个可应用于大规模数据处理的统一分析引擎。

它是基于内存计算的大数据并行计算框架

Spark生态系统主要包含Spark Core. Spark SQL. Spark Streaming MI lib GraphX以及独立调度器:

介绍:

  1. Spark Core:Spark核心组件,它实现了Spark的基本功能。
  2. Spark SQL:用来操作结构化数据的核心组件:通过Spork sqL可以直接在查询Hive.HBase 等多种外部数据源中的数据。Spark SQL的重要特点是能够统一处理关系表和RDD.在处理结构化数据时,开发人员无须编写MapReduce程序.直接使用SQL命令就能完成更加复杂的数据查询操作。
  3. Spurtk Streamng: Spark提供的流式计算框架,支持高吞吐量、可容错处理的实时流式数据处理。SparkStreaming支持多种数据源,如Kafka、Flume以及TCP套接字等
  4. MLlib: Spark提供的关于机器学习功能的算法程序库,包括分类、回归、聚类、协同过滤算法等.
  5. GraphX、Spark提供的分布式图处理框架.拥有图计算和图挖掘算法的API接口以及丰高的功能和运算符。
  6. 独立调度器、Yarn、Mesos: .Spark支持在各种集群管理器(Cluster Manager)上运行,Hadoop Yarn、 Apache Mesos以及Spark 自带的独立调度器都被称为集群管理器。

Spork生态系统各个组件关系密切,并且可以相互调用,这样设计具存以下是著优势:

  1. Spark生态系统包含的所有程序库和高级组件都可以从Spark核心引擎的改进中获益
  2. 不需要运行多套独立的软件系统,能够大大减少运行整个系统的资源代价。
  3. 能够无缝整合各个系统,构建不同处理模型的应用。

Spark框架对大数据的支持从内存计算、实时处理到交互式查询,进而发展 到图计算和机器学习模块。

二.Spark的特点

Spark计算框架在处理数据时,所有的中间数据都保存在内存中。

同时Spark还兼容HDFS.Hive,可以很好地与Hadop系统融合.

Spark具有以下几个显著的特点:

  1. 速度快基于内泛计算

与Hadoop相比.Spark基于内存的运算效事要快100倍以上,基于硬盘的运算效率也要快10倍以上。

  1. 易用性

Spark编程支持Java、Python、Scala及R语言,并且还拥有超过80种高级算法.除此之外:Spark还支持交互式的Shell操作.

  1. 通用性

Spark提供了统一的解决方案,适用于批处理、交互式查询(Spark SQL)、 实时流处理 (Spark Streaming)、机器学习(Spark MEhb和图计算(GraphX)。

  1. 兼容性

Spark可以运行在Hadoop模式、Mesos模式、Standalone独立模式或Cloud中,并且还可以访问各种数据源包括本地文件系统、HDFS.Cassandra、HBase和Hive等。

三.Spark 应用场景

(1)在数据科学应用中 ,数据工程师可以利用Spark进行数据分析与建模

(2)在数据处理应用中,大数据工程师将Spark技术应用于广告、报表、推荐系统等业务中

(3)Spark拥有完整而强大的技术栈,如今已吸引了国内外各大公司的研发与使用,淘宝技术团队使用Spark来解决多次迭代的机器学习算法、高计算复杂度的算法等问题,应用于商品推荐、社区发现等功能。

四.Spark于Hadoop对比

Hadoop与Spark都是大数据计算框架,但是两者各有自己的优势,Spark与Hadop的区别主要有以下几点:

  1. 编程方式

Hadoop的MapReduce在计算数据时计算过程必须要转化为Map和Reduce两个过程,从而难以描述复杂的数据处理过程:而Spark的计算模型不局限于Map和Reduce操作,还提供了多种数据集的操作类型,编程模型比MapReduce更加灵活。

  1. 数据存储

Hadoop 的MapReduce进行计算时.每次产生的中间结果都是存储在本地磁盘中:而Spark在计算时产生的中间结果存储在内存中。

  1. 数据处理

Hadoop在每次执行数据处理时,都需要从磁盘中加载数据,导致磁盘的1/0开销较大;而Spark在执行数据处理时,只需要将数据加载到内存中,之后直接在内存中加载中间结果数据集即可,减少了磁盘的I/O开销。

  1. 数据容错

MapReduce计算的中间结果数据保存在磁盘中,并且Hadoop框架底层实现了备份机 制,从而保证了数据容错:同样Spark RDD实现了基于Lineage的容错机制和设置检查点的容错机制,弥补了数据在内存处理时断电丢失的问题。

Spark的概念、特点、应用场景_第1张图片

你可能感兴趣的:(Scala,IDEA,hadoop,大数据,spark,scala,idea)