适用于: Databricks Runtime
 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的有效选项是:- NONE- DISK_ONLY
- DISK_ONLY_2
- MEMORY_ONLY
- MEMORY_ONLY_2
- MEMORY_ONLY_SER
- MEMORY_ONLY_SER_2
- MEMORY_AND_DISK
- MEMORY_AND_DISK_2
- MEMORY_AND_DISK_SER
- MEMORY_AND_DISK_SER_2
- OFF_HEAP
 
 - 在为 - storageLevel设置了无效值时,会引发异常。 如果未使用- OPTIONS子句显式设置- storageLevel,则会将默认- storageLevel设置为- MEMORY_AND_DISK。
- 查询 - 生成要缓存的行的查询。 可以采用以下格式之一: - SELECT语句
- TABLE语句
- FROM语句
 
示例
> CACHE TABLE testCache OPTIONS ('storageLevel' 'DISK_ONLY') SELECT * FROM testData;