Sdílet prostřednictvím


Optimalizace bezstavových dotazů streamování

Tato stránka popisuje funkce optimalizace dostupné pro dotazy bezstavového streamování v Databricks Runtime 18.0 a novějších.

Bezstavové dotazy strukturovaného streamování zpracovávají data bez zachování přechodného stavu. Tyto dotazy nepoužívají stavové operátory, jako jsou agregace ve streamování nebo spojení streamů-streamů. Mezi příklady patří dotazy, které používají statické spojení datových proudů, MERGE INTO s tabulkami Delta a dalšími operacemi, které sledují pouze řádky zpracovávané ze zdroje do jímky.

Adaptivní provádění dotazů a automatizované optimalizované míchání

Azure Databricks podporuje adaptivní provádění dotazů (AQE) a automaticky optimalizované přeskupení (AOS) pro bezstavové streamovací dotazy. Tyto funkce pomáhají optimalizovat úlohy streamování, které používají statické spojení datových proudů, MERGE INTO s tabulkami Delta a podobnými operacemi.

Pokud chcete povolit AQE pro dotazy bezstavového streamování, nastavte hodnotu následující konfigurace na true. Ve výchozím nastavení je tato možnost povolená:

spark.sql.adaptive.streaming.stateless.enabled true

Pokud chcete povolit AOS pro dotazy bezstavového streamování, povolte AQE a nastavte následující konfiguraci:

spark.sql.shuffle.partitions auto

Změna počtu oddílů pro shuffle během restartu dotazu

Dotazy bezstavového streamování podporují změnu počtu oddílů náhodného prohazování při restartování dotazu. To umožňuje upravit paralelismus tak, aby se přizpůsobil různým objemům vstupních dat.

Tato funkce je zvlášť užitečná pro historické doplnění dat. Můžete například zpracovat historické doplnění dat s vyšším paralelismem a pak snížit paralelismus pro zpracování vstupů v reálném čase.

Pokud chcete změnit počet shuffle oddílů, nastavte následující konfiguraci na požadovanou hodnotu a restartujte dotaz:

spark.sql.shuffle.partitions <number>