repartitionAndSortWithinPartitions中的重分区发生在驱动程序或worker上



我试图理解Spark Streaming中repartitionAndSortWithinPartitions的概念,无论重分区是发生在驱动程序上还是在worker上。如果它发生在驱动程序上,那么worker是否在排序发生之前等待所有数据到来。

像任何其他转换一样,它是由执行者处理的。数据不通过驱动程序传递。换句话说,这是标准的洗牌机制,这里没有任何特定的流。

每条记录的目的地由:

  • 键。
  • Partitioner用于给定的洗牌。
  • 分区数。

和数据直接在执行节点之间传递。

从评论来看,你对Spark Streaming架构更感兴趣。如果是这样的话,你应该看看潜入Apache Spark Streaming的执行模型。给你一些概述,可以存在两种不同类型的流:

  • 基于接收端,每个流有一个接收节点。
  • 直接(没有接收器),其中只将元数据分配给执行器,但直接获取数据。

相关内容

  • 没有找到相关文章

最新更新