选择哪种存储级别?

Spark的存储级别相当于,在内存使用和CPU效率之间,提供了不同的权衡。我们推荐通过以下过程来选择一个:

  • 如果使用默认的存储级别(MEMORY_ONLY),你的RDDs可以很好地放在内存中,那就用这种默认方式。这是一个CPU最有效地配置项,使得在此RDDs上的操作能够尽可能快的完运行。

  • 如果不能很好地放在内存,试试使用MEMORY_ONLY_SER,并且选择一个快速的序列化庫来将对象更有效地存储,但仍然能够快速地访问(Java和Scala)。

  • 不要溢写到磁盘,除非函数计算数据集时开销很大,或者要过滤一个大型数据集。否则,重新计算一个分区可能和从磁盘中读取一样快。

  • 如果你想快速恢复错误,使用副本存储级别(例如,想使用Spark保存来自web应用的请求)。通过重新计算丢失的数据,所有的存储级别提供完整的容错,但是副本可以让你继续执行任务,而不需要等待重新计算那个丢失的分区。

results matching ""

    No results matching ""