• Spark中关于粗粒度细粒度


    一、粗粒度

    1.工作原理:

    (1)Spark Streaming接收到实时数据流(data stream)

    (2)Spark Streaming把数据按照指定的时间段切成一片片小的数据块(小批次)

    (3)然后Spark Streaming把小的数据块传给Spark Engine处理

    (4)Spark Engine处理后,输出处理后的数据(processed result)

           每个应用程序的运行环境由一个Driver和若干个Executor组成,其中,每个Executor占用若干个资源,内部可运行多个Task,应用程序的各个任务正式运行之前,需要将运行环境中的资源全部申请好,且运行过程中要一直占用这些资源(即使不用),最后程序运行结束之后,回收这些资源

           Spark是一个典型粗粒度资源调度。

    二、细粒度

    1.工作原理:

    (1)driver:启动spark应用程序,构建StreamingContext

    (2)executor:启动receiver接收器,接收数据

    (3)executor:接收input Stream,然后拆分不同block(小块)

    (4)executor:receiver将block存储信息发送给StreamingContext

    (5)driver:启动job,然后将task提交到对应executor上执行

            与粗粒度模式一样,应用程序启动时,辉县启动executor,但每个executor占用的资源仅仅是自己运行所需的资源,不需要考虑将来要运行的任务,之后,cluster manager会为每个task根据自身需要动态分配资源。单个task运行完后就马上释放对应的资源。每个Task完全独立,优点是便于资源控制和隔离,但缺点也很明显,作业运行延迟大(重新分配task的资源是比较耗时的)

          MapReduce是一个典型细粒度资源调度。

  • 相关阅读:
    我的Ajax之旅(一):不能加载'AjaxControlToolkit'。。。拒绝访问
    网络编程(一):用C#下载网络文件的2种方法
    Locks
    Threads
    C语言中函数名和struct名可以重名!
    使用#include <pthread.h>
    APUE Chapter 7 (2)main函数的参数
    Creating a shared and static library with the gnu compiler [gcc][转]
    Signals
    APUE Chapter 7(3) – Memory layout of a C program
  • 原文地址:https://www.cnblogs.com/yangfanfan/p/11385400.html
Copyright © 2020-2023  润新知