Devuelva un RDD de takeOrdered, en lugar de una lista

Estoy usando pyspark para hacer un poco de limpieza de datos. Una operación muy común es tomar un subconjunto pequeño de un archivo y exportarlo para su inspección:

(self.spark_context.textFile(old_filepath+filename) .takeOrdered(100) .saveAsTextFile(new_filepath+filename)) 

Mi problema es que takeOrdered está devolviendo una lista en lugar de un RDD, por lo que saveAsTextFile no funciona.

 AttributeError: 'list' object has no attribute 'saveAsTextFile' 

Por supuesto, podría implementar mi propio escritor de archivos. O podría convertir la lista de nuevo en un RDD con paralelismo. Pero estoy tratando de ser un purista de chispas aquí.

¿No hay alguna forma de devolver un RDD desde takeOrdered o una función equivalente?

takeOrdered() es una acción y no una transformación, por lo que no puede hacer que devuelva un RDD.
Si no es necesario realizar un pedido, la alternativa más simple sería sample() .
Si desea ordenar, puede probar alguna combinación de filter() y sortByKey() para reducir la cantidad de elementos y ordenarlos. O, como sugirió, vuelva a paralelizar el resultado de takeOrdered()