Aktivált és folyamatos folyamat mód
Ez a cikk a DLT aktivált és folyamatos folyamatmódjainak működési szemantikáját ismerteti.
A csővezeték üzemmód független a kiszámított tábla típusától. A materializált nézetek és a streamelési táblák mindkét folyamat módban frissíthetők.
Az aktivált és a folyamatos közötti váltáshoz használja a Folyamat mód beállítást a folyamat beállításai között a folyamat létrehozásakor vagy szerkesztésekor. Lásd: DLT-folyamat konfigurálása.
Jegyzet
A Databricks SQL-ben definiált materializált nézetek és streamtáblák frissítési műveletei mindig aktivált folyamat módban futnak.
Mi az aktivált folyamat mód?
Ha a folyamat aktivált módot használ, a rendszer az összes tábla vagy kijelölt tábla sikeres frissítése után leáll, biztosítva, hogy a frissítés minden táblája a frissítés indításakor elérhető adatok alapján frissüljön.
Mi a folyamatos folyamat mód?
Ha a folyamat folyamatos végrehajtást használ, a DLT új adatokat dolgoz fel az adatforrásokbe érkezve, hogy a táblák naprakészek maradjanak a folyamat egészében.
A folyamatos végrehajtási módban történő szükségtelen feldolgozás elkerülése érdekében a folyamatok automatikusan figyelik a függő Delta-táblákat, és csak akkor hajtanak végre frissítést, ha a függő táblák tartalma módosult.
Adatfolyam-mód kiválasztása
Az alábbi táblázat az aktivált és a folyamatos folyamat mód közötti különbségeket emeli ki:
Főbb kérdések | Aktivált | Folyamatos |
---|---|---|
Mikor áll le a frissítés? | Automatikusan, amint elkészült. | A manuális leállításig folyamatosan fut. |
Milyen adatokat dolgoznak fel? | A frissítés indításakor elérhető adatok. | Minden adat a konfigurált forrásokhoz beérkezik. |
Milyen adatfrissítési követelményeknek felel meg ez a legjobban? | Az adatfrissítések 10 percenként, óránként vagy naponta futnak. | Az adatfrissítések 10 másodpercenként és néhány percenként szükségesek. |
Az aktivált folyamatok csökkenthetik az erőforrás-felhasználást és a költségeket, mivel a fürt csak elég ideig fut a folyamat frissítéséhez. Az új adatok azonban csak a folyamat aktiválása után lesznek feldolgozva. A folyamatos működésű csővezetékekhez mindig működő kiszolgáló-fürt szükséges, amely drágább, de csökkenti a feldolgozási késést.
Eseményindító időközének beállítása folyamatos folyamatokhoz
A folyamatok folyamatos üzemmódra való konfigurálásakor beállíthatja az eseményindító időközeit, hogy szabályozhassa, hogy a folyamat milyen gyakran indítja el a frissítést az egyes folyamatokhoz.
A pipelines.trigger.interval
használatával szabályozhatja egy tábla vagy egy teljes folyamat folyamatfrissítésének eseményindító időközét. Mivel egy aktivált folyamat egyszer dolgozza fel az egyes táblákat, a pipelines.trigger.interval
csak folyamatos folyamatokkal használják.
A Databricks azt javasolja, hogy az pipelines.trigger.interval
értéket egyenként állítsa be a táblákra, mert a streamelési és kötegelt lekérdezések eltérő alapértelmezett értékekkel rendelkeznek. Csak akkor állítsa be a folyamat értékét, ha a feldolgozáshoz a teljes folyamatdiagram frissítéseinek szabályozása szükséges.
A pipelines.trigger.interval
táblán való beállításához használja a Python spark_conf
vagy az SQL SET
parancsot.
@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 ...
Ha pipelines.trigger.interval
szeretne beállítani egy folyamaton, adja hozzá a configuration
objektumhoz a folyamat beállításai között:
{
"configuration": {
"pipelines.trigger.interval": "10 seconds"
}
}