Scala 展平RDD的元素

Scala 展平RDD的元素,scala,apache-spark,Scala,Apache Spark,我使用的是Spark scala API。 prods_grpd具有以下类型:String,mutable.HashSet[String] val prods_grpd=所有药物聚合BYKEYInitialSetAddToSet,合并分区集 prods_grpd.saveAsTextFilescratch/prods_grpdby_users.tsv 当我保存这个rdd时,我得到这个o/p。第一个值是key,然后我得到一组key 8635214,Set2013-01-01 3580112,Set

我使用的是Spark scala API。 prods_grpd具有以下类型:String,mutable.HashSet[String]

val prods_grpd=所有药物聚合BYKEYInitialSetAddToSet,合并分区集 prods_grpd.saveAsTextFilescratch/prods_grpdby_users.tsv

当我保存这个rdd时,我得到这个o/p。第一个值是key,然后我得到一组key

8635214,Set2013-01-01

3580112,Set2013-01-01

146086,Set2010-01-012012-01-01

112220,Set2013-01-01

2020年,Set2013-01-01

24218,Set2013-01-01

但是,我希望o/p如下所示:

86352142013-01-01

358011122013-01-01

1460862010-01-012012-01-01

1122202013-01-01

2020年,2013年1月1日

242182013-01-01

我想知道如何取消/展平RDD的第二个参数

不能简单地将Set转换为Tuple,因为Tuple不是集合,不支持任意数量的元素。相反,您可以将条目映射到具有所需格式的字符串:

prods_grpd.map{case (k, s) => {
  val sstr = s.mkString(",")
  s"($k,$sstr)"
}}.saveAsTextFile(...)