Spark Thrift服务器:UNCACHE TABLE和CLEAR CACHE不会清理执行程序内存

时间:2018-08-13 06:33:50

标签: apache-spark caching

升级到Spark 2.3.1之后,UNCACHE TABLE和CLEAR CACHE不会清除执行程序内存。对于2.2.0,我们看到在UNCACHE TABLE之后释放了执行程序内存,但是在2.3.1中有所改变。我们想知道是否有任何方法可以强制清理执行程序的内存。

通过Spark UI,尽管在存储中,我们看到已删除缓存表。缓存的数据不可用于查询。但是,在“执行程序”选项卡中,执行程序继续保留RDD,并且不会清除内存。这导致执行程序内存使用量的巨大浪费。当我们称为CACHE TABLE时,我们遇到了以下问题:将缓存的表溢出到磁盘上,而不是回收内存存储。

复制步骤:

缓存表test.test_cache;

UNCACHE TABLE test.test_cache;

==存储显示表未缓存;执行程序显示执行程序的存储内存未更改==

缓存表test.test_cache;

清除缓存;

==存储显示表未缓存;执行程序显示执行程序的存储内存未更改==

使用pyspark df.unpersist()时的行为类似。

0 个答案:

没有答案