CACHE TABLE

Cachelagrar innehållet i en tabell eller utdata från en fråga med den angivna lagrings nivån. 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.

Syntax

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

Parametrar

  • ENKEL

    Cachelagra bara tabellen när den används första gången, i stället för direkt.

  • table_identifier

    • [database_name.] table_name: Ett tabell namn, eventuellt kvalificerat med ett databas namn.
    • delta.`<path-to-table>`: Platsen för en befintlig delta tabell.

    Tabell-eller vyns namn som ska cachelagras. Tabell-eller vyns namn kan eventuellt kvalificeras med ett databas namn.

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

    OPTIONS sats med storageLevel nyckel och värde-par. En varning utfärdas när en annan nyckel än den storageLevel används. Giltiga alternativ 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östes när ett ogiltigt värde har angetts för storageLevel . Om storageLevel inte uttryckligen anger att använder OPTIONS -satsen anges storageLevel som standard som MEMORY_AND_DISK .

  • frågeterm

    En fråga som producerar de rader som ska cachelagras. Det kan ha ett av följande format:

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

Exempel

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