将 RDD 元组的第二个元素转换为数组
convert second element of RDD tuple to array
我有以下 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
我期待字符串。我做错了什么?
尝试将数组转换为 String
,然后再打印它们。类似于:
items.take(4).foreach(x => println(x.mkString(" ")))
我有以下 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
我期待字符串。我做错了什么?
尝试将数组转换为 String
,然后再打印它们。类似于:
items.take(4).foreach(x => println(x.mkString(" ")))