适用于:
Databricks Runtime
在 Apache Spark 缓存中使用给定的存储级别来缓存表的内容或查询的输出。 如果缓存了某个查询,则会为此查询创建临时视图。 这样就会减少未来查询中对原始文件的扫描。
语法
CACHE [ LAZY ] TABLE table_name
[ OPTIONS ( 'storageLevel' [ = ] value ) ] [ [ AS ] query ]
请参阅磁盘缓存与Spark 缓存,了解磁盘缓存和 Apache Spark 缓存之间的差异。
参数
LAZY
只在首次使用表时才对表进行缓存,而不是立即缓存。
-
标识要缓存的 Delta 表或视图。 名称不得包含时态规范或选项规范。 如果找不到表,Azure Databricks 会引发 TABLE_OR_VIEW_NOT_FOUND 错误。
OPTIONS ( 'storageLevel' [ = ] value )
具有
storageLevel键值对的OPTIONS子句。 使用storageLevel以外的键时,将会发出警告。storageLevel的有效选项是:NONEDISK_ONLYDISK_ONLY_2MEMORY_ONLYMEMORY_ONLY_2MEMORY_ONLY_SERMEMORY_ONLY_SER_2MEMORY_AND_DISKMEMORY_AND_DISK_2MEMORY_AND_DISK_SERMEMORY_AND_DISK_SER_2OFF_HEAP
在为
storageLevel设置了无效值时,会引发异常。 如果未使用OPTIONS子句显式设置storageLevel,则会将默认storageLevel设置为MEMORY_AND_DISK。查询
生成要缓存的行的查询。 可以采用以下格式之一:
SELECT语句TABLE语句FROM语句
示例
> CACHE TABLE testCache OPTIONS ('storageLevel' 'DISK_ONLY') SELECT * FROM testData;