Я использую 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 с помощью parallelize. Но я пытаюсь быть пуристом искры здесь.
Нет ли способа вернуть RDD из takeOrdered или эквивалентной функции?