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 | 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.
:::
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]