Spark
Spark
简介
Spark
是一个用来实现快速且通用的集群计算平台
Spark
组件示意图
Spark Core
Spark Core
是Spark
的核心计算引擎,提供了任务调度、内存管理、错误恢复、与存储系统交互等模块。其中的弹性分布式数据集(RDD)
,是计算时的主要编程抽象,基于RDD
对数据进行创建、操作与计算。
Spark SQL
Spark SQL
是用来操作结构化数据的程序包,支持多种数据源(Hive表、Parquet、JSON)
,可以基于Spark SQL
进行数据的查询,为数据计算提供数据入口。
Spark Streaming
Spark Streaming
是对实时数据进行流式计算的组件,比如处理服务器日志或者消费消息队列。
Mllib
Mllib
作为Spark
组件中机器学习的程序库,具有包括分类、回归、聚类、协同过滤等算法。
GraphX
GraphX
是用来操作图的程序库、可以并行进行图计算,并支持常用的图算法。
Spark
四种运行模式
1、本地单机模式:所有Spark
进程都运行在一个Java
虚拟机中
2、集群单机模式:使用Spark
自己内置的任务调度框架
3、基于Mesos
4、基于YRAN
Spark
用户与用途
- 用户:数据科学家与工程师
- 用途:数据科学应用与数据处理应用
Spark
简史
Spark
核心概念
-
Spark应用
是由一个驱动器程序(driver programmer)
和多个执行器(executor)节点
组成。在启动Spark应用
后,会通过创建一个上下文对象(SparkContext)
对Spark应用
进行操作,上下文对象代表对计算集群的一个连接。 -
示意图