如何在将take(5)
调用到另一个RDD后将返回的集合转换为另一个RDD,以便我可以将输出文件中的前5个记录保存起来?Spark:scala - 如何将RDD的集合转换为另一个RDD
如果我使用saveAsTextfile
它不让我使用take
和saveAsTextFile
在一起(这就是为什么你看到该行在下面注释)。它以排序顺序存储RDD中的所有记录,因此前5个记录是前5个国家,但我只想存储前5个记录 - 是否可以在RDD中转换集合[take(5)]?
val Strips = txtFileLines.map(_.split(","))
.map(line => (line(0) + "," + (line(7).toInt + line(8).toInt)))
.sortBy(x => x.split(",")(1).trim().toInt, ascending=false)
.take(5)
//.saveAsTextFile("output\\country\\byStripsBar")
解决方案: sc.parallelize(Strips, 1).saveAsTextFile("output\\country\\byStripsBar")