【发布时间】:2016-01-27 20:15:04
【问题描述】:
使用 Apache Spark 为什么我会选择使用存储级别 DISK_ONLY 而不是 MEMORY_AND_DISK 或 MEMORY_AND_DISK_SER 来持久化 RDD?
是否存在使用 DISK_ONLY 比 MEMORY_AND_DISK 或 MEMORY_AND_DISK_SER 提供更好性能的用例。
【问题讨论】:
标签: apache-spark
使用 Apache Spark 为什么我会选择使用存储级别 DISK_ONLY 而不是 MEMORY_AND_DISK 或 MEMORY_AND_DISK_SER 来持久化 RDD?
是否存在使用 DISK_ONLY 比 MEMORY_AND_DISK 或 MEMORY_AND_DISK_SER 提供更好性能的用例。
【问题讨论】:
标签: apache-spark
简单的例子 - 你可能有一个相对较大的 RDD rdd1 和一个较小的 RDD rdd2。你想存储它们。
如果您在两者上都应用persist MEMORY_AND_DISK,那么它们都会溢出到磁盘,导致读取速度变慢。
但是您可以采用不同的方法 - 您可以将 rdd1 存储在 DISK_ONLY 中。可能正是由于这一举措,您可以使用 cache() 选项将 rdd2 直接存储在内存中,并且您将能够更快地读取它。
【讨论】: