Köra en uppdatering på en DLT-pipeline
I den här artikeln beskrivs pipelineuppdateringar och information om hur du utlöser en uppdatering.
Vad är en pipeline-uppdatering?
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 verifiera uppdateringkan 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 starta pipelineuppdateringar:
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 DLT-pipelines i anteckningsböcker. |
Schemalagd | Du kan schemalägga uppdateringar för pipelines med hjälp av arbetsuppgifter. Se DLT-pipelineuppgift för jobb. |
Programmatisk | Du kan programmatiskt utlösa uppdateringar med hjälp av verktyg, API:er och CLI:er från tredje part. Se Köra en DLT-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å DLT-startikonen
-knappen på pipeline-detaljsidan.
- I pipelinelistan klickar du på
i kolumnen Actions.
Notis
Standardbeteendet för manuellt utlösta pipelineuppdateringar är att uppdatera alla datauppsättningar som definierats i pipelinen.
pipeline uppdateringssemantik
I följande tabell beskrivs beteendet för materialiserade vyer och strömmande tabeller för standarduppdatering och fullständig uppdatering:
Uppdateringstyp | Semantik för materialiserad vy | 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 i strömningstabeller, rensar tillståndsinformation (kontrollpunkter) från flöden och processar om alla poster från datakällan. |
Som standardinställning uppdateras alla materialiserade vyer och strömmande tabeller i en pipeline vid 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 pipelineuppdatering 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 DLT-tabellens egenskaper. 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 vill bara uppdatera de misslyckade tabellerna.
Not
Du kan använda selektiv uppdatering med endast utlösta pipelines.
Starta en uppdatering som endast uppdaterar markerade tabeller på sidan Pipeline-information:
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 Pipeline-information sidan 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 märkta. Om du vill ta bort en tabell från uppdateringen klickar du på tabellen igen.
Klicka på Uppdatera markering.
Not
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 på bredvid knappen Uppdatera markering och klickar på fullstä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.
Not
Undantagna tabeller uppdateras inte, även om de är beroende av en misslyckad tabell.
För att uppdatera felaktiga tabeller klickar du på Uppdatera felaktiga tabellerpå sidan Pipeline-information.
Så här uppdaterar du endast markerade misslyckade tabeller:
Klicka på knappen
bredvid knappen Återställ misslyckade tabeller och klicka på Vä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 valda 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.
Not
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 på bredvid knappen Uppdatera markering och klickar på Fullständig uppdatering.
Kontrollera om det finns fel i en pipeline utan att vänta på att tabellerna ska uppdateras
Viktig
Uppdateringsfunktionen för DLT 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 datamängder. 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å på sidan med pipelineinformation bredvid Starta och klickar på Verifiera.
När Validate
uppdateringen är klar visar händelseloggen händelser som endast är relaterade till den 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 uppdateringen Validate
. Om Validate
-uppdateringen var den senaste körda uppdateringen 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 standardinställning körs pipelines i utvecklingsläge.
När du kör din pipeline i utvecklingsläge gör DLT-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 inställningen
pipelines.clusterShutdown.delay
i Konfigurera beräkning för en DLT-pipeline. - Inaktiverar pipeline-återförsök så att du omedelbart kan identifiera och åtgärda fel.
I produktionsläge gör DLT-systemet följande:
- Startar om klustret för specifika återställningsbara fel, inklusive minnesläckor och inaktuella autentiseringsuppgifter.
- Utför igen i händelse av specifika fel, till exempel om det inte gick att starta ett kluster.
Not
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.