Geactiveerd versus continue pijplijnmodus
In dit artikel worden de operationele semantiek van geactiveerde en continue pijplijnmodi voor Delta Live Tables beschreven.
De pijplijnmodus is onafhankelijk van het type tabel dat wordt berekend. Zowel gerealiseerde weergaven als streamingtabellen kunnen worden bijgewerkt in beide pijplijnmodus.
Als u wilt wisselen tussen geactiveerd en doorlopend, gebruikt u de optie Pijplijnmodus in de pijplijninstellingen tijdens het maken of bewerken van een pijplijn. Zie Een Delta Live Tables-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 de geactiveerde modus gebruikt, stopt het systeem na het vernieuwen van alle tabellen of geselecteerde tabellen, zodat elke tabel in de update wordt vernieuwd op basis van de gegevens die beschikbaar zijn wanneer de update wordt gestart.
Wat is de continue pijplijnmodus?
Als de pijplijn gebruikmaakt van continue uitvoering, verwerkt Delta Live Tables nieuwe gegevens wanneer deze binnenkomen 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 gegevenspijplijnmodi kiezen
In de volgende tabel ziet u de verschillen tussen geactiveerde en continue pijplijnmodi:
Belangrijke vragen | Geactiveerd | Continu |
---|---|---|
Wanneer stopt de update? | Automatisch 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. |
Geactiveerde pijplijnen kunnen het resourceverbruik en de kosten verminderen omdat het cluster slechts lang genoeg wordt uitgevoerd om de pijplijn bij te werken. Nieuwe gegevens worden echter pas verwerkt nadat de pijplijn is geactiveerd. Voor continue pijplijnen is een altijd uitgevoerd cluster vereist. Dit is duurder, maar vermindert 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 het pipelines.trigger.interval
triggerinterval beheren voor een stroom die een tabel of een hele pijplijn bijwerkt. Omdat een geactiveerde pijplijn elke tabel eenmaal verwerkt, wordt deze pipelines.trigger.interval
alleen gebruikt met continue pijplijnen.
Databricks raadt aan om instellingen voor afzonderlijke tabellen in te stellen pipelines.trigger.interval
, omdat streaming- en batchquery's verschillende standaardwaarden hebben. Stel de waarde alleen voor een pijplijn in wanneer voor verwerking updates voor de hele pijplijngrafiek moeten worden gecontroleerd.
U stelt pipelines.trigger.interval
een tabel in met behulp van spark_conf
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 een pijplijn wilt instellen pipelines.trigger.interval
, voegt u deze toe aan het configuration
object in de pijplijninstellingen:
{
"configuration": {
"pipelines.trigger.interval": "10 seconds"
}
}