Използвам pyspark, за да направя малко почистване на данни. Много често срещана операция е да вземете малко подмножество от файл и да го експортирате за проверка:
(self.spark_context.textFile(old_filepath+filename)
.takeOrdered(100)
.saveAsTextFile(new_filepath+filename))
Проблемът ми е, че takeOrdered връща списък вместо RDD, така че saveAsTextFile не работи.
AttributeError: 'list' object has no attribute 'saveAsTextFile'
Разбира се, бих могъл да внедря свой собствен писател на файлове. Или мога да конвертирам списъка обратно в RDD с паралелизиране. Но аз се опитвам да бъда искрящ пурист тук.
Няма ли начин да се върне RDD от takeOrdered или еквивалентна функция?