CACHE TABLE

適用対象:「はい」のチェック マーク Databricks Runtime

Apache Spark キャッシュ内の指定されたストレージ レベルで、テーブルまたはクエリの出力の内容をキャッシュします。 クエリがキャッシュされている場合は、このクエリに対して一時ビューが作成されます。 これにより、以降のクエリで元のファイルのスキャンが軽減されます。

構文

CACHE [ LAZY ] TABLE table_name
  [ OPTIONS ( 'storageLevel' [ = ] value ) ] [ [ AS ] query ]

ディスク キャッシュと Apache Spark キャッシュの違いについては、「ディスク キャッシュとApache Spark キャッシュ」を参照してください。

パラメーター

  • LAZY

    テーブルは、直ちにではなく、最初に使用されたときにのみキャッシュされます。

  • table_name

    キャッシュするデルタ テーブルまたはビューを識別します。 この名前には、テンポラル仕様を含めることはできません。 テーブルが見つからない場合、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 に無効な値が設定されていると、例外がスローされます。 storageLevel が明示的に OPTIONS 句を使用して設定されていない場合、既定値 storageLevelMEMORY_AND_DISK に設定されます。

  • query

    キャッシュする行を生成するクエリ。 次のいずれかの形式を使用できます。

    • SELECT ステートメント
    • TABLE ステートメント
    • FROM ステートメント

> CACHE TABLE testCache OPTIONS ('storageLevel' 'DISK_ONLY') SELECT * FROM testData;