400 028 6601

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

SparkCore的核心理论增强-创新互联

1. spark的核心概念

 (1)Application

   表示应用程序,包含一个 Driver Program 和若干 Executor。(编写的spark代码)

在同德等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站制作、成都做网站 网站设计制作按需设计网站,公司网站建设,企业网站建设,品牌网站设计,成都全网营销,外贸网站建设,同德网站建设费用合理。

 (2)Driver program

   Spark 中的 Driver 即运行上述 Application 的 main()函数并且创建 SparkContext,其中创建 SparkContext 的目的是为了准备 Spark 应用程序的运行环境。由 SparkContext 负责与 ClusterManager 通信,进行资源的申请,任务的分配和监控等。程序执 行完毕后关闭 SparkContext。

 (3)Cluster Manager

   在 Standalone 模式中即为 Master(主节点),控制整个集群,监控 Worker。 在 YARN 模式中为资源管理器(resourcemanager)。

 (4)Spark Context

   整个应用的上下文,控制应用程序的生命周期,负责调度各个运算资源, 协调各个 Worker 上的 Executor。初始化的时候,会初始化 DAGScheduler 和 TaskScheduler 两个核心组件。

 (5)RDD

   Spark 的基本计算单元,一组 RDD 可形成执行的有向无环图 RDD Graph。

 (6)DAGScheduler

   将application拆分成多个job,对于每一个job构建成一个DAG,将这个DAG划分成多个stage,最终把stage提交给TaskScheduler。

 (7)TaskScheduler

  将DAGScheduler提交过来的stage,拆分成多个task集合,然后将 TaskSet 提交给 Worker(集群)运行,每个 Executor 运行什么 Task 就 是在此处分配的。

 (8)Worker

  集群中可以运行 Application 代码的节点。在 Standalone 模式中指的是通过 slave 文件配置的 worker 节点,在 Spark on Yarn 模式中指的就是 NodeManager 节点。(即运行Executor的节点)

 (9)Executor

  某个 Application 运行在 Worker 节点上的一个进程,该进程负责运行某些 task, 并且负责将数据存在内存或者磁盘上。在 Spark on Yarn 模式下,其进程名称为 CoarseGrainedExecutorBackend,一个 CoarseGrainedExecutorBackend 进程有且仅有一个 executor 对象,它负责将 Task 包装成 taskRunner,并从线程池中抽取出一个空闲线程运行 Task, 这样,每个 CoarseGrainedExecutorBackend 能并行运行 Task 的数据就取决于分配给它的 CPU 的个数。

 (10)Stage

  每个 Job 会被拆分很多组 Task,每组作为一个 TaskSet,其名称为 Stage

 (11)Job

包含多个 Task 组成的并行计算,是由 Action 行为触发的,触发一次action,就是一个job

 (12)SparkEnv

  线程级别的上下文,存储运行时的重要组件的引用。SparkEnv 内创建并包含 如下一些重要组件的引用:
   MapOutPutTracker:负责 Shuffle 元信息的存储。
   BroadcastManager:负责广播变量的控制与元信息的存储。
   MapOutPutTracker:负责存储管理、创建和查找块.
   MetricsSystem:监控运行时性能指标信息。
   SparkConf:负责存储配置信息。

2. spark的任务运行流程

 (1)基本运行流程:

Spark Core 的核心理论增强
第一步(构建DAG):使用算子操作RDD进行各种transformation 操作,最后通过action算子触发spark的作业提交。提交后,spark会根据转化过程中所产生的RDD之间依赖关系构建DAG有向无环图。
第二步(DAG的切割):DAG 切割主要根据 RDD 的依赖是否为宽依赖来决定切割节点,当遇到宽依赖就将任务划分 为一个新的调度阶段(Stage)。每个 Stage 中包含一个或多个 Task。这些 Task 将形成任务集 (TaskSet),提交给底层调度器进行调度运行。
第三步(任务调度):每一个 Spark 任务调度器只为一个 SparkContext 实例服务。当任务调度器收到任务集后负责 把任务集以 Task 任务的形式分发至 Worker 节点的 Executor 进程中执行,如果某个任务失败, 任务调度器负责重新分配该任务的计算。
第四步(执行任务):当 Executor 收到发送过来的任务后,将以多线程(会在启动 executor 的时候就初始化好了 一个线程池)的方式执行任务的计算,每个线程负责一个任务,任务结束后会根据任务的类 型选择相应的返回方式将结果返回给任务调度器。(cluster manager)。

 (2)大体运行流程:

Spark Core 的核心理论增强

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文题目:SparkCore的核心理论增强-创新互联
转载注明:http://mbwzsj.com/article/ghhps.html

其他资讯

让你的专属顾问为你服务