Köra en uppdatering på en Delta Live Tables-pipeline
I den här artikeln beskrivs pipelineuppdateringar och information om hur du utlöser en uppdatering.
Vad är en pipelineuppdatering?
När du har skapat en pipeline och är redo att köra den startar du en uppdatering. En pipelineuppdatering gör följande:
- Startar ett kluster med rätt konfiguration.
- Identifierar alla definierade tabeller och vyer och söker efter eventuella analysfel, till exempel ogiltiga kolumnnamn, saknade beroenden och syntaxfel.
- Skapar eller uppdaterar tabeller och vyer med de senaste tillgängliga data.
Med hjälp av en verifieringsuppdatering kan du söka efter problem i en pipelines källkod utan att vänta på att tabeller ska skapas eller uppdateras. Den här funktionen är användbar när du utvecklar eller testar pipelines eftersom du snabbt kan hitta och åtgärda fel i pipelinen, till exempel felaktiga tabell- eller kolumnnamn.
Hur utlöses pipelineuppdateringar?
Använd något av följande alternativ för att påbörja pipeline-uppdateringar:
Uppdateringsutlösare | Detaljer |
---|---|
Handbok | Du kan utlösa pipelineuppdateringar manuellt från pipelinens användargränssnitt, pipelinelistan eller en notebook-fil som är kopplad till en pipeline. Se Utlösa en pipelineuppdatering manuellt och Utveckla och felsöka Delta Live Tables-pipelines i notebook-filer. |
Schemalagd | Du kan schemalägga uppdateringar för pipelines med hjälp av jobb. Se Delta Live Tables-pipelineaktivitet för jobb. |
Programmatiska | Du kan programmatiskt utlösa uppdateringar med hjälp av verktyg, API:er och CLI:er från tredje part. Se Köra en Delta Live Tables-pipeline i ett arbetsflöde och Pipeline API. |
utlöser en pipelineuppdatering manuellt
Använd något av följande alternativ för att manuellt utlösa en pipelineuppdatering:
-
Klicka på knappen på sidan med pipelineinformation.
- I listan pipelines klickar du
i kolumnen Åtgärder .
Kommentar
Standardbeteendet för manuellt utlösta pipelineuppdateringar är att uppdatera alla datauppsättningar som definierats i pipelinen.
Pipelineuppdateringssemantik
I följande tabell beskrivs beteendet för materialiserade vyer och strömmande tabeller för standarduppdatering och fullständig uppdatering:
Uppdateringstyp | Materialiserade vysemantik | Semantik för strömmande tabell |
---|---|---|
Uppdatera (standard) | Uppdaterar resultaten för att återspegla de aktuella resultaten för den definierande frågan. | Bearbetar nya poster via logik som definierats i strömmande tabeller och flöden. |
Fullständig uppdatering | Uppdaterar resultaten för att återspegla de aktuella resultaten för den definierande frågan. | Rensar data från strömningstabeller, rensar tillståndsinformation (kontrollpunkter) från flöden och bearbetar om alla poster från datakällan. |
Som standardinställning uppdateras alla materialiserade vyer och strömmande tabeller i en pipeline med varje uppdatering. Du kan också utelämna tabeller från uppdateringar med hjälp av följande funktioner:
- Välj tabeller för uppdatering: Använd det här användargränssnittet om du vill lägga till eller ta bort materialiserade vyer och strömmande tabeller innan du kör en uppdatering. Se Starta en pipeline-uppdatering för valda tabeller.
- Uppdatera misslyckade tabeller: Starta en uppdatering för misslyckade materialiserade vyer och strömmande tabeller, inklusive underordnade beroenden. Se Starta en pipeline-uppdatering för misslyckade tabeller.
Båda dessa funktioner stöder standarduppdateringssemantik eller fullständig uppdatering. Du kan också använda dialogrutan Välj tabeller för uppdatering för att exkludera ytterligare tabeller när du kör en uppdatering för misslyckade tabeller.
Ska jag använda en fullständig uppdatering?
Databricks rekommenderar att du endast kör fullständiga uppdateringar när det behövs. En fullständig uppdatering ombearbetar alltid alla poster från de angivna datakällorna via logiken som definierar datauppsättningen. Tiden och resurserna för att slutföra en fullständig uppdatering korreleras med storleken på källdata.
Materialiserade vyer returnerar samma resultat oavsett om standard eller fullständig uppdatering används. Om du använder en fullständig uppdatering med strömmande tabeller återställs all tillståndsbearbetning och kontrollpunktsinformation och kan resultera i borttagna poster om indata inte längre är tillgängliga.
Databricks rekommenderar endast fullständig uppdatering när indatakällorna innehåller de data som behövs för att återskapa det önskade tillståndet för tabellen eller vyn. Tänk på följande scenarier där indatakällans data inte längre är tillgängliga och resultatet av att köra en fullständig uppdatering:
Datakälla | Orsaksindata saknas | Utfall av fullständig uppdatering |
---|---|---|
Kafka | Kort kvarhållningströskel | Poster som inte längre finns i Kafka-källan tas bort från måltabellen. |
Filer i objektlagring | Livscykelpolicy | Datafiler som inte längre finns i källkatalogen tas bort från måltabellen. |
Poster i en tabell | Tas bort för kompatibilitet | Endast poster som finns i källtabellen bearbetas. |
Om du vill förhindra att fullständiga uppdateringar körs i en tabell eller vy anger du tabellegenskapen pipelines.reset.allowed
till false
. Se tabellegenskaperna för Delta Live Tables. Du kan också använda ett tilläggsflöde för att lägga till data i en befintlig strömmande tabell utan att kräva en fullständig uppdatering.
Starta en pipelineuppdatering för valda tabeller
Du kan också ombearbeta data för endast valda tabeller i pipelinen. Under utvecklingen ändrar du till exempel bara en enskild tabell och vill minska testtiden, eller så misslyckas en pipelineuppdatering och du bara vill uppdatera de misslyckade tabellerna.
Kommentar
Du kan använda selektiv uppdatering med endast utlösta pipelines.
Om du vill starta en uppdatering som endast uppdaterar valda tabeller går du till sidan Pipelineinformation :
Klicka på Välj tabeller för uppdatering. Dialogrutan Välj tabeller för uppdatering visas.
Om du inte ser knappen Välj tabeller för uppdatering kontrollerar du att sidan Pipelineinformation visar den senaste uppdateringen och att uppdateringen är klar. Om en DAG inte visas för den senaste uppdateringen, till exempel på grund av att uppdateringen misslyckades, visas inte knappen Välj tabeller för uppdatering .
Om du vill välja de tabeller som ska uppdateras klickar du på varje tabell. De markerade tabellerna är markerade och märkta. Om du vill ta bort en tabell från uppdateringen klickar du på tabellen igen.
Klicka på Uppdatera markering.
Kommentar
Knappen Uppdatera markering visar antalet valda tabeller inom parenteser.
Om du vill bearbeta data som redan har matats in för de valda tabellerna klickar du bredvid knappen Uppdatera markering och klickar på Blue Down CaretFullständig uppdateringsmarkering.
Starta en pipelineuppdatering för misslyckade tabeller
Om en pipelineuppdatering misslyckas på grund av fel i en eller flera tabeller i pipelinediagrammet kan du starta en uppdatering av endast misslyckade tabeller och eventuella underordnade beroenden.
Kommentar
Undantagna tabeller uppdateras inte, även om de är beroende av en misslyckad tabell.
Om du vill uppdatera misslyckade tabeller går du till sidan Pipelineinformation och klickar på Uppdatera misslyckade tabeller.
Så här uppdaterar du endast markerade misslyckade tabeller:
Klicka bredvid knappen Uppdatera misslyckade tabeller och klicka på Button DownVälj tabeller för uppdatering. Dialogrutan Välj tabeller för uppdatering visas.
Om du vill välja de tabeller som ska uppdateras klickar du på varje tabell. De markerade tabellerna är markerade och märkta. Om du vill ta bort en tabell från uppdateringen klickar du på tabellen igen.
Klicka på Uppdatera markering.
Kommentar
Knappen Uppdatera markering visar antalet valda tabeller inom parenteser.
Om du vill bearbeta data som redan har matats in för de valda tabellerna klickar du bredvid knappen Uppdatera markering och klickar på Blue Down CaretFullständig uppdateringsmarkering.
Kontrollera om det finns fel i en pipeline utan att vänta på att tabellerna ska uppdateras
Viktigt!
Delta Live Tables-uppdateringsfunktionen Validate
finns i offentlig förhandsversion.
Om du vill kontrollera om en pipelines källkod är giltig utan att köra en fullständig uppdatering använder du Verifiera. En Validate
uppdatering löser definitionerna av datamängder och flöden som definierats i pipelinen men materialiserar eller publicerar inga datauppsättningar. Fel som påträffas under valideringen, till exempel felaktiga tabell- eller kolumnnamn, rapporteras i användargränssnittet.
Om du vill köra en Validate
uppdatering klickar du på sidan med pipelineinformation bredvid Start och klickar på Verifiera.
Validate
När uppdateringen är klar visar händelseloggen händelser som endast är relaterade till Validate
uppdateringen och inga mått visas i DAG. Om fel hittas finns information i händelseloggen.
Du kan bara se resultat för den senaste Validate
uppdateringen.
Validate
Om uppdateringen var den senaste körningsuppdateringen kan du se resultatet genom att välja den i uppdateringshistoriken. Om en annan uppdatering körs efter Validate
uppdateringen är resultatet inte längre tillgängligt i användargränssnittet.
Utvecklings- och produktionslägen
Du kan optimera pipelinekörningen genom att växla mellan utvecklings- och produktionslägen. Använd knapparna i pipelinegränssnittet för att växla mellan dessa två lägen. Som standard körs pipelines i utvecklingsläge.
När du kör din pipeline i utvecklingsläge gör Delta Live Tables-systemet följande:
- Återanvänder ett kluster för att undvika omkostnaderna för omstarter. Som standard körs kluster i två timmar när utvecklingsläget är aktiverat. Du kan ändra detta med
pipelines.clusterShutdown.delay
inställningen i pipelinen Konfigurera beräkning för en Delta Live Tables. - Inaktiverar pipeline-återförsök så att du omedelbart kan identifiera och åtgärda fel.
I produktionsläge gör Delta Live Tables-systemet följande:
- Startar om klustret för specifika återställningsbara fel, inklusive minnesläckor och inaktuella autentiseringsuppgifter.
- Kör körningen igen i händelse av specifika fel, till exempel om det inte gick att starta ett kluster.
Kommentar
Växling mellan utvecklings- och produktionslägen styr endast beteendet för kluster- och pipelinekörning. Lagringsplatser och målscheman i katalogen för publiceringstabeller måste konfigureras som en del av pipelineinställningarna och påverkas inte när du växlar mellan lägen.