Delen via


Geactiveerde versus doorlopende pijplijnmodus

In dit artikel worden de operationele semantiek van geactiveerde en continue pijplijnmodi voor DLT beschreven.

De pijplijnmodus is onafhankelijk van het type tabel dat wordt berekend. Zowel gematerialiseerde weergaven als streamingtabellen kunnen worden bijgewerkt in beide pijplijnmodi.

Als u wilt wisselen tussen geactiveerd en doorlopend, gebruikt u de pijplijnmodus optie in de pijplijninstellingen tijdens het maken of bewerken van een pijplijn. Zie Een DLT-pijplijn configureren.

Notitie

Vernieuwingsbewerkingen voor gerealiseerde weergaven en streamingtabellen die zijn gedefinieerd in Databricks SQL, worden altijd uitgevoerd met behulp van de geactiveerde pijplijnmodus.

Wat is de geactiveerde pijplijnmodus?

Als de pijplijn in de modus , die met is geactiveerd, werkt, stopt het systeem na het succesvol vernieuwen van alle tabellen of geselecteerde tabellen, waarbij elke tabel in de update wordt vernieuwd op basis van de gegevens die beschikbaar zijn op het moment dat de update begint.

Wat is de continue pijplijnmodus?

Als de pijplijn gebruikmaakt van continue uitvoering, verwerkt DLT nieuwe gegevens wanneer deze binnenkomt in gegevensbronnen om tabellen in de pijplijn actueel te houden.

Om onnodige verwerking in de modus voor continue uitvoering te voorkomen, bewaken pijplijnen automatisch afhankelijke Delta-tabellen en voeren ze alleen een update uit wanneer de inhoud van deze afhankelijke tabellen is gewijzigd.

Een modus voor gegevenspijplijnen kiezen

In de volgende tabel ziet u de verschillen tussen geactiveerde en continue pijplijnmodi:

Belangrijke vragen Geactiveerd Continu
Wanneer stopt de update? Automatisch zodra voltooid. Wordt continu uitgevoerd totdat deze handmatig is gestopt.
Welke gegevens worden verwerkt? Gegevens die beschikbaar zijn wanneer de update wordt gestart. Alle gegevens wanneer deze binnenkomen bij geconfigureerde bronnen.
Voor welke vereisten voor gegevensversheid is dit het beste? Gegevensupdates worden elke 10 minuten, elk uur of dagelijks uitgevoerd. Gegevensupdates zijn elke 10 seconden en een paar minuten gewenst.

Getriggerde pijplijnen kunnen het gebruik van resources en de kosten verminderen omdat het cluster alleen zo lang draait als nodig is om de pijplijn bij te werken. Nieuwe gegevens worden echter pas verwerkt nadat de pijplijn is geactiveerd. Voor continue pijplijnen is een altijd draaiend cluster vereist. Dit is duurder, maar verlaagt de verwerkingslatentie.

triggerinterval instellen voor continue pijplijnen

Wanneer u pijplijnen configureert voor continue modus, kunt u triggerintervallen instellen om te bepalen hoe vaak de pijplijn een update start voor elke stroom.

U kunt pipelines.trigger.interval gebruiken om het triggerinterval te beheren voor een stroom die een tabel of een hele pijplijn bijwerkt. Omdat een geactiveerde pijplijn elke tabel eenmaal verwerkt, wordt de pipelines.trigger.interval alleen gebruikt met continue pijplijnen.

Databricks raadt aan om pipelines.trigger.interval in afzonderlijke tabellen in te stellen, omdat streaming- en batchquery's verschillende standaardwaarden hebben. Stel de waarde voor een pijplijn alleen in wanneer het verwerken van updates voor de gehele pijplijngrafiek moet worden beheerd.

U stelt pipelines.trigger.interval in een tabel in met behulp van spark_conf in Python of SET in SQL:

@dlt.table(
  spark_conf={"pipelines.trigger.interval" : "10 seconds"}
)
def <function-name>():
    return (<query>)
SET pipelines.trigger.interval=10 seconds;

CREATE OR REFRESH MATERIALIZED VIEW TABLE_NAME
AS SELECT ...

Als u pipelines.trigger.interval wilt instellen voor een pijplijn, voegt u deze toe aan het configuration-object in de pijplijninstellingen:

{
  "configuration": {
    "pipelines.trigger.interval": "10 seconds"
  }
}