您当前的位置: 首页 >  ar

段智华

暂无认证

  • 3浏览

    0关注

    1232博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

第221讲:Spark Shuffle Pluggable框架ShuffleManager解析

段智华 发布时间:2017-04-30 21:35:45 ,浏览量:3

第221讲:Spark Shuffle Pluggable框架ShuffleManager解析

你要做shuffle,最核心的是ShuffleManager!

ShuffleManager:接口级别的,用于shuffle 洗牌系统的可插拔接口。基于spark.shuffle.manager的配置,在sparkenv创建shufflemanager,运行在driver和每一个executor上。driver进行shuffle注册,涉及shuffle id,maptask的数量等,executors(或运行在driver中的任务)可以读取和写入数据。 sparkenv实例化时候,其构造函数可以将sparkconf和isDriver 作为参数。

1,最最核心的是registerShuffle这个方法:注册一个ShuffleManager,并把句柄传递给executor的shufflemaptask去使用。

def registerShuffle[K, V, C](
      shuffleId: Int,
      numMaps: Int,
      dependency: ShuffleDependency[K, V, C]): ShuffleHandle
在spark 1.6.x中 包括 HashShuffleManager、SortShuffleManager;而在spark 2.0.x中已没有HashShuffleManager

val shortShuffleMgrNames = Map(
      "sort" -> classOf[org.apache.spar
关注
打赏
1659361485
查看更多评论
立即登录/注册

微信扫码登录

0.1030s