请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

distinct返回list的顺序问题

请问老师
a = sc.parallelize([1, 2, 3])
b = sc.parallelize([3, 4, 5])
a.union(b).collect()返回[1,2,3,3,4,5],而a.union(b).distinct().collect()返回一个[4, 1, 5, 2, 3]
b.union(a).collect()返回[3,4,5,1,2,3],而b.union(a).distinct().collect()返回一个[4, 5, 1, 2, 3]
返回值是python的list不是set,所以请问老师去重的顺序是什么?特别是第一个,[1,2,3,3,4,5]去重后返回了[4,1,5,2,3]这个东西,看了一眼distinct的代码,没什么头绪,请老师 解惑。

正在回答

2回答

Michael_PK 2019-02-27 09:16:51

返回值是rdd,无所谓顺序,需要顺序必然有使用rdd的排序算子来搞定

0 回复 有任何疑惑可以回复我~
  • 提问者 天真男 #1
    明白了 多谢老师
    回复 有任何疑惑可以回复我~ 2019-02-27 09:23:01
Michael_PK 2019-02-27 09:17:21

collect返回的是结果集的数组吧,我记得是

0 回复 有任何疑惑可以回复我~
  • 提问者 天真男 #1
    python就是list 没有内置array数据结构吧。
    回复 有任何疑惑可以回复我~ 2019-02-27 09:23:41
  • Michael_PK 回复 提问者 天真男 #2
    你直接源码点进去看看就知晓了。我现在不在电脑边
    回复 有任何疑惑可以回复我~ 2019-02-27 09:31:41
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号