【发布时间】:2015-05-28 13:26:50
【问题描述】:
这是一个新手问题。
是否可以将像(key,1,2,3,4,5,5,666,789,...) 这样具有动态维度的RDD 转换为像(key, (1,2,3,4,5,5,666,789,...)) 这样的pairRDD?
我觉得它应该超级简单,但我不知道怎么做。
这样做的目的是我想对所有值求和,而不是键。
感谢任何帮助。
我使用的是 Spark 1.2.0
编辑受到答案的启发,我更深入地解释了我的用例。我有 N 个(在编译时未知)不同的 pairRDD(键,值),它们必须被连接并且它们的值必须相加。有没有比我想的更好的方法?
【问题讨论】:
-
是 scala 元组类型的元素吗?
-
目前它们只是整数,我正在考虑将它们收集在一个元组中,是的,除非你有更好的想法。我愿意讨论
-
我想我不明白。你想用一个元素获得 rdd,包含你的 rdd 的一对第一个元素作为键,其余作为值吗?
-
我想获得一个pairRDD,其中第一个元素是起始RDD的第一个元素,第二个元素是原始RDD中除第一个元素之外的所有内容的元组。现在清楚了吗?
-
是的,但这不可行。如果这样做,您将在一个节点上收集除一个之外的所有 rdd 元素。而且它可能会因为缺乏记忆而崩溃(如果你的 rdd 很大)。
标签: scala apache-spark