persist

Establece el nivel de almacenamiento para conservar el contenido del DataFrame entre operaciones después de la primera vez que se calcula. Esto solo se puede usar para asignar un nuevo nivel de almacenamiento si dataFrame aún no tiene establecido un nivel de almacenamiento. Si no se especifica ningún nivel de almacenamiento, el valor predeterminado es (MEMORY_AND_DISK_DESER).

Sintaxis

persist(storageLevel: StorageLevel = StorageLevel.MEMORY_AND_DISK_DESER)

Parámetros

Parámetro Tipo Descripción
storageLevel StorageLevel Nivel de almacenamiento que se va a establecer para la persistencia. El valor predeterminado es MEMORY_AND_DISK_DESER.

Devoluciones

DataFrame: DataFrame persistente.

Notas

El nivel de almacenamiento predeterminado ha cambiado para MEMORY_AND_DISK_DESER que coincida con Scala en 3.0.

En la computación clásica, los datos en caché se comparten entre todas las sesiones de Spark en el clúster.

En computación sin servidor, persist() se comporta igual que cache() e ignora storageLevel. Ejecuta la consulta de inmediato y almacena el resultado para el resto de la sesión. Consulta Cache DataFrames en computación serverless.

Ejemplos

df = spark.range(1)
df.persist()
# DataFrame[id: bigint]

df.explain()
# == Physical Plan ==
# InMemoryTableScan ...

from pyspark.storagelevel import StorageLevel
df.persist(StorageLevel.DISK_ONLY)
# DataFrame[id: bigint]