【发布时间】:2016-06-13 02:03:04
【问题描述】:
如何将调用 take(5) 后返回的集合转换为另一个 RDD,以便将前 5 条记录保存在输出文件中?
如果我使用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")
【问题讨论】:
标签: scala hadoop apache-spark bigdata