为什么spark的shuffle要求RDD的数据类型是键值对?

理由
举报 取消

比如distinct()操作,为了shuffle还得先利用map将`<K>`变为`<K, null>`。这样设计是出于什么考虑……?抱歉没有描述清楚。我的意思是两种方式都提供,也就是对于非pair RDD来说直接对各条数据进行shuffle。因为我觉得比起把`<K>`转为`<K, null>`再进行shuffle,直接提供一个对于`<K>`的shuffle接口显得更“干净”一点…

2017年6月23日 2 条回复 1185 次浏览

发起人:Yeee 初入职场

想学画画的程序猿。

回复 ( 2 )

  1. 张云聪
    理由
    举报 取消

    因为带Key的接口可以很方便实现不带key(即整条数据为key)的接口。

    但如果只提供不带key的接口,较难实现带key的。

  2. 桂能
    理由
    举报 取消

    有key才能shuffle呀,键值对是通用模型,value可以是任意的,这个不是一个非常自然且通用的抽象么

我来回答

Captcha 点击图片更换验证码