码迷,mamicode.com
首页 > 其他好文 > 详细

spark浅谈(3):

时间:2018-11-18 15:03:15      阅读:231      评论:0      收藏:0      [点我收藏+]

标签:key   位置   red   关联   操作   方便   机器   特定   而且   

 一、shuffle操作

  1.spark中特定的操作会触发我们都知道的shuffle事件,shuffle是spark进行数据重新分布的机制,这通常涉及跨执行程序和机器来赋值数据,使得混洗称为复杂而且昂贵的操作。

  2.为了理解shuffle过程中所发生的事情,我们先来关注reduceByKey操作的例子。reduceByKey操作过程生成一个新的RDD,将其单个键的所有值组合成一个元组中和对该键关联的所有值执行reduce函数的结果。挑战在于,并非所有键的所有值都位于同一个分区上,甚至是同一个机器上,但是他们必须位于同一位置上才能计算结果。

  3.spark中,数据通常不是跨分区分布的,以方便其在必要的位置来执行指定的操作,在计算过程中,一个单独的任务会执行在一个单独的分区上,因此为了组织reduceByKey执行单个reduce任务的所有数据,spark需要执行全部的操作,它必须从所有分区来读取所有键的所有值,然后将各个值组合在一起以计算每个键的最终结果,这个过程称之为shuffle。

  4.尽管

spark浅谈(3):

标签:key   位置   red   关联   操作   方便   机器   特定   而且   

原文地址:https://www.cnblogs.com/bigdata-stone/p/9977846.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!