Databricks中如何对临时表执行CACHE SELECT缓存操作
Databricks 临时表缓存操作指南
适用环境
- DBR 10.5
- Spark 3.2.1
基础操作流程
- 首先执行Python代码创建目标临时视图:
%python df.createOrReplaceTempView("changeset");
- 临时视图创建完成后,执行对应SQL语句即可触发缓存:
CACHE SELECT * from changeset
语法规则与使用限制
CACHE操作的语法仅支持搭配带可选WHERE子句的SELECT查询,语法格式如下:CACHE SELECT <columns> FROM <table> [ WHERE <predicate> ]
经实测存在明确使用边界:
- 当查询为无额外加工逻辑的简单SELECT(可带WHERE过滤条件)时,CACHE SELECT可正常运行,参考示例:
spark.sql("select * from table") # CACHE SELECT 执行正常
- 当查询包含
distinct等任何数据处理逻辑时,CACHE SELECT会直接执行失败,参考反例:
spark.sql("select distinct * from table") # CACHE SELECT 执行失败
内容的提问来源于stack exchange,提问作者John Stud
相关产品推荐
相关产品推荐

