Dela via


ALTER STREAMING TABLE

Gäller för:markerad ja Databricks SQL

Gör att du kan utföra någon av följande åtgärder:

  • Lägg till ett schema eller en utlösare för uppdatering av en befintlig direktuppspelningstabell.
  • Ändra ett befintligt uppdateringsschema eller en utlösare för en strömmande tabell.
  • Släpp uppdateringsschemat eller utlösaren för en strömmande tabell. Om det inte finns något schema eller någon utlösare måste objektet uppdateras manuellt för att återspegla de senaste data.

Syntax

ALTER STREAMING TABLE table_name
  {
    { ADD | ALTER } schedule
    DROP SCHEDULE |
    ALTER COLUMN clause |
    SET ROW FILTER clause |
    DROP ROW FILTER |
    SET TAGS clause |
    UNSET TAGS clause |
  }

  schedule
  { SCHEDULE [ REFRESH ] schedule_clause |
    TRIGGER ON UPDATE [ AT MOST EVERY trigger_interval ] }

  schedule_clause
  { EVERY number { HOUR | HOURS | DAY | DAYS | WEEK | WEEKS } |
    CRON cron_string [ AT TIME ZONE timezone_id ] }

Parameterar

  • table_name

    Namnet på den strömmande tabellen vars definition ska ändras. Namnet får inte innehålla någon temporal specifikation.

  • schema

    Lägg till eller ändra en SCHEDULE - TRIGGER instruktion i tabellen.

    • SCHEDULE [ REFRESH ] schedule_clause

      • EVERY number { HOUR | HOURS | DAY | DAYS | WEEK | WEEKS }

        Om du vill schemalägga en uppdatering som sker regelbundet använder du EVERY syntax. Om EVERY syntax anges uppdateras strömningstabellen eller den materialiserade vyn regelbundet med det angivna intervallet baserat på det angivna värdet, till exempel HOUR, HOURS, DAY, DAYS, WEEKeller WEEKS. I följande tabell visas godkända heltalsvärden för number.

        Tidsenhet Heltalsvärde
        HOUR or HOURS 1 <= H <= 72
        DAY or DAYS 1 <= D <= 31
        WEEK or WEEKS 1 <= W <= 8

        Kommentar

        Singular- och pluralformerna i den inkluderade tidsenheten är semantiskt likvärdiga.

      • CRON cron_string [ AT TIME ZONE timezone_id ]

        Så här schemalägger du en uppdatering med hjälp av ett Quartz-cronvärde . Giltiga time_zone_values accepteras. AT TIME ZONE LOCAL stöds inte.

        Om AT TIME ZONE den saknas används tidszonen för sessionen. Om AT TIME ZONE saknas och sessionens tidszon inte har angetts utlöses ett fel. SCHEDULE är semantiskt likvärdigt med SCHEDULE REFRESH.

    • TRIGGER ON UPDATE [ AT MOST EVERY trigger_interval ]

      Viktigt!

      Funktionen TRIGGER ON UPDATE finns i Beta.

      Anger att tabellen ska uppdateras när en överordnad datakälla uppdateras, högst en gång i minuten. Ange ett värde för för AT MOST EVERY att kräva minst en minsta tid mellan uppdateringarna.

      De överordnade datakällorna måste vara antingen externa eller hanterade Delta-tabeller (inklusive materialiserade vyer eller strömmande tabeller) eller hanterade vyer vars beroenden är begränsade till tabelltyper som stöds.

      Aktivering av filhändelser kan göra utlösare mer högpresterande och ökar vissa av gränserna för utlösaruppdateringar.

      trigger_interval är en INTERVAL-instruktion som är minst 1 minut.

      TRIGGER ON UPDATE har följande begränsningar

      • Högst 10 överordnade datakällor per strömmande tabell med tabellutlösare.
      • Maximalt 50 strömmande tabeller eller materialiserade vyer med tabellutlösare (om du aktiverar filhändelser i överordnade datakällor tar den här gränsen bort).
      • För källdata i en extern Delta-tabell finns det en gräns på 10 000 rader per ändringsuppsättning (om du aktiverar filhändelser i överordnade datakällor tas den här gränsen bort).
      • AT MOST EVERY Satsen är som standard 1 minut och får inte vara mindre än 1 minut.
  • ÄNDRA COLUMN

    Viktigt!

    Den här funktionen finns som allmänt tillgänglig förhandsversion.

    Ändrar en egenskap för en kolumn.

  • SET ROW FILTERsats

    Viktigt!

    Den här funktionen finns som allmänt tillgänglig förhandsversion.

    Lägger till en radfilterfunktion i strömningstabellen. Alla efterföljande frågor till strömningstabellen får en delmängd av raderna där funktionen utvärderas som boolesk TRUE. Detta kan vara användbart för detaljerad åtkomstkontroll där funktionen kan inspektera identitets- eller gruppmedlemskap för den anropande användaren för att avgöra om vissa rader ska filtreras.

  • DROP ROW FILTER

    Viktigt!

    Den här funktionen finns som allmänt tillgänglig förhandsversion.

    Släpper radfiltret från strömningstabellen, om det finns några. Framtida frågor returnerar alla rader från tabellen utan automatisk filtrering.

  • SET TAGS ( { tag_name = tag_value } [, ...] )

    Viktigt!

    Den här funktionen finns som allmänt tillgänglig förhandsversion.

    Tillämpa taggar på strömningstabellen. Du måste ha APPLY TAG behörighet att lägga till taggar i strömningstabellen.

    • tag_name

      En bokstavlig STRING. tag_name Måste vara unikt i strömningstabellen eller kolumnen.

    • tag_value

      En bokstavlig STRING.

  • UNSET TAGS ( tag_name [, ...] )

    Viktigt!

    Den här funktionen finns som allmänt tillgänglig förhandsversion.

    Ta bort taggar från strömningstabellen. Du måste ha APPLY TAG behörighet att ta bort taggar från strömningstabellen.

    • tag_name

      En bokstavlig STRING. tag_name Måste vara unikt i strömningstabellen eller kolumnen.

Exempel

-- Adds a schedule to refresh the streaming table whenever its upstream data gets updated.
> ALTER STREAMING TABLE my_st
    ADD TRIGGER ON UPDATE;

-- Alters the schedule to refresh the streaming table when its upstream data
-- gets updated, with no more than one update per hour.
> ALTER STREAMING TABLE my_st
    ALTER TRIGGER ON UPDATE AT MOST EVERY INTERVAL 1 hour;

-- Alters the schedule to run every one hour.
> ALTER STREAMING TABLE my_st
  ALTER SCHEDULE EVERY 1 HOUR;

-- Alters the schedule to refresh the streaming table once a day
-- at midnight in Los Angeles
> ALTER STREAMING TABLE my_st
  ALTER SCHEDULE CRON '0 0 0 * * ? *' AT TIME ZONE 'America/Los_Angeles';

-- Drops the schedule for a streaming table
> ALTER STREAMING TABLE my_st
  DROP SCHEDULE;