El almacenamiento en caché ordenado de Spark DataFrame crea trabajo no deseado

Quiero convertir un RDD en un DataFrame y quiero almacenar en caché los resultados del RDD:

from pyspark.sql import *
from pyspark.sql.types import *
import pyspark.sql.functions as fn

schema = StructType([StructField('t', DoubleType()), StructField('value', DoubleType())])

df = spark.createDataFrame(
    sc.parallelize([Row(t=float(i/10), value=float(i*i)) for i in range(1000)], 4), #.cache(),
    schema=schema,
    verifySchema=False
).orderBy("t") #.cache()
Si no usas uncache función no se genera trabajo.Si utilizacache solo después delorderBy Se generan 1 trabajos paracache:Si utilizacache solo después delparallelize No se genera trabajo.

Por quecache generar un trabajo en este caso? ¿Cómo puedo evitar la generación de empleo decache (almacenamiento en caché del DataFrame y sin RDD)?

Editar: Investigué más sobre el problema y descubrí que sin elorderBy("t") No se genera trabajo. ¿Por qué?

Respuestas a la pregunta(1)

Su respuesta a la pregunta