Strukturált streamelési köteg méretének konfigurálása az Azure Databricksben

Ez a lap bemutatja, hogyan használhatja a belépési vezérlőket a streamelési lekérdezések konzisztens kötegméretének fenntartásához.

A bevezetési vezérlők korlátozzák a strukturált streamelési lekérdezések bemeneti sebességét, ami segíthet fenntartani a köteg egységes méretét, és megakadályozhatja, hogy a nagy kötegek kiömlést és kaszkádolt mikroköteg-feldolgozási késéseket okozzanak.

Az Azure Databricks ugyanazokat a lehetőségeket kínálja a strukturált streamelési kötegméretek szabályozására a Delta Lake és az Automatikus betöltő esetében is.

Megjegyzés

A hozzáférés-vezérlési beállításokat úgy módosíthatja, hogy nem állítja be a streamelési lekérdezés ellenőrzőpontját. Lásd: Helyreállítás a strukturált streamelési lekérdezés változásai után.

A hozzáférés-vezérlési beállítások módosítása a köteg méretének növelése vagy csökkentése céljából hatással van a teljesítményre. A számítási feladatok optimalizálásához szükség lehet a számítási konfigurációk módosítására.

Figyelmeztetés

Ha a stream leállásakor mikrobatchet terveznek, a belépési vezérlők módosítása csak a tervezett mikrobatch befejezése után lép érvénybe. Ha például egy stream leáll egy sikertelen tranzakció után, előfordulhat, hogy törölnie kell az ellenőrzőpontot, hogy kényszerítse a streamet a tranzakció újrafeldolgozására az új belépési vezérlőkkel. Ez a viselkedés azért fordul elő, mert a strukturált streamelés idempotens, és a mikrobáknak ugyanazokat az adatokat kell tartalmazniuk az ismétlődő végrehajtásokhoz. Lásd: Strukturált streamelés szemantikája.

Bemeneti sebesség korlátozása a maxFilesPerTriggerrel

Az maxFilesPerTrigger (vagy az automatikus betöltőhöz cloudFiles.maxFilesPerTrigger) beállítás az egyes mikro kötegekben feldolgozott fájlok számának felső határát adja meg. A Delta Lake és az Automatikus betöltő esetében az alapértelmezett érték 1000. (Vegye figyelembe, hogy ez a beállítás más fájlforrások esetében is megtalálható az Apache Sparkban, ahol alapértelmezés szerint nincs maximális érték.)

Bemeneti sebesség korlátozása a maxBytesPerTriggerrel

Az maxBytesPerTrigger (vagy az automatikus betöltőhöz cloudFiles.maxBytesPerTrigger) beállítás "soft max" értéket állít be az egyes mikro kötegekben feldolgozott adatok mennyiségéhez. Ez azt jelenti, hogy egy köteg körülbelül ennyi adatot dolgoz fel, és a korlátnál többet is feldolgozhat annak érdekében, hogy a streamlekérdezés előrehaladjon olyan esetekben, amikor a legkisebb bemeneti egység nagyobb ennél a korlátnál. Ehhez a beállításhoz nincs alapértelmezett beállítás.

Ha például egy bájtsztringet ad meg, például 10g, hogy az egyes mikrobatcheket 10 GB-ra korlátozza, és 3 GB-os fájlokkal rendelkezik, az Azure Databricks 12 GB-ot dolgoz fel egy mikrobatchben.

Több bemeneti sebesség együttes beállítása

Ha a maxBytesPerTrigger-t a maxFilesPerTrigger-gyel együtt használja, a mikrobatch addig dolgozza fel az adatokat, amíg el nem éri a maxFilesPerTrigger vagy a maxBytesPerTriggeralsó korlátját.

Más strukturált streamelési források bemeneti sebességének korlátozása

Az olyan streamelési források, mint az Apache Kafka, egyéni bemeneti korlátokkal rendelkeznek, például maxOffsetsPerTrigger. További részletekért lásd: Standard összekötők a Lakeflow Connectben.