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.

Om du vill lägga till eller ändra en kommentar i en strömningstabell använder du COMMENT ON.

Kommentar

Om du ändrar en pipeline-skapad datauppsättning på ett sätt som strider mot definitionen av SQL kan vissa ändringar återställas. Se Använda ALTER kommandon med Lakeflow Spark Deklarativa Pipelines.

Syntax

ALTER STREAMING TABLE table_name
  {
    { ADD | ALTER } schedule
    DROP SCHEDULE |
    ALTER COLUMN 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 ] }

  column_clause
    column_identifier
    { COMMENT clause |
      SET MASK clause |
      DROP MASK |
      SET TAGS clause |
      UNSET TAGS clause }

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.

    Kommentar

    Du kan inte ändra schemat för en strömmande tabell som skapats med Lakeflow Spark Deklarativa Pipelines med det här kommandot. Använd pipelineredigeraren.

    • 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 när du använder TRIGGER ON UPDATE.
      • Högst 1 000 strömmande tabeller eller materialiserade vyer kan anges med TRIGGER ON UPDATE.
      • AT MOST EVERY Satsen är som standard 1 minut och får inte vara mindre än 1 minut.
  • DROP SCHEDULE

    Tar bort ett schema från strömningstabellen.

  • ALTER COLUMN clause

    Se ALTER-klausulenCOLUMN.

  • 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.

    Radfilter som har lagts till efter skapandet sprids endast till underordnade tabeller efter nästa uppdatering. För kontinuerliga pipelines kräver detta en omstart av pipelinen.

  • 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.

    • 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.

ALTER-sats COLUMN

Viktigt!

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

Ändrar en egenskap eller platsen för en kolumn.

Syntax

  ALTER COLUMN
    column_identifier
    { COMMENT comment |
      SET MASK mask_clause |
      DROP MASK |
      SET TAGS clause |
      UNSET TAGS clause }

Parameterar

  • column_identifier

    Namnet på kolumnen som ska ändras.

  • COMMENT comment

    Ändrar beskrivningen av kolumnen column_name. comment måste vara ett STRING literalvärde.

  • SET MASK-klausul

    Lägger till en kolumnmaskfunktion för att anonymisera känsliga data. Alla efterföljande frågor från den kolumnen får resultatet av utvärderingen av funktionen över kolumnen i stället för kolumnens ursprungliga värde. Detta kan vara användbart för detaljerad åtkomstkontroll där funktionen kan kontrollera identitets- eller gruppmedlemskapen för den anropande användaren för att avgöra om värdet ska redigeras.

    Kolumnmasker som har lagts till efter skapandet sprids endast till underordnade tabeller efter nästa uppdatering. För kontinuerliga pipelines kräver detta en omstart av pipelinen.

  • DROP MASK

    Tar bort kolumnmasken för den här kolumnen, om någon. Framtida frågor från den här kolumnen tar emot kolumnens ursprungliga värden.

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

    Använd taggar i kolumnen. Du måste ha APPLY TAG behörighet att lägga till taggar i kolumnen.

    • tag_name

      En bokstavlig STRING. tag_name måste vara unik i tabellen eller kolumnen.

    • tag_value

      En bokstavlig STRING.

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

    Ta bort de angivna taggarna från kolumnen. Du måste ha APPLY TAG behörighet att ta bort taggar från kolumnen.

    • tag_name

      En bokstavlig STRING. tag_name måste vara unik i tabellen 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;

-- Adds a column comment
> ALTER STREAMING TABLE my_st
    ALTER COLUMN column_name COMMENT 'test'