Delen via


ALTER STREAMING TABLE

Van toepassing op:vinkje als ja aan Databricks SQL

Hiermee kunt u een van de volgende acties uitvoeren:

  • Voeg een schema of trigger toe voor het vernieuwen van een bestaande streamingtabel.
  • Een bestaand vernieuwingsschema of een bestaande trigger voor een streamingtabel wijzigen.
  • Verwijder het vernieuwingsschema of de trigger voor een streamingtabel. Als er geen planning of trigger is, moet het object handmatig worden vernieuwd om de meest recente gegevens weer te geven.

Als u een opmerking aan een streamingtabel wilt toevoegen of wijzigen, gebruikt u COMMENT ON.

Notitie

Als u een door een pijplijn gemaakte gegevensset wijzigt op een manier die in strijd is met de definitie van SQL, kunnen sommige wijzigingen worden teruggedraaid. Zie Opdrachten gebruiken ALTER met Lakeflow Spark-declaratieve pijplijnen.

Syntaxis

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 }

Parameterwaarden

  • table_name

    De naam van de streamingtabel waarvan de definitie moet worden gewijzigd. De naam mag geen tijdelijke specificatie bevatten.

  • planning

    Een of-instructie SCHEDULE aan de tabel toevoegen of wijzigenTRIGGER.

    Notitie

    U kunt het schema van een streamingtabel die is gemaakt met Lakeflow Spark-declaratieve pijplijnen niet wijzigen met deze opdracht. Gebruik de pijplijneditor.

    • SCHEDULE [ REFRESH ] schedule_clause

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

        Als u een vernieuwing wilt plannen die periodiek plaatsvindt, gebruikt u EVERY syntaxis. Als de EVERY syntaxis is opgegeven, wordt de streamingtabel of gematerialiseerde weergave periodiek vernieuwd op het vastgestelde tijdsinterval aan de hand van de opgegeven waarde, zoals HOUR, HOURS, DAY, DAYS, WEEKof WEEKS. De volgende tabel bevat geaccepteerde gehele getallen voor number.

        Tijdeenheid Integerwaarde
        HOUR or HOURS 1 <= H <= 72
        DAY or DAYS 1 <= D <= 31
        WEEK or WEEKS 1 <= W <= 8

        Notitie

        De enkelvoudige en meervoudvormen van de opgenomen tijdseenheid zijn semantisch gelijkwaardig.

      • CRON cron_string [ AT TIME ZONE timezone_id ]

        Een vernieuwing plannen met behulp van een Quartz cron waarde. Geldige time_zone_values worden geaccepteerd. AT TIME ZONE LOCAL wordt niet ondersteund.

        Als AT TIME ZONE deze afwezig is, wordt de sessietijdzone gebruikt. Als AT TIME ZONE afwezig is en de sessietijdzone niet is ingesteld, wordt er een fout gegenereerd. SCHEDULE is semantisch gelijk aan SCHEDULE REFRESH.

    • TRIGGER ON UPDATE [ AT MOST EVERY trigger_interval ]

      Belangrijk

      De TRIGGER ON UPDATE functie bevindt zich in de bètaversie.

      Hiermee stelt u in dat de tabel wordt vernieuwd wanneer een upstream-gegevensbron wordt bijgewerkt, maximaal één keer per minuut. Stel een waarde in om AT MOST EVERY minimaal een minimale tijd tussen vernieuwingen te vereisen.

      De upstream-gegevensbronnen moeten externe of beheerde Delta-tabellen zijn (inclusief gerealiseerde weergaven of streamingtabellen) of beheerde weergaven waarvan afhankelijkheden zijn beperkt tot ondersteunde tabeltypen.

      Door bestandsevenementen in te schakelen, kunnen triggers beter presteren en worden enkele van de limieten voor triggerupdates verhoogd.

      Dit trigger_interval is een INTERVAL-instructie die ten minste 1 minuut is.

      TRIGGER ON UPDATE heeft de volgende beperkingen

      • Niet meer dan 10 upstream-gegevensbronnen per streamingtabel wanneer u TRIGGER ON UPDATEgebruikt.
      • Maximaal 1000 streamingtabellen of gerealiseerde weergaven kunnen worden opgegeven met TRIGGER ON UPDATE.
      • De AT MOST EVERY component is standaard ingesteld op 1 minuut en mag niet kleiner zijn dan 1 minuut.
  • DROP SCHEDULE

    Hiermee verwijdert u een schema uit de streamingtabel.

  • ALTER COLUMN clause

    Zie ALTER-clausuleCOLUMN.

  • SET ROW FILTER clausule

    Belangrijk

    Deze functie bevindt zich in openbare preview-versie.

    Hiermee voegt u een rijfilterfunctie toe aan de streamingtabel. Alle daaropvolgende query's naar de streamingtabel ontvangen een subset van de rijen waarin de functie evalueert naar een booleaanse TRUEwaarde. Dit kan handig zijn voor verfijnde toegangsbeheerdoeleinden, waarbij de functie de identiteit of groepslidmaatschappen van de aanroepende gebruiker kan inspecteren om te bepalen of bepaalde rijen moeten worden gefilterd.

    Rijfilters die zijn toegevoegd nadat deze zijn gemaakt, worden na de volgende update alleen doorgegeven aan downstreamtabellen. Voor continue pijplijnen is hiervoor opnieuw opstarten van de pijplijn vereist.

  • DROP ROW FILTER

    Belangrijk

    Deze functie bevindt zich in openbare preview-versie.

    Verwijdert het rijfilter uit de streamingtabel, indien van toepassing. Toekomstige query's retourneren alle rijen uit de tabel zonder automatisch filteren.

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

    Belangrijk

    Deze functie bevindt zich in openbare preview-versie.

    Tags toepassen op de streamingtabel. U hebt APPLY TAG toestemming nodig om tags toe te voegen aan de streamingtabel.

    • tag_name

      Een letterlijke STRING. De tag_name moet uniek zijn binnen de streaming tabel.

    • tag_value

      Een letterlijke STRING.

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

    Belangrijk

    Deze functie bevindt zich in openbare preview-versie.

    Verwijder tags uit de streamingtabel. U moet gemachtigd zijn APPLY TAG om tags uit de streamingtabel te verwijderen.

    • tag_name

      Een letterlijke STRING. De tag_name moet uniek zijn binnen de streaming tabel.

ALTER-clausule COLUMN

Belangrijk

Deze functie bevindt zich in openbare preview-versie.

Hiermee wijzigt u een eigenschap of de locatie van een kolom.

Syntaxis

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

Parameterwaarden

  • column_identifier

    De naam van de kolom die gewijzigd moet worden.

  • COMMENT comment

    Hiermee wijzigt u de beschrijving van de column_name kolom. comment moet een STRING letterlijke waarde zijn.

  • SET MASK-clausule

    Voegt een kolommaskerfunctie toe om gevoelige gegevens anoniem te maken. Alle volgende query's van die kolom ontvangen het resultaat van het evalueren van die functie ten opzichte van de kolom in plaats van de oorspronkelijke waarde van de kolom. Dit kan handig zijn voor verfijnde toegangsbeheerdoeleinden, waarbij de functie de identiteit of groepslidmaatschappen van de aanroepende gebruiker kan inspecteren om te bepalen of de waarde moet worden bewerkt.

    Kolommaskers die na het maken zijn toegevoegd, worden pas na de volgende update doorgegeven aan downstream tabellen. Voor continue pijplijnen is hiervoor opnieuw opstarten van de pijplijn vereist.

  • DROP MASK

    Hiermee verwijdert u het kolommasker voor deze kolom, indien van toepassing. Toekomstige query's van deze kolom ontvangen de oorspronkelijke waarden van de kolom.

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

    Tags toepassen op de kolom. U moet gemachtigd zijn APPLY TAG om tags toe te voegen aan de kolom.

    • tag_name

      Een letterlijke STRING. De tag_name naam moet uniek zijn binnen de tabel of kolom.

    • tag_value

      Een letterlijke STRING.

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

    Verwijder de opgegeven tags uit de kolom. U moet gemachtigd zijn APPLY TAG om tags uit de kolom te verwijderen.

    • tag_name

      Een letterlijke STRING. De tag_name naam moet uniek zijn binnen de tabel of kolom.

Voorbeelden

-- 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'