为什么在 spark-sql 中取消缓存 table 不起作用?

Why Uncache table in spark-sql not working?

我正在学习Spark SQL,当我使用spark-sql取消缓存之前缓存的table,但是在提交取消缓存命令后,我可以仍然查询缓存 table。为什么会这样?

Spark 版本 3.2.0(为 Apache Hadoop 2.7 预构建)

Hadoop 版本 2.7.7

Hive 元存储 2.3.9

Linux 信息

Static hostname: master
     Icon name: computer-vm
       Chassis: vm
    Machine ID: 15c**********************10b2e19
       Boot ID: 48b**********************efc169b
Virtualization: vmware

操作系统:Ubuntu 18.04.6 LTS 内核:Linux 4.15.0-163-generic 架构:x86-64

spark-sql (default)> CACHE TABLE testCache SELECT * FROM students WHERE AGE = 13;
Error in query: Temporary view 'testCache' already exists
spark-sql (default)> UNCACHE TABLE testCache;
Response code
Time taken: 0.092 seconds
spark-sql (default)> SELECT * FROM testCache;
NAME    rollno  AGE
Kent    8   21
Marry   1   10
Eddie Davis 5   13
Amy Smith   3   13
Barron  3   12
Fleur Laurent   4   9
Ivy 3   8
Time taken: 0.492 seconds, Fetched 7 row(s)

UNCACHE TABLE 从给定 table 或视图的内存 and/or 磁盘缓存中删除条目和相关数据,不删除 table。所以还是可以查询的。