Delen via


ALTER MATERIALIZED VIEW

Van toepassing op:aangevinkt als ja Databricks SQL

Hiermee worden metagegevens gewijzigd die aan de weergave zijn gekoppeld.

Hiermee kunt u een van de volgende acties uitvoeren:

  • Voeg een schema toe voor het vernieuwen van een bestaande gerealiseerde weergave.
  • Een bestaand updateschema voor een materiële weergave wijzigen.
  • Verwijder het vernieuwingsschema voor een gerealiseerde weergave. Als het schema wordt verwijderd, moet het object handmatig worden vernieuwd om de meest recente gegevens weer te geven.

Als u een opmerking aan een gerealiseerde weergave 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 MATERIALIZED VIEW view_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

  • view_name

    De naam van de gerealiseerde weergave om de definitie van te wijzigen. De naam mag geen tijdelijke specificatie bevatten.

  • planning

    Voeg een SCHEDULE of instructie toe aan TRIGGER of wijzig deze in de gerealiseerde weergave.

    Notitie

    U kunt het schema van een gerealiseerde weergave 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 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 de gerealiseerde weergave in om te vernieuwen 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 gerealiseerde weergave 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 gerealiseerde weergave.

  • 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 gerealiseerde weergave. Alle volgende query's naar de gerealiseerde weergave ontvangen een subset van de rijen waarin de functie tot booleaanse waarde TRUE evalueert. 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.

    Hiermee wordt het rijfilter verwijderd uit de gerealiseerde weergave, 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.

    Pas tags toe op de gerealiseerde weergave. U moet gemachtigd zijn APPLY TAG om tags toe te voegen aan de gerealiseerde weergave.

    • tag_name

      Een letterlijke STRING. Binnen de gematerialiseerde weergave of kolom moet de tag_name uniek zijn.

    • tag_value

      Een letterlijke STRING.

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

    Belangrijk

    Deze functie bevindt zich in openbare preview-versie.

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

    • tag_name

      Een letterlijke STRING. Binnen de gematerialiseerde weergave of kolom moet de tag_name uniek zijn.

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 materialized view whenever its upstream data gets updated.
> ALTER MATERIALIZED VIEW my_mv
    ADD TRIGGER ON UPDATE;

-- Alters the schedule to refresh the materialized view when its upstream data
-- gets updated, and make sure the update frequency is no more than 1 update
-- per hour.
> ALTER MATERIALIZED VIEW my_mv
    ALTER TRIGGER ON UPDATE AT MOST EVERY INTERVAL 1 hour;

-- Alters the schedule to run every two hours for a materialized view
> ALTER MATERIALIZED VIEW my_mv
    ALTER SCHEDULE EVERY 2 HOURS;

-- Alters the schedule to refresh a materialized view once a day
-- at midnight in Los Angeles
> ALTER MATERIALIZED VIEW my_mv
    ALTER SCHEDULE CRON '0 0 0 * * ? *' AT TIME ZONE 'America/Los_Angeles';

-- Drops the schedule for a materialized view
> ALTER MATERIALIZED VIEW my_mv
    DROP SCHEDULE;

-- Adds a column comment
> ALTER MATERIALIZED VIEW my_mv
    ALTER COLUMN my_column_name COMMENT 'test'