Köra en uppdatering på en Delta Live Tables-pipeline
Den här artikeln förklarar vad en pipelineuppdatering för Delta Live Tables är och hur du kör en.
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.
Du kan söka efter problem i en pipelines källkod utan att vänta på att tabeller ska skapas eller uppdateras med hjälp av en Valideringsuppdatering. Funktionen Validate
är användbar när du utvecklar eller testar pipelines genom att du snabbt kan hitta och åtgärda fel i pipelinen, till exempel felaktiga tabell- eller kolumnnamn.
Mer information om hur du skapar en pipeline finns i Självstudie: Kör din första Delta Live Tables-pipeline.
Starta en pipelineuppdatering
Azure Databricks innehåller flera alternativ för att starta pipelineuppdateringar, inklusive följande:
- I användargränssnittet för Delta Live Tables har du följande alternativ:
- Klicka på knappen på sidan med pipelineinformation.
- I listan pipelines klickar du i kolumnen Åtgärder .
- Om du vill starta en uppdatering i en notebook-fil klickar du på Delta Live Tables > Start i verktygsfältet notebook. Se Öppna eller kör en Delta Live Tables-pipeline från en notebook-fil.
- Du kan utlösa pipelines programmatiskt med hjälp av API:et eller CLI. Se API-guiden för Delta Live Tables.
- Du kan schemalägga pipelinen som ett jobb med hjälp av Delta Live Tables-användargränssnittet eller jobbgränssnittet. Se Schemalägg en pipeline.
Så här uppdaterar Delta Live Tables tabeller och vyer
Vilka tabeller och vyer som har uppdaterats och hur dessa tabeller uppdateras beror på uppdateringstypen:
- Uppdatera alla: Alla tabeller uppdateras för att återspegla det aktuella tillståndet för deras indatakällor. För strömmande tabeller läggs nya rader till i tabellen.
- Fullständig uppdatering av alla: Alla tabeller uppdateras för att återspegla det aktuella tillståndet för deras indatakällor. För direktuppspelningstabeller försöker Delta Live Tables rensa alla data från varje tabell och sedan läsa in alla data från strömningskällan.
- Uppdateringsval: Beteendet
refresh selection
för är identisktrefresh all
med , men gör att du bara kan uppdatera valda tabeller. Valda tabeller uppdateras för att återspegla det aktuella tillståndet för deras indatakällor. För strömmande tabeller läggs nya rader till i tabellen. - Fullständigt uppdateringsval: Beteendet
full refresh selection
för är identisktfull refresh all
med , men gör att du kan utföra en fullständig uppdatering av endast valda tabeller. Valda tabeller uppdateras för att återspegla det aktuella tillståndet för deras indatakällor. För direktuppspelningstabeller försöker Delta Live Tables rensa alla data från varje tabell och sedan läsa in alla data från strömningskällan.
För befintliga materialiserade vyer har en uppdatering samma beteende som en SQL REFRESH
i en materialiserad vy. För nya materialiserade vyer är beteendet detsamma som en SQL-åtgärd CREATE
.
Starta en pipelineuppdatering för valda tabeller
Du kanske bara vill bearbeta om data för 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å 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.
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å 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 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å Fullstä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å Start på sidan med pipelineinformation 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.
Kontinuerlig eller utlöst pipelinekörning
Om pipelinen använder det utlösta körningsläget slutar systemet att bearbeta efter att alla tabeller eller valda tabeller i pipelinen har uppdaterats en gång, vilket säkerställer att varje tabell som ingår i uppdateringen uppdateras baserat på tillgängliga data när uppdateringen startade.
Om pipelinen använder kontinuerlig körning bearbetar Delta Live Tables nya data när de tas emot i datakällor för att hålla tabellerna i pipelinen fräscha.
Körningsläget är oberoende av vilken typ av tabell som beräknas. Både materialiserade vyer och strömmande tabeller kan uppdateras i båda körningslägena. För att undvika onödig bearbetning i läget för kontinuerlig körning övervakar pipelines automatiskt beroende Delta-tabeller och utför endast en uppdatering när innehållet i de beroende tabellerna har ändrats.
Tabell som jämför körningslägen för datapipelines
I följande tabell visas skillnaderna mellan dessa körningslägen:
Viktiga frågor | Utlöst | Kontinuerligt |
---|---|---|
När stoppas uppdateringen? | Automatiskt när det är klart. | Körs kontinuerligt tills den stoppas manuellt. |
Vilka data bearbetas? | Tillgängliga data när uppdateringen startas. | Alla data när de kommer till konfigurerade källor. |
Vilka krav på data freshness är detta bäst för? | Datauppdateringar körs var 10:e minut, varje timme eller varje dag. | Datauppdateringar som önskas mellan var 10:e sekund och några minuter. |
Utlösta pipelines kan minska resursförbrukning och kostnader eftersom klustret bara körs tillräckligt länge för att köra pipelinen. Nya data bearbetas dock inte förrän pipelinen utlöses. Kontinuerliga pipelines kräver ett kluster som alltid körs, vilket är dyrare men minskar bearbetningsfördröjningen.
Du kan konfigurera körningsläge med alternativet Pipelineläge i inställningarna.
Så här väljer du pipelinegränser
En Delta Live Tables-pipeline kan bearbeta uppdateringar av en enskild tabell, många tabeller med beroende relationer, många tabeller utan relationer eller flera oberoende flöden av tabeller med beroende relationer. Det här avsnittet innehåller överväganden som hjälper dig att avgöra hur du delar upp dina pipelines.
Större Delta Live Tables-pipelines har ett antal fördelar. Dessa inkluderar följande:
- Mer effektivt använda klusterresurser.
- Minska antalet pipelines på din arbetsyta.
- Minska komplexiteten i arbetsflödesorkestrering.
Några vanliga rekommendationer om hur bearbetning av pipelines ska delas upp är följande:
- Dela upp funktioner vid teamgränser. Datateamet kan till exempel underhålla pipelines för att transformera data medan dina dataanalytiker underhåller pipelines som analyserar transformerade data.
- Dela upp funktioner vid programspecifika gränser för att minska kopplingen och underlätta återanvändning av vanliga funktioner.
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 Konfigurera dina beräkningsinställningar. - 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.
Schemalägga en pipeline
Du kan starta en utlöst pipeline manuellt eller köra pipelinen enligt ett schema med ett Azure Databricks-jobb. Du kan skapa och schemalägga ett jobb med en enda pipelineaktivitet direkt i Delta Live Tables-användargränssnittet eller lägga till en pipelineaktivitet i ett arbetsflöde med flera aktiviteter i jobbgränssnittet. Se Delta Live Tables-pipelineaktivitet för jobb.
Så här skapar du ett jobb med en uppgift och ett schema för jobbet i Delta Live Tables-användargränssnittet:
- Klicka på Schemalägg > lägg till ett schema. Knappen Schema uppdateras för att visa antalet befintliga scheman om pipelinen ingår i ett eller flera schemalagda jobb, till exempel Schema (5).
- Ange ett namn för jobbet i fältet Jobbnamn .
- Ange Schema till Schemalagd.
- Ange period, starttid och tidszon.
- Konfigurera en eller flera e-postadresser för att ta emot aviseringar vid pipelinestart, lyckad eller misslyckad.
- Klicka på Skapa.