gpt4 book ai didi

apache-spark - 令人震惊的 : RDD. zip() 方法

转载 作者:行者123 更新时间:2023-12-03 07:27:19 26 4
gpt4 key购买 nike

我只是discovered RDD.zip()方法,我无法想象它的contract是什么 可能是。

当然,我明白它的作用。不过,我一直认为

  • RDD 中的元素顺序是一个毫无意义的概念
  • 分区的数量及其大小是一个实现细节,仅供用户用于性能调整

换句话说,RDD 是一个(多)集合,而不是序列(当然,在 Python 中,人们会得到 AttributeError : 'set' 对象没有属性 'zip')

我上面的理解有什么问题吗?

这种方法背后的基本原理是什么?

在像a.map(f).zip(a)这样的琐碎上下文之外它合法吗?

编辑1:

编辑 2:reply说:

when you compute one RDD from another the order of elements in the new RDD may not correspond to that in the old one.

这似乎意味着即使是微不足道的 a.map(f).zip(a)保证等同于a.map(x => (f(x),x))。当 zip() 结果可重现时是什么情况?

最佳答案

RDD 总是无序的这一说法并不正确。例如,如果 RDD 是 sortBy 操作的结果,则它具有有保证的顺序。 RDD 不是一个集合;它可以包含重复项。分区对于调用者来说并不是不透明的,并且可以控制和查询。许多操作确实会保留分区和顺序,例如map。也就是说,我发现很容易意外违反 zip 所依赖的假设,因为它们有点微妙,但它肯定有一个目的。

关于apache-spark - 令人震惊的 : RDD. zip() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29268210/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com