Spark 软件栈架构概述

Spark是一个用于实现快速通用的集群计算的平台

在速度方面,Spark拓展了MapReduce计算框架,并且高效的支持更多计算模式,包括交互式查询和流处理。在处理大规模数据集时,Spark的一个核心优势是内存计算,因而速度更快。

Spark适用于各种各样的不同的分布式平台的场景,包括批处理、迭代计算、交互式查询、流处理,通过在一个统一的框架下支持这些计算,减轻了对各种平台分别管理调控的负担

Spark提供丰富的接口,包括Python Java Scala SQL的调用API以及内建的程序库,Spark可以运行在Hadoop集群上

Spark的核心是一个对由很多计算任务组成、运行在多个计算节点的应用调度、分发及监控的计算引擎,由于Spark引擎速度快,通用的特点,Spark还支持各种组件

Spark 软件栈架构概述_第1张图片

——Spark Core

Spark Core实现了Spark基本功能,包括任务调度、内存管理、错误恢复、存储系统的交互。其核心是RDD(resilient distributed dataset)弹性分布式数据集 RDD表示分布在多个计算节点可以并行操作的元素集合、是Spark编程的抽象

——Spark SQL

Spark SQL是Spark用于操作结构化数据的程序包,可以使用SQL 或Apache Hive 版本的HQL来查询数据,同时SQL可以与传统RDD编程结合,程序设计人员可以在应用中使用SQL来进行数据分析

——Spark Streaming

Spark提供的对实时数据的流式计算组件,如应用于生产环境网页服务器日志分析,消息队列分析,都是数据流

——集群管理器

Spark支持在各种集群管理器上运行,包括Hadoop YARN Apache Mesos 以及Spark自带的简易的调度管理器 

你可能感兴趣的:(分布式计算)