zoukankan      html  css  js  c++  java
  • spark基本概念

    Client:客户端进程,负责提交作业到Master。

    Application:Spark Application的概念和Hadoop MapReduce中的类似,指的是用户编写的Spark应用程序,包含了一个Driver 功能的代码和分布在集群中多个节点上运行的Executor代码;

    Cluster Manager:指的是在集群上获取资源的外部服务,目前有:Standalone:Spark原生的资源管理,由Master负责资源的分配;Hadoop Yarn:由YARN中的ResourceManager负责资源的分配;mesos;

    Master:Standalone模式中主控节点,负责接收Client提交的作业,管理Worker,并命令Worker启动Driver和Executor;

    Worker:集群中任何可以运行Application代码的节点,类似于YARN中的NodeManager节点。在Standalone模式中指的就是通过Slave文件配置的Worker节点,在Spark on Yarn模式中指的就是NodeManager节点,负责管理本节点的资源,定期向 Master汇报心跳,接收Master的命令,启动Driver和Executor;

    Driver: 一个Spark作业运行时包括一个Driver进程,也是作业的主进程,负责作业的解析、生成Stage并调度Task到Executor上。包括DAGScheduler,TaskScheduler。

    Executor:即真正执行作业的地方,一个集群一般包含多个Executor,每个Executor接收Driver的命令Launch Task,一个Executor可以执行一到多个Task。

    作业(Job):包含多个Task组成的并行计算,往往由Spark Action催生,一个JOB包含多个RDD及作用于相应RDD上的各种Operation;

    Stage:一个Spark作业一般包含一到多个Stage。

    Task:一个Stage包含一到多个Task,通过多个Task实现并行运行的功能。

    DAGScheduler: 实现将Spark作业分解成一到多个Stage,每个Stage根据RDD的Partition个数决定Task的个数,然后生成相应的Task set放到TaskScheduler中。

    TaskScheduler:实现Task分配到Executor上执行。

    SparkContext:整个应用的上下文,控制应用的生命周期。

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

    SparkEnv:线程级别的上下文,存储运行时的重要组件的引用。

    SparkEnv内创建并包含如下一些重要组件的引用。

    MapOutPutTracker:负责Shuffle元信息的存储。

    BroadcastManager:负责广播变量的控制与元信息的存储。

    BlockManager:负责存储管理、创建和查找块。

    MetricsSystem:监控运行时性能指标信息。

    SparkConf:负责存储配置信息。

  • 相关阅读:
    checkedListBox的具体用法
    pi
    从1.9G到64K
    世界编程大赛第一名程序
    SQLServer中导入/导出Excel的基本方法
    Android 内存优化测试
    android,内存优化详解
    Android解决大图片内存溢出
    Android有效解决加载大图片时内存溢出的问题
    android端读取本地图片出现OutOfMemoryException
  • 原文地址:https://www.cnblogs.com/qiumingcheng/p/5240029.html
Copyright © 2011-2022 走看看