適用於:
Databricks Runtime
在 Apache Spark 的快取中,以指定的儲存層級快取資料表的內容或查詢的輸出。 如果查詢已被快取,則會為此查詢建立暫存檢視。 這樣可減少未來查詢中源文件的掃描。
備註
快取資料會在集群上所有的 Spark 會話之間共享。
語法
CACHE [ LAZY ] TABLE table_name
[ OPTIONS ( 'storageLevel' [ = ] value ) ] [ [ AS ] query ]
如需磁碟快取與 Apache Spark 快取之間的差異,請參閱 磁碟快取與 Spark 快取。
參數
懶惰
只有在第一次使用資料表時才進行快取,而不是立即快取。
-
識別要快取的 Delta 數據表或檢視表。 名稱不得包含 時態規格或選項規格。 如果找不到資料表,Azure Databricks 就會產生 TABLE_OR_VIEW_NOT_FOUND 錯誤。
OPTIONS (『storageLevel』 [ = ] value )
OPTIONS包含索引鍵和值對的storageLevel子句。 當使用非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設定無效的值時,會拋出例外狀況。 如果未使用storageLevel子句明確設定OPTIONS,則預設storageLevel會設定為MEMORY_AND_DISK。查詢
產生要快取之數據列的查詢。 它可以是下列其中一種格式:
- 陳述
SELECT - 陳述
TABLE - 陳述
FROM
- 陳述
範例
> CACHE TABLE testCache OPTIONS ('storageLevel' 'DISK_ONLY') SELECT * FROM testData;