zoukankan      html  css  js  c++  java
  • 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是一个典型细粒度资源调度。

  • 相关阅读:
    2013第2周四晴
    2012第53周&2013第1周日
    2013周六雪转阴
    2013年第二周日生活整理
    php技术–php中感叹号!和双感叹号!!的用法(三元运算)
    laravel拓展validator验证
    laravel 5 自定义全局函数,怎么弄呢?
    Laravel 清空配置缓存
    网上很多laravel中cookie的使用方法。
    艾伟也谈项目管理,给敏捷团队中的架构师的10个建议 狼人:
  • 原文地址:https://www.cnblogs.com/yangfanfan/p/11385400.html
Copyright © 2011-2022 走看看