【发布时间】:2019-10-17 04:12:42
【问题描述】:
如何将表固定在缓存中,这样它就不会换出内存?
情况:我们正在使用Microstrategy BI 报告。构建语义层。我们想使用 Spark SQL CACHE Table 将频繁使用的表缓存到 CACHE 中;我们为 SPARK 上下文(Thrift 服务器)做了缓存。最初它都在缓存中,现在一些在缓存中,一些在磁盘中。该磁盘可能是本地磁盘,读取成本比从 s3 读取的成本更高。从用户体验的角度来看,查询可能需要更长且不一致的时间。如果使用缓存表运行更多查询,则会复制缓存表图像的副本,并且副本不会保留在内存中,从而导致报告运行时间更长。所以如何固定表,这样就不会交换到磁盘。 Spark内存管理是动态分配的,如何利用那几张表Pin到内存中。
【问题讨论】:
标签: apache-spark caching