Persistent

Définit le niveau de stockage pour conserver le contenu du DataFrame entre les opérations après la première fois qu’il est calculé. Cela ne peut être utilisé que pour affecter un nouveau niveau de stockage si le DataFrame n’a pas encore de niveau de stockage défini. Si aucun niveau de stockage n’est spécifié par défaut (MEMORY_AND_DISK_DESER).

Syntaxe

persist(storageLevel: StorageLevel = StorageLevel.MEMORY_AND_DISK_DESER)

Paramètres

Paramètre Type Description
storageLevel StorageLevel Niveau de stockage à définir pour la persistance. La valeur par défaut est MEMORY_AND_DISK_DESER.

Retours

DataFrame: DataFrame persistant.

Remarques

Le niveau de stockage par défaut a changé pour correspondre à MEMORY_AND_DISK_DESER Scala dans la version 3.0.

Les données mises en cache sont partagées entre toutes les sessions Spark sur le cluster.

Exemples

:::note Compatibilité avec le serverless

Databricks recommande de ne plus utiliser DataFrame.persist(), car celui-ci n’est pas compatible avec l’architecture de calcul sans serveur de Databricks. Matérialisez les résultats intermédiaires dans une table Delta à la place si la réutilisation est coûteuse.

:::

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]