CACHE TABLE
Description
CACHE TABLE statement caches contents of a table or output of a query with the given storage level. If a query is cached, then a temp view will be created for this query.
This reduces scanning of the original files in future queries.
Syntax
CACHE [ LAZY ] TABLE table_identifier
    [ OPTIONS ( 'storageLevel' [ = ] value ) ] [ [ AS ] query ]
Parameters
- 
    LAZY Only cache the table when it is first used, instead of immediately. 
- 
    table_identifier Specifies the table or view name to be cached. The table or view name may be optionally qualified with a database name. Syntax: [ database_name. ] table_name
- 
    OPTIONS ( ‘storageLevel’ [ = ] value ) OPTIONSclause withstorageLevelkey and value pair. A Warning is issued when a key other thanstorageLevelis used. The valid options forstorageLevelare:- NONE
- DISK_ONLY
- DISK_ONLY_2
- DISK_ONLY_3
- 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
 An Exception is thrown when an invalid value is set for storageLevel. IfstorageLevelis not explicitly set usingOPTIONSclause, the defaultstorageLevelis set toMEMORY_AND_DISK.
- 
    query A query that produces the rows to be cached. It can be in one of following formats: - a SELECTstatement
- a TABLEstatement
- a FROMstatement
 
- a 
Examples
CACHE TABLE testCache OPTIONS ('storageLevel' 'DISK_ONLY') SELECT * FROM testData;