PySpark StorageLevel

2024年8月29日 | 1 分钟阅读

PySpark StorageLevel 用于决定 RDD 应该如何在内存中存储。它还决定了是否序列化 RDD 以及是否复制 RDD 分区。在 Apache Spark 中,它负责 RDD 应该保存在内存中还是应该存储在磁盘上,或者两者都有。它包含常用的 PySpark StorageLevels, 静态常量,如 MEMORY_ONLY。

以下代码块包含 StorageLevel 的类定义 -

类变量

有不同的 PySpark StorageLevels 用于决定 RDD 的存储,例如

  • DISK_ONLY: StorageLevel(True, False, False, False, 1)
  • DISK_ONLY_2: StorageLevel(True, False, False, False, 2)
  • MEMORY_AND_DISK: StorageLevel(True, True, False, False, 1)
  • MEMORY_AND_DISK_2: StorageLevel(True, True, False, False, 2)
  • MEMORY_AND_DISK_SER: StorageLevel(True, True, False, False, 1)
  • MEMORY_AND_DISK_SER_2: StorageLevel(True, True, False, False, 2)
  • MEMORY_ONLY: StorageLevel(False, True, False, False, 1)
  • MEMORY_ONLY_2: StorageLevel(False, True, False, False, 2)
  • MEMORY_ONLY_SER: StorageLevel(False, True, False, False, 1)
  • MEMORY_ONLY_SER_2: StorageLevel(False, True, False, False, 2)
  • OFF_HEAP: StorageLevel(True, True, True, False, 1)

实例方法

PySpark StorageLevel 示例

在这里,我们使用存储级别 Memory_And_Disk_2,这意味着 RDD 分区将有 2 次复制。

输出

Disk Memory Serialized 2x Replicated

下一个主题PySpark Profiler