Strukturált streamelési eseményindító időközeinek konfigurálása
Az Apache Spark strukturált streamelése növekményesen dolgozza fel az adatokat; A kötegelt feldolgozás eseményindító-időközének szabályozásával strukturált streamelést használhat számítási feladatokhoz, beleértve a közel valós idejű feldolgozást, az adatbázisok 5 percenkénti vagy óránkénti frissítését, vagy az összes új adat kötegelt feldolgozását egy napra vagy hétre.
Mivel a Databricks Auto Loader strukturált streamelést használ az adatok betöltéséhez, a triggerek működésének megértése biztosítja a legnagyobb rugalmasságot a költségek szabályozásához, miközben a kívánt gyakorisággal tölti be az adatokat.
Időalapú triggerintervallumok megadása
A strukturált streamelés az időalapú triggerintervallumokat "rögzített időközű mikrokötegekként" jelöli.
processingTime
A kulcsszó használatával adjon meg egy időtartamot sztringként, például.trigger(processingTime='10 seconds')
.
Ha túl kicsi (több tíz másodpercnél rövidebb) időközt trigger
ad meg, a rendszer szükségtelen ellenőrzéseket végezhet annak ellenőrzésére, hogy új adatok érkeznek-e. Konfigurálja a feldolgozási időt a késési követelmények és a forrásba érkező adatok sebességének kiegyenlítésére.
Növekményes kötegelt feldolgozás konfigurálása
Fontos
A Databricks Runtime 11.3 LTS-ben és újabb verziókban a Trigger.Once
beállítás elavult. A Databricks azt ajánlja, hogy minden növekményes kötegfeldolgozási munkafolyamathoz használd a Trigger.AvailableNow
-t.
A jelenleg elérhető eseményindító beállítás növekményes kötegként használja fel az összes rendelkezésre álló rekordot, és konfigurálhatja a köteg méretét olyan beállításokkal, mint maxBytesPerTrigger
például (a méretezési beállítások adatforrásonként eltérőek).
Az Azure Databricks támogatja a Trigger.AvailableNow
használatát számos strukturált streamforrásból történő növekményes kötegelt feldolgozáshoz. Az alábbi táblázat tartalmazza az egyes adatforrásokhoz szükséges minimálisan támogatott Databricks Runtime-verziót:
Forrás | A Databricks runtime minimális verziója |
---|---|
Fájlforrások (JSON, Parquet stb.) | 9.1 LTS |
Delta Lake | 10.4 LTS |
Automatikus betöltő | 10.4 LTS |
Apache Kafka | 10.4 LTS |
Kinézis | 13,1 |
Mi az alapértelmezett triggerintervallum?
A strukturált streamelés alapértelmezés szerint rögzített időközű, 500 ms-et tartalmazó mikro kötegekre van beállítva. A Databricks azt javasolja, hogy mindig adjon meg egy testre szabott trigger
-t a költségek minimalizálása érdekében, amelyek az új adatok érkezésének ellenőrzésével és az alulméretezett kötegek feldolgozásával kapcsolatosak.
Az eseményindítók futások közötti időközeinek módosítása
Ugyanazzal az ellenőrzőponttal módosíthatja a futtatások közötti eseményindító-időközt.
Ha egy strukturált streamelési feladat leáll egy mikroköteg feldolgozása közben, a mikro kötegnek be kell fejeződnie az új eseményindító-időköz alkalmazása előtt. Ebben az esetben megfigyelhet egy mikro-csomag feldolgozást a korábban megadott beállításokkal az indítási időköz módosítása után.
Az időalapú intervallumról a használatra AvailableNow
való áttérés esetén ez mikroköteg-feldolgozást eredményezhet az összes elérhető rekord növekményes kötegként való feldolgozása előtt.
Ha időalapú intervallumra vált AvailableNow
, az azt eredményezheti, hogy az utolsó AvailableNow
feladat aktiválásakor elérhető összes rekord feldolgozása folytatódik. Ez az elvárt működés.
Feljegyzés
Ha növekményes köteghez társított lekérdezési hibákból próbál helyreállni, az eseményindító időközének módosítása nem oldja meg ezt a problémát, mert a köteget még be kell fejezni. A Databricks azt javasolja, hogy a probléma megoldásához a köteg feldolgozásához használt számítási kapacitást skálázzák fel. Ritkán előfordulhat, hogy újra kell indítania a streamet egy új ellenőrzőponttal.
Mi a folyamatos feldolgozási mód?
Az Apache Spark támogatja a folyamatos feldolgozásnak nevezett további triggerintervallumot. Ez a mód a Spark 2.3 óta kísérletiként van besorolva; forduljon az Azure Databricks-fiók csapatához, hogy biztosan tisztában legyen a feldolgozási modell kompromisszumaival.
Vegye figyelembe, hogy ez a folyamatos feldolgozási mód egyáltalán nem kapcsolódik a DLT-ben alkalmazott folyamatos feldolgozáshoz.