为什么在 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。所以还是可以查询的。
我正在学习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。所以还是可以查询的。