Teilen über


CACHE TABLE

Gilt für:Häkchen Databricks Runtime

Speichert den Inhalt einer Tabelle oder der Ausgabe einer Abfrage mit der angegebenen Speicherebene in Apache Spark-Cache zwischen. Wenn eine Abfrage zwischengespeichert wird, wird eine temporäre Sicht für diese Abfrage erstellt. Dadurch wird der Überprüfungsaufwand der ursprünglichen Dateien in zukünftigen Abfragen reduziert.

Hinweis

Zwischengespeicherte Daten werden für alle Spark-Sitzungen im Cluster freigegeben.

Syntax

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

Unter Datenträgercache verglichen mit Spark-Cache finden Sie Unterschiede zwischen Datenträgercaching und dem Apache Spark-Cache.

Parameter

  • FAUL

    Die Tabelle wird nicht sofort, sondern bei der ersten Verwendung zwischengespeichert.

  • table_name

    Identifiziert die Delta-Tabelle oder -Ansicht, zum Cache. Der Name darf keine zeitliche Spezifikation oder Optionsspezifikation enthalten. Wenn die Tabelle nicht gefunden werden kann, löst Azure Databricks den Fehler TABLE_OR_VIEW_NOT_FOUND aus.

  • OPTIONS ( 'storageLevel' [ = ] Value )

    OPTIONS-Klausel mit storageLevel-Schlüssel und Wertpaar. Wenn ein anderer Schlüssel als storageLevel verwendet wird, wird eine Warnung ausgegeben. Die gültigen Optionen für storageLevel sind:

    • 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

    Wenn ein ungültiger Wert für storageLevel festgelegt wird, wird eine Ausnahme ausgelöst. Wenn storageLevel nicht explizit mit der OPTIONS-Klausel festgelegt wird, wird storageLevel standardmäßig auf MEMORY_AND_DISK festgelegt.

  • Anfrage

    Eine Abfrage, die die zwischenzuspeichernden Zeilen erzeugt. Sie kann eines der folgenden Formate aufweisen:

    • Eine SELECT-Anweisung
    • Eine TABLE-Anweisung
    • Eine FROM-Anweisung

Beispiele

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