Как преобразовать коллекцию, возвращенную после вызова take(5)
, другому RDD, поэтому я могу сохранить первые 5 записей в выходном файле?Spark: scala - как преобразовать коллекцию из RDD в другой RDD
Если я использую saveAsTextfile
, я не могу использовать take
и saveAsTextFile
вместе (вот почему вы видите эту строку, прокомментированную ниже). Он хранит все записи из RDD в отсортированном порядке, поэтому первые 5 рецензий относятся к 5 странам, но я хочу сохранить только первые 5 записей - возможно ли конвертировать коллекции [take (5)] в RDD?
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")