【问题标题】:Apache Spark Scala : groupbykey maintains order of values in input RDD or notApache Spark Scala:groupbykey 是否维护输入 RDD 中的值顺序
【发布时间】:2016-09-02 14:58:30
【问题描述】:

可能是我为此提出了非常基本的问题道歉,但我没有在互联网上找到它的答案。 groupBykey 是否维护值的顺序。在输入 RDD 中最先出现的值应该在输出 RDD 中最先出现。我试过这个,它正在为这个订单做主线,但我想从专家那里确认一下。我需要类似下面的东西

Input RDD [Int, Int]
 1 20
 2 10
 1 8
 1 25

Output RDD
 1 20 8 25
 2 10

【问题讨论】:

    标签: scala apache-spark rdd


    【解决方案1】:

    没有。

    将 RDD 中每个键的值分组到一个序列中。使用现有的分区器/并行级别对生成的 RDD 进行哈希分区。不能保证每个组中元素的顺序,甚至在每次评估生成的 RDD 时都可能不同。

    https://spark.apache.org/docs/latest/api/scala/index.html#org.apache.spark.rdd.PairRDDFunctions@groupByKey():org.apache.spark.rdd.RDD[(K,Iterable[V])]

    【讨论】:

    • 你能建议可以做些什么来完成这个结果吗?
    • 那是另一个问题,做一个新的。你考虑过排序吗?也许用 zipWithIndex。
    猜你喜欢
    • 2011-09-18
    • 2017-12-05
    • 1970-01-01
    • 2019-05-19
    • 2016-02-27
    • 1970-01-01
    • 1970-01-01
    • 2021-11-15
    相关资源
    最近更新 更多