gpt4 book ai didi

sorting - Spark 按键排序,然后按分组以获得有序可迭代?

转载 作者:行者123 更新时间:2023-12-02 21:30:01 26 4
gpt4 key购买 nike

我有一对 RDD (K, V) key 包含 time和一个ID 。我想得到一个形式为 (K, Iterable<V>) 的 Pair RDD其中键按 id 分组,可迭代按时间排序。

我目前正在使用sortByKey().groupByKey()我的测试似乎证明它有效,但是我读到情况可能并不总是如此,正如本问题中讨论的不同答案( Does groupByKey in Spark preserve the original order? )。

正确与否?

谢谢!

最佳答案

The answer from Matei我认为在这个主题上具有权威性的人说得很清楚:

The order is not guaranteed actually, only which keys end up in each partition. Reducers may fetch data from map tasks in an arbitrary order, depending on which ones are available first. If you’d like a specific order, you should sort each partition. Here you might be getting it because each partition only ends up having one element, and collect() does return the partitions in order.

在这种情况下,更好的选择是将排序应用于每个键的结果集合:

rdd.groupByKey().mapValues(_.sorted)

关于sorting - Spark 按键排序,然后按分组以获得有序可迭代?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29792320/

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