Megosztás a következőn keresztül:


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"
  }
}