CACHE TABLE
説明
CACHE TABLE ステートメントは、指定されたストレージレベルでテーブルの内容またはクエリの出力をキャッシュします。クエリがキャッシュされた場合、そのクエリに対して一時ビューが作成されます。これにより、将来のクエリでの元のファイルのスキャンが削減されます。
構文
CACHE [ LAZY ] TABLE table_identifier
[ OPTIONS ( 'storageLevel' [ = ] value ) ] [ [ AS ] query ]
パラメータ
-
LAZY
すぐにではなく、テーブルが最初に使用されたときにのみキャッシュします。
-
table_identifier
キャッシュされるテーブルまたはビューの名前を指定します。テーブルまたはビューの名前は、データベース名で修飾することもできます。
構文:
[ database_name. ] table_name -
OPTIONS ( ‘storageLevel’ [ = ] value )
storageLevelキーと値のペアを持つOPTIONS句。storageLevel以外のキーが使用された場合、警告が発行されます。storageLevelの有効なオプションは以下のとおりです。NONEDISK_ONLYDISK_ONLY_2DISK_ONLY_3MEMORY_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に設定されます。 -
query
キャッシュする行を生成するクエリ。以下のいずれかの形式になります。
- a
SELECTstatement - a
TABLEstatement - a
FROMステートメント
- a
例
CACHE TABLE testCache OPTIONS ('storageLevel' 'DISK_ONLY') SELECT * FROM testData;