【发布时间】:2016-06-29 14:50:33
【问题描述】:
我有如下字符串的 RDD
val rdd1: RDD[String] = RDD("a","b","c","d")
我想将上述 RDD 的元素连接起来,并将其转换为如下所示的单个元素的 RDD
RDD("a,b,c,d")
最好的方法是什么?
【问题讨论】:
-
你真的想要一个单一元素的
RDD吗?如果 distributed 集合只有一项,那么它的价值是什么?如果没有,而您只是对该单条记录感兴趣,可以致电rdd1.collect().mkString(",") -
我想使用 rdd saveAsTextFile 方法将结果存储在 HDFS 中。这就是为什么我想把它转换成另一个 RDD。
-
@raHul 那么就没有必要这样做了。如前所述,如果您只是将所有数据压缩到一个单值 RDD 中,那么使用分布式处理框架是没有意义的。
saveAsTextFile会为您处理好,并将您的结果分发到 HDFS。 -
在我的用例中,我想将结果作为单个记录存储在配置单元表中。
标签: scala hadoop apache-spark rdd