将RDD元组的第二个元素转换为数组

时间:2015-03-10 21:48:38

标签: scala apache-spark

我有以下RDD:

res38: org.apache.spark.rdd.RDD[(String, Iterable[String])] = ShuffledRDD[5] at groupBy at <console>:14

现在我想得到该元组的第二个元素并将它们放在一个数组中:

所以我尝试了以下内容:

scala> val items = data.map(x => x._2.toArray)
items: org.apache.spark.rdd.RDD[Array[String]] = MappedRDD[17] at map at <console>:16

然后打印项目: items.take(4).foreach(printl n)的

但我得到的是:

[Ljava.lang.String;@223c67dc
[Ljava.lang.String;@2bc6ae13
[Ljava.lang.String;@ce77d9
[Ljava.lang.String;@731e47f8

我在期待弦乐。我做错了什么?

1 个答案:

答案 0 :(得分:1)

尝试在打印前将数组​​转换为String。类似的东西:

items.take(4).foreach(x => println(x.mkString(" ")))