メインコンテンツまでスキップ

持続する

初めてコンピュートした後、複数の操作にわたってDataFrameの内容を保持するストレージ レベルを設定します。 これは、DataFrameにストレージレベルがまだ設定されていない場合にのみ、新しいストレージレベルを割り当てるために使用できます。ストレージレベルが指定されていない場合は、デフォルトで( MEMORY_AND_DISK_DESER )になります。

構文​

persist(storageLevel: StorageLevel = StorageLevel.MEMORY_AND_DISK_DESER)

パラメーター​

パラメーター

Type

説明

storageLevel

ストレージレベル

永続化のために設定するストレージレベル。デフォルトは MEMORY_AND_DISK_DESER です。

パラメーター

Type

説明

storageLevel

ストレージレベル

永続化のために設定するストレージレベル。デフォルトは MEMORY_AND_DISK_DESER です。

戻り値​

DataFrame: 永続化されたDataFrame 。

注意​

デフォルトのストレージレベルが、Scala 3.0に合わせてMEMORY_AND_DISK_DESERに変更されました。

クラシック コンピュートでは、キャッシュされたデータはクラスター上のすべての Spark セッションで共有されます。

Serverless コンピュートでは、persist()はcache()と同じように動作し、storageLevelは無視されます。クエリーをすぐにランし、セッションの残りの間、結果を保存します。Serverless コンピュートで DataFrames をキャッシュするを参照してください。

例​

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]