use*_*779 2 distributed-computing cluster-computing apache-spark
我是Spark的新手.我在多个地方读过在RDD上使用cache()会导致它存储在内存中但是到目前为止我还没有找到关于"如何确定数据的最大大小"的明确指南或经验法则塞进记忆?如果我调用"缓存"的数据量超过内存,会发生什么?它会导致我的工作失败还是仍然会对集群性能产生明显影响?
谢谢!
正如官方文档中明确指出的那样,MEMORY_ONLY持久性(相当于cache):
如果RDD不适合内存,则某些分区将不会被缓存,并且每次需要时都会重新计算.
即使数据适合内存,如果有新数据进入,也可以将其驱逐.实际上,缓存比合同更具隐蔽性.您不能依赖缓存,但如果成功,则不必依赖缓存.
注意:
请记住,默认StorageLevel的Dataset是MEMORY_AND_DISK,这将:
如果RDD不适合内存,请存储不适合磁盘的分区,并在需要时从那里读取它们.
另见:
| 归档时间: |
|
| 查看次数: |
928 次 |
| 最近记录: |