Aller au contenu principal

persister

Définit le niveau de stockage pour conserver le contenu du DataFrame entre les Opérations après son premier calcul. Ceci ne peut être utilisé que pour attribuer 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é, la valeur est default (MEMORY_AND_DISK_DESER).

Syntaxe

persist(storageLevel: StorageLevel = StorageLevel.MEMORY_AND_DISK_DESER)

parameter

parameter

Type

Description

storageLevel

StorageLevel

Niveau de stockage à définir pour la persistance. La default est MEMORY_AND_DISK_DESER.

parameter

Type

Description

storageLevel

StorageLevel

Niveau de stockage à définir pour la persistance. La default est MEMORY_AND_DISK_DESER.

Renvoie

DataFrame: DataFrame persistant.

Notes

Le niveau de stockage par default est passé à MEMORY_AND_DISK_DESER pour correspondre à Scala dans la version 3.0.

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

Exemples

:::note Compatibilité Serverless

Databricks recommande de s’éloigner de DataFrame.persist(), car il n’est pas compatible avec l’architecture de compute serverless de Databricks. Matérialisez les résultats intermédiaires dans une table Delta si la réutilisation est coûteuse.

:::

Python
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]