我想将org.apache.spark.rdd.RDD [(Any,scala.collection.immutable.Iterable [String])]展平为Scala中的String

时间:2018-10-23 00:23:28

标签: scala apache-spark

示例

(168,20874,List(,33895,2711))

至168,20874 | ,33895,2711

基本上将RDD [(Any,scala.collection.immutable.Iterable [String])]转换为String。

谢谢

1 个答案:

答案 0 :(得分:0)

可以使用带有预定义格式器的方法“ map”:

val rdd = sparkContext.parallelize(List((168, 20874, List(33895, 2711))))
val result = rdd.map { case (a, b, c) => s"$a,$b| ,${c.mkString(",")}" }
result.foreach(println)

输出:

168,20874| ,33895,2711