Een update uitvoeren op een Delta Live Tables-pijplijn
In dit artikel worden pijplijnupdates uitgelegd en vindt u informatie over hoe u een updatekunt activeren.
Wat is een pijplijn update?
Nadat u een pijplijn hebt gemaakt en klaar bent om deze uit te voeren, start u een update. Een pijplijn update doet het volgende:
- Hiermee start u een cluster met de juiste configuratie.
- Detecteert alle gedefinieerde tables en views en controleert op analysefouten, zoals ongeldige column namen, ontbrekende afhankelijkheden en syntaxisfouten.
- Hiermee maakt of werkt u tables en views bij met de meest recente beschikbare gegevens.
Met behulp van een valideert update, kunt u controleren op problemen in de broncode van een pijplijn zonder te wachten tot tables is gemaakt of bijgewerkt. Deze functie is handig bij het ontwikkelen of testen van pijplijnen, omdat u hiermee snel fouten in uw pijplijn kunt vinden en oplossen, zoals onjuiste table of column namen.
Hoe worden pijplijnupdates geactiveerd?
Gebruik een van de volgende opties om pijplijnupdates te starten:
Update trigger | Bijzonderheden |
---|---|
Handmatig | U kunt pijplijnupdates handmatig activeren vanuit de gebruikersinterface van de pijplijn, de pijplijn listof een notebook die is gekoppeld aan een pijplijn. Zie Pijplijn handmatig activeren update en Delta Live-Tables-pijplijnen ontwikkelen en fouten opsporen in notebooks. |
Gepland | U kunt updates voor pijplijnen plannen door taken in te zetten. Zie Delta Live Tables pijplijntaak voor taken. |
Programmatische | U kunt programmatisch updates activeren met behulp van hulpprogramma's, API's en CLIs van derden. Zie een Delta Live Tables-pijplijn uitvoeren in een werkstroom en Pipeline-API. |
een pijplijn handmatig activeren update
Gebruik een van de volgende opties om handmatig een pijplijn te activeren update:
- Klik op de knop op de pagina met pijplijndetails.
- Klik in de pijplijnen listop in de actiescolumn.
Notitie
Het standaardgedrag voor handmatig geactiveerde pijplijnupdates is het uitvoeren van refresh op alle datasets die in de pijplijn zijn gedefinieerd.
pijplijn refresh semantiek
In de volgende table worden de gedragingen beschreven voor gerealiseerde views en streaming-tables voor standaard refresh en volledige refresh:
Update type | Materiële weergave-semantiek | Semantiek streamen table |
---|---|---|
Refresh (standaard) | Hiermee worden de resultaten bijgewerkt om de huidige resultaten voor de definiërende query weer te geven. | Verwerkt nieuwe records via logica die is gedefinieerd in streaming tables en flows. |
Volledige refresh | Hiermee worden de resultaten bijgewerkt om de huidige resultaten voor de definiërende query weer te geven. | Wist gegevens uit streaming tables, wist statusinformatie (controlepunten) uit streams en verwerkt alle records uit de gegevensbron opnieuw. |
Standaard worden alle gerealiseerde views en streaming-tables in een pijplijn refresh met elk update. U kunt eventueel tables weglaten uit updates met behulp van de volgende functies:
- Select tables voor refresh: Gebruik deze gebruikersinterface om gematerialiseerde views en streaming tables toe te voegen of te remove voordat u een updateuitvoert. Zie Een pijplijn starten update voor geselecteerde tables.
- Refresh is mislukt tables: start een update voor mislukte geëxternaliseerde views en streaming tables, inclusief downstreamafhankelijkheden. Zie Een pijplijn update starten voor mislukte tables.
Beide functies ondersteunen standaard refresh semantiek of volledige refresh. U kunt eventueel het Selecttables voor refresh dialoogvenster gebruiken om extra tables uit te sluiten wanneer u een refresh voor mislukte tablesuitvoert.
Moet ik een volledig refreshgebruiken?
Databricks raadt aan om volledige vernieuwingen alleen uit te voeren wanneer dat nodig is. Een volledige refresh-verwerking verwerkt altijd alle records uit de opgegeven gegevensbronnen opnieuw via de logica waarmee de gegevensset wordt gedefinieerd. De tijd en middelen voor het voltooien van een volledige refresh zijn gecorreleerd aan de grootte van de brongegevens.
Materiaal views zal dezelfde resultaten opleveren, ongeacht of standaard of volledige refresh wordt gebruikt. Als u een volledige refresh gebruikt met streaming tables, worden alle statusverwerkings- en controlepuntgegevens opnieuw ingesteld, wat kan leiden tot gemiste records als de invoergegevens niet meer beschikbaar zijn.
Databricks raadt alleen een volledige refresh aan wanneer de invoergegevensbronnen de gegevens bevatten die nodig zijn om de gewenste toestand van de table of view opnieuw te creëren. Houd rekening met de volgende scenario’s, dat where invoerbrongegevens niet meer beschikbaar zijn en de uitkomst van het draaien van een volledige refresh:
Gegevensbron | Reden dat invoergegevens afwezig zijn | Volledig resultaat van refresh |
---|---|---|
Kafka | Drempelwaarde voor korte retentie | Records die niet meer aanwezig zijn in de Kafka-bron, worden verwijderd uit het doel table. |
Bestanden in objectopslag | Levenscyclusbeleid | Gegevensbestanden die niet meer aanwezig zijn in de bronmap, worden verwijderd uit de doel-table. |
Records in een table | Verwijderd voor naleving | Alleen records die aanwezig zijn in de bron table worden verwerkt. |
Als u wilt voorkomen dat volledige vernieuwingen worden uitgevoerd op een table of weergave, set u de eigenschap tablepipelines.reset.allowed
naar false
. Zie Delta Live eigenschappen van Tablestable. U kunt ook een toevoegstroom gebruiken om gegevens toe te voegen aan een bestaande streaming-table zonder dat hiervoor een volledige refreshis vereist.
Een pijplijn update starten voor geselecteerde tables
U kunt desgewenst gegevens opnieuw verwerken alleen voor geselecteerde tables in uw pijplijn. Tijdens de ontwikkeling wijzigt u bijvoorbeeld slechts één
Notitie
U kunt refresh selectief toepassen, uitsluitend bij geactiveerde pijplijnen.
Als u een
Klik op Selecttables voor refresh. Het dialoogvenster Selecttables voor refresh wordt weergegeven.
Als u de knop Selecttables voor refresh niet ziet, controleer dan of de pagina met pijplijndetails de meest recente update weergeeft en of de update is voltooid. Als een DAG niet zichtbaar is voor de meest recente update, bijvoorbeeld omdat de update is mislukt, wordt de knop Selecttables voor refresh niet weergegeven.
Klik op elke selectom de tables naar de refreshte table. De geselecteerde tables zijn gemarkeerd en gelabeld. Om een remove uit de tablete update, klikt u nogmaals op de table.
Klik op Refresh selectie.
Notitie
De knop Refresh selectie geeft het aantal geselecteerde tables tussen haakjes weer.
Als u de gegevens die al voor de geselecteerde tableszijn opgenomen, opnieuw wilt verwerken, klikt u op naast de knop Refresh selectie en klikt u op volledige Refresh selectie.
een pijplijn update starten voor mislukte tables
Als een pijplijn update mislukt vanwege fouten in een of meer tables in de pijplijngrafiek, kunt u een update starten van alleen mislukte tables en eventuele downstreamafhankelijkheden.
Notitie
Uitgesloten tables worden niet vernieuwd, zelfs niet als ze afhankelijk zijn van een mislukte table.
Als u update mislukte tables, klikt u op de pagina pijplijn details op Refresh mislukte tables.
Als u alleen update geselecteerd, is tablesmislukt:
Klik op de knop naast de mislukte knop Refreshtables en klik op Selecttables voor refresh. Het dialoogvenster Selecttables voor refresh wordt weergegeven.
Klik op elke selectom de tables naar de refreshte table. De geselecteerde tables zijn gemarkeerd en gelabeld. Om een remove uit de tablete update, klikt u nogmaals op de table.
Klik op Refresh selectie.
Notitie
De knop Refresh selectie geeft het aantal geselecteerde tables tussen haakjes weer.
Als u de gegevens die al voor de geselecteerde tableszijn opgenomen, opnieuw wilt verwerken, klikt u op naast de knop Refresh selectie en klikt u op volledige Refresh selectie.
Een pijplijn controleren op fouten zonder te wachten tot tablesupdate
Belangrijk
De functie Delta Live TablesValidate
update bevindt zich in openbare preview-versie.
Als u wilt controleren of de broncode van een pijplijn geldig is zonder een volledige updateuit te voeren, gebruikt u Valideren. Met een Validate
update worden de definities van gegevenssets en stromen die in de pijplijn zijn gedefinieerd opgelost, maar er worden geen gegevenssets gerealiseerd of gepubliceerd. Fouten die zijn gevonden tijdens de validatie, zoals onjuiste table of column namen, worden gerapporteerd in de gebruikersinterface.
Als u een Validate
updatewilt uitvoeren, klikt u op op de pagina met pijplijndetails naast Start en klikt u op Valideren.
Nadat de Validate
update is voltooid, worden in het gebeurtenislogboek alleen gebeurtenissen weergegeven die betrekking hebben op de Validate
updateen worden er geen metrische gegevens weergegeven in de DAG. Als er fouten worden gevonden, zijn details beschikbaar in het gebeurtenislogboek.
U kunt alleen resultaten zien voor de meest recente Validate
update. Als de Validate
update de laatst uitgevoerde updatewas, kunt u de resultaten zien door deze te selecteren in de update geschiedenis. Als er na de updateValidate
een andere update wordt uitgevoerd, zijn de resultaten niet meer beschikbaar in de gebruikersinterface.
Ontwikkelings- en productiemodi
U kunt pijplijnuitvoering optimize door te schakelen tussen ontwikkelings- en productiemodi. Gebruik de knoppen in de gebruikersinterface voor pijplijnen om tussen deze twee modi te schakelen. Pijplijnen worden standaard uitgevoerd in de ontwikkelingsmodus.
Wanneer u uw pijplijn uitvoert in de ontwikkelingsmodus, doet het Delta Live Tables-systeem het volgende:
- Hiermee wordt een cluster opnieuw gebruikt om de overhead van opnieuw opstarten te voorkomen. Clusters worden standaard twee uur uitgevoerd wanneer de ontwikkelingsmodus is ingeschakeld. U kunt dit wijzigen met de
pipelines.clusterShutdown.delay
-instelling in de Configureer computer voor een Delta Live-pijplijn Tables. - Schakelt nieuwe pogingen voor pijplijnen uit, zodat u onmiddellijk fouten kunt detecteren en oplossen.
In de productiemodus doet het Delta Live Tables systeem het volgende:
- Start het cluster opnieuw bij specifieke herstelbare fouten, waaronder geheugenlekken en verlopen credentials.
- Voer de uitvoering opnieuw uit in het geval van specifieke fouten, zoals een fout bij het starten van een cluster.
Notitie
Schakelen tussen ontwikkelings- en productiemodi bepaalt alleen het gedrag van cluster- en pijplijnuitvoering. Opslaglocaties en doelschema's in de catalog voor het publiceren van tables moeten worden geconfigureerd als onderdeel van de pijplijninstellingen en worden niet beïnvloed bij het schakelen tussen modi.