精品文档---下载后可任意编辑在大数据领域,只有深挖数据科学领域,走在学术前沿,才能在底层算法和模型方面走在前面,从而占据领先地位
Spark 的这种学术基因,使得它从一开始就在大数据领域建立了一定优势
无论是性能,还是方案的统一性,对比传统的 Hadoop,优势都非常明显
Spark 提供的基于 RDD 的一体化解决方案,将MapReduce、Streaming、SQL、Machine Learning、Graph Processing 等模型统一到一个平台下,并以一致的 API 公开,并提供相同的部署方案,使得 Spark 的工程应用领域变得更加广泛
本文主要分以下章节:一、Spark 专业术语定义二、Spark 运行基本流程三、Spark 运行架构特点四、Spark 核心原理透视一、Spark 专业术语定义1、Application:Spark 应用程序指的是用户编写的 Spark 应用程序,包含了 Driver 功能代码和分布在集群中多个节点上运行的 Executor 代码
Spark 应用程序,由一个或多个作业 JOB 组成,如下图所示:2、Driver:驱动程序Spark 中的 Driver 即运行上述 Application 的 Main()函数并且创建 SparkContext,其中创建SparkContext 的目的是为了准备 Spark 应用程序的运行环境
在 Spark 中由 SparkContext 负责和ClusterManager 通信,进行资源的申请、任务的分配和监控等;当 Executor 部分运行完毕后,Driver 负责将 SparkContext 关闭
通常 SparkContext 代表 Driver,如下图所示:3、Cluster Manager:资源管理器指的是在集群上猎取资源的外部服务,常用的有:Standalone,Spark