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.
Sur le compute classique, les données mises en cache sont partagées entre toutes les sessions Spark du cluster.
Sur un compute serverless, persist() se comporte de la même manière que cache() et ignore storageLevel. La query s'exécute immédiatement et le résultat est stocké pour le reste de votre session. Voir Mettre en cache des DataFrames sur un compute serverless.
Exemples
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]