CACHE TABLE

Gäller för:markerad ja Databricks Runtime

Cachelagrar innehållet i en tabell eller utdata från en fråga med den angivna lagringsnivån i Apache Spark-cacheminnet. Om en fråga cachelagras skapas en temporär vy för den här frågan. Detta minskar genomsökningen av de ursprungliga filerna i framtida frågor.

Anmärkning

Cachelagrade data delas över alla Spark-sessioner i klustret.

Syntax

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

Se Diskcache jämfört med Spark-cache för skillnaderna mellan diskcachelagring och Apache Spark-cachen.

Parametrar

  • LAT

    Cachelagrade endast tabellen när den först används, i stället för omedelbart.

  • table_name

    Identifierar deltatabellen eller vyn som ska cachelagrats. Namnet får inte innehålla en temporal specifikation eller alternativspecifikation. Om det inte går att hitta tabellen skapar Azure Databricks ett TABLE_OR_VIEW_NOT_FOUND fel.

  • ALTERNATIV ( "storageLevel" [ = ] värde )

    OPTIONS -sats med storageLevel nyckel- och värdepar. En varning utfärdas när en annan nyckel än storageLevel används. De giltiga alternativen för storageLevel är:

    • 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

    Ett undantag utlöses när ett ogiltigt värde har angetts för storageLevel. Om storageLevel inte uttryckligen anges med hjälp av OPTIONS -satsen är standardvärdet storageLevel inställt på MEMORY_AND_DISK.

  • fråga

    En fråga som skapar de rader som ska cachelagras. Det kan vara i något av följande format:

    • En SELECT instruktion
    • En TABLE instruktion
    • En FROM instruktion

Exempel

:::obs Serverlös kompatibilitet

Databricks rekommenderar att du inte använder CACHE TABLE eftersom det inte är kompatibelt med databricks serverlös beräkningsarkitektur. Automatisk cachelagring av serverlös beräkning. Om du måste materialisera resultaten skriver du dem till en Delta-tabell i stället.

:::

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