文档首页>
MapReduce服务 MRS>
用户指南(吉隆坡区域)>
MRS集群组件操作指导>
使用Spark2x>
Spark2x常见问题>
SQL和DataFrame>
cache table使用指导
更新时间:2023-03-17 GMT+08:00
cache table使用指导
问题
cache table的作用是什么?cache table时需要注意哪些方面?
回答
Spark SQL可以将表cache到内存中,并且使用压缩存储来尽量减少内存压力。通过将表cache,查询可以直接从内存中读取数据,从而减少读取磁盘带来的内存开销。
但需要注意的是,被cache的表会占用executor的内存。尽管在Spark SQL采用压缩存储的方式来尽量减少内存开销、缓解GC压力,但当缓存的表较大或者缓存表数量较多时,将不可避免的影响executor的稳定性。
此时的最佳实践是,当不需要将表cache来实现查询加速时,应及时将表进行uncache以释放内存。可以执行命令uncache table table_name来uncache表。
![](https://support.huaweicloud.com/intl/zh-cn/my-kualalumpur-1-usermanual-mrs/public_sys-resources/note_3.0-zh-cn.png)
被cache的表也可以在Spark Driver UI的Storage标签里查看。
父主题: SQL和DataFrame