pyspark.sql.DataFrame.persist

DataFrame. 持久化 ( storageLevel : pyspark.storagelevel.StorageLevel = StorageLevel(True, True, False, True, 1) ) → pyspark.sql.dataframe.DataFrame [source]

设置存储级别以在第一次计算后保持 DataFrame 的内容在操作之间。这只能用于分配新的存储级别,如果 DataFrame 尚未设置存储级别。如果未指定存储级别,默认值为 ( MEMORY_AND_DISK_DESER )

版本 1.3.0 中的新功能。

在版本 3.4.0 中更改: 支持 Spark Connect.

Parameters
storageLevel StorageLevel

设置持久化的存储级别。默认值是MEMORY_AND_DISK_DESER。

Returns
数据框

持久化的数据框。

备注

默认存储级别已更改为 MEMORY_AND_DISK_DESER ,以与 3.0 中的 Scala 匹配。

示例

>>> df = spark.range(1)
>>> df.persist()
DataFrame[id: bigint]
>>> df.explain()  
== Physical Plan ==
AdaptiveSparkPlan isFinalPlan=false
+- InMemoryTableScan ...

通过指定存储级别将数据持久化到磁盘。

>>> from pyspark.storagelevel import StorageLevel
>>> df.persist(StorageLevel.DISK_ONLY)
DataFrame[id: bigint]