zoukankan      html  css  js  c++  java
  • Spark任务调度

      不多说,直接上干货!

    Spark任务调度

              

    DAGScheduler

      构建Stage—碰到shuffle就split

      记录哪个RDD 或者Stage 输出被物化

      重新提交shuffle 输出丢失的stage

      将Taskset 传给底层调度器

      本地性策略--- preferredLocations(p)

    1.spark-cluster TaskScheduler
    2.yarn-cluster YarnClusterScheduler
    3.yarn-client YarnClientClusterScheduler

    TaskScheduler

      为每一个TaskSet 构建一个TaskSetManager 实例管理这个TaskSet 的生命周期

      数据本地性决定每个Task 最佳位置(process-local, node-local, rack-local and then and any

      提交taskset( 一组task) 到集群运行并监控

      推测执行,碰到straggle 任务放到别的节点上重试

      出现shuffle 输出lost 要报告fetch failed 错误

    ScheduleBacked

      实现与底层资源调度系统的交互(YARN,mesos等)

      配合TaskScheduler实现具体任务执行所需的资源分配(核心接口receiveOffers)

      详细过程

    实例分析

    val lines = ssc.textFile(args(1)) // 输入
    val words = lines.flatMap(x =>x.split(" "))
    words.cache() // 缓存
    val wordCounts = words.map(x =>(x, 1) )
    val red = wordCounts.reduceByKey( (a,b)=>{a + b} , 8)
    red.saveAsTextFile(“/root/Desktop/out” , 8) // 行动

  • 相关阅读:
    cvLoadImage cvCreateImage函数使用方法
    CString 的FindOneOf
    FTP与SFTP的区别
    如何在Linux环境下编译lib 库
    CString 和 string之间的转换
    Cstring getlength
    CString类常用方法----Left(),Mid(),Right()……
    LPCTSTR
    明白fopen的参数r+,w+以及a+
    libsvm -c http://www.ilovematlab.cn/thread-89155-1-1.html
  • 原文地址:https://www.cnblogs.com/zlslch/p/6941387.html
Copyright © 2011-2022 走看看