spark聚合方法中的并发性



我是Spark和Map Reduce的初学者,由于我了解Spark聚合(ByKey)方法遵循Map Reduce模式,我希望有人帮我确认它是否正确。

  1. 第一个函数参数"segFunc"获取每个键的数据并且对于每个键并行运行。它就像地图中的map()减少
  2. 第二个函数参数"combFun"收集数据对于每个键,即使在分区之间,它也不是并行运行的系统保证了联合收割机的同步功能。它就像map reduce中的combiner()

请纠正我,非常感谢。

它遵循map/reduce模式,但您弄错了map/reduze模式。

第一阶段将并行运行,并为每个密钥创建一个记录(这些记录将保存在内存中或溢出到磁盘,具体取决于Spark中的可用资源与Hadoop中保存到磁盘的资源)

然后,下一个阶段也将(或者至少可以)按每个键并行运行。先前创建的数据将被提取并合并,因此每个密钥的数据将到达单个目的地(减少器)

提取阶段称为搅乱

Hadoop中的组合器正在执行类似reduce的行为,并在映射阶段

发出部分结果(指向reducer)

相关内容

  • 没有找到相关文章

最新更新