Spark:RDD作为元组,第二个元素作为列表到字符串

时间:2015-12-10 21:47:52

标签: scala apache-spark

我有一个RDD作为元组,其键为整数,值为整数列表:

myDataRdd: RDD[(Int, List[Int])]

数据包含userId,即用户购买的商品列表。

我想将其转换为字符串,以便:

userId, Product1, Product2,...

我做了以下事情:

val convertedRDD :RDD[String] = recs.map(x => x._1 + "," + x._2.mkString(","))

但是当我查看零件文件时,结构完全不同,即:

1901437510,
1471516971,
336924029,
2105754029,
1130205965,
654671035,
2096277932,
341111432,
1485082568,
1977671938,
149397938,
1655827062,

1 个答案:

答案 0 :(得分:2)

试试这个:

val convertedRDD = recs.map{case(int,list) => int.toString+", "+list.mkString(", ")}