Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
När en pipelineuppdatering körs uppdateras de materialiserade vyerna och strömmande tabellerna som definierats i pipelinen så att deras resultat återspeglar källdatas aktuella tillstånd. Hur en datauppsättning uppdateras beror på dess typ och typ av uppdatering. Information om hur du utlöser och hanterar uppdateringar finns i Köra en pipelineuppdatering.
Uppdateringstyper
Som standard uppdateras varje materialiserad vy och strömningstabell i en pipeline med varje uppdatering. I följande tabell sammanfattas hur varje uppdateringstyp fungerar:
| Uppdateringstyp | Materialiserad vy | Direktuppspelningstabell |
|---|---|---|
| Uppdatera (standard) | Uppdaterar resultaten för att återspegla de aktuella resultaten av den definierande frågan. Azure Databricks undersöker kostnaden och utför en inkrementell uppdatering när den är mer effektiv. | Bearbetar nya poster via den logik som definierats i strömmande tabeller och flöden. |
| Fullständig uppdatering | Beräknar om resultaten för att återspegla de aktuella resultaten av den definierande frågan. | Rensar data från streamingtabeller, rensar kontrollpunkter från flöden och bearbetar om alla poster från datakällan. |
| Återställ kontrollpunkterna för streamingflödet | Inte tillämpligt på materialiserade vyer. | Rensar kontrollpunkter från flöden men rensar inte data från strömmande tabeller och bearbetar sedan om alla poster från datakällan. |
Uppdatera (standard)
En standarduppdatering uppdaterar en datauppsättning så att den återspeglar de aktuella resultaten av den definierande frågan.
Strömmande tabeller är i sig inkrementella. En uppdatering av strömningstabellen utvärderar endast de poster som har anlänt sedan den senaste uppdateringen och lägger till dem med hjälp av den aktuella definitionen av tabellen. Äldre poster bearbetas inte på nytt, så ändringar som skulle påverka redan skrivna data tillämpas inte. Med andra ord byter en standarduppdatering av en strömmande tabell data korrekthet mot lägre tids- och resurskostnader. Om du vill bearbeta äldre data kör du en fullständig uppdatering eller återställer flödeskontrollpunkterna.
Materialiserade vyer försöker utföra en inkrementell uppdatering men bearbeta om alla poster vid behov för att hålla tabellen helt korrekt. En materialiserad vy uppdateras med någon av två metoder:
- Inkrementell uppdatering identifierar ändringarna sedan den senaste uppdateringen och sammanfogar endast nya eller ändrade data.
- Fullständig uppdatering kör hela frågan och ersätter befintliga data när en inkrementell uppdatering inte är möjlig eller inte är kostnadseffektiv.
Som standard använder Azure Databricks en kostnadsmodell för att välja den mer kostnadseffektiva metoden. Du kan åsidosätta det här valet med en uppdateringsprincip. Se Stegvis uppdatering för materialiserade vyer för semantik, krav och SQL som stöds för inkrementell uppdatering.
Fullständig uppdatering
En fullständig uppdatering omarbetar alla poster från källdata via logiken som definierar datauppsättningen:
- För en materialiserad vy beräknar en fullständig uppdatering om hela resultatet. Eftersom materialiserade vyer alltid returnerar samma resultat som en batchfråga genererar en standarduppdatering och en fullständig uppdatering identiska data.
- För en strömmande tabell innebär en fullständig uppdatering att tabellen trunkeras, att streamingkontrollpunkterna för tabellens flöden rensas och att alla poster från källan bearbetas om.
Eftersom en fullständig uppdatering bearbetar om alla källdata ökar tiden och kostnaden i takt med storleken på dessa data. Databricks rekommenderar att du endast kör en fullständig uppdatering när det behövs, till exempel när en definition eller schemaändring inte är kompatibel med befintliga data. En fullständig uppdatering av en strömmande tabell kan tappa poster om källan inte längre lagrar originaldata, till exempel ett Kafka-topic som har passerat sin retentionsperiod.
Information om när och hur du kör en fullständig uppdatering av en strömmande tabell finns i Fullständig uppdatering för strömmande tabeller.
Återställa kontrollpunkter
Återställning av kontrollpunkter gäller endast för strömmande tabeller. Den rensar streamingkontrollpunkterna för de valda flödena utan att rensa de data som redan har skrivits till streamingtabellen och ombearbetar sedan alla poster från källan genom dessa flöden. Till skillnad från en fullständig uppdatering behålls befintliga tabelldata.
Använd detta när du vill bearbeta en strömmande källa för valda flöden, till exempel efter att du har ändrat ett flödes logik, utan att trunkera tabellen.
Återställning av kontrollpunkter sker via REST API:t för Lakeflow Spark Declarative Pipelines. Mer information finns i Starta en pipelineuppdatering för att rensa kontrollpunkter för selektiva strömningsflöden.