groupByKey给了我RDD [key,value]我找不到任何方法将它转换为Map [key,RDD [values]]。 感谢。
SV
答案 0 :(得分:1)
AFAIK那里没有Spark原语允许你按照那样的键分割RDD。我们正在使用过滤来实现类似的结果。并且在性能方面它必须比实际groupByKey
轻得多,因为过滤器不需要随机播放。
val keys = rdd.keys.collect
val dataByKey = keys.map(key => (key, rdd.filter(_._1 == key)).toMap
请注意,键必须放在驱动程序的内存中才能使其正常工作。