Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Autotune upravuje konfigurace Apache Spark tak, aby zkrátilo dobu provádění pracovních úloh a zlepšilo výkon. Pomáhá vyhnout se ručnímu ladění, což obvykle vyžaduje opakované pokusy a chyby. Automatické ladění používá historická výkonová data z vašich úloh k iterativnímu zjišťování a aplikaci efektivních nastavení pro každou úlohu.
Poznámka:
Automatické ladění dotazů v Microsoft Fabric je aktuálně ve verzi preview. Je dostupná ve všech produkčních oblastech, ale ve výchozím nastavení je zakázaná. Povolte ji v konfiguraci prostředí Spark nebo pro jednu relaci v notebooku nebo v kódu definice úlohy Sparku.
Výchozí hodnoty konfigurace a požadavky
- Výchozí chování: Automatické ladění je ve výchozím nastavení vypnuté .
- Není potřebné žádné nastavení, když je vypnuto: Pokud automatické ladění nepovolíte, Spark použije své standardní konfigurační chování.
-
Požadované nastavení pro použití automatického ladění: Nastavte
spark.ms.autotune.enabled=true:- Na úrovni prostředí zdědí toto nastavení všechny poznámkové bloky a úlohy, které dané prostředí používají. Viz Povolení automatického ladění.
- Pouze v jednom poznámkovém bloku nebo v relaci Definice úlohy Spark. Viz Povolení automatického ladění pro jednu relaci.
Ladění dotazů
Autotune ladí tato tři nastavení Apache Spark pro každý dotaz.
-
spark.sql.shuffle.partitions: Nastaví počet partic pro přeskupování dat během spojení nebo agregací. Výchozí hodnota je200. -
spark.sql.autoBroadcastJoinThreshold: Nastaví maximální velikost tabulky v bajtech tak, aby se během spojení vysílala do pracovních uzlů. Výchozí hodnota je10 MB. -
spark.sql.files.maxPartitionBytes: Nastaví maximální počet bajtů, které se mají při čtení souborů zabalit do jednoho oddílu. Platí pro zdroje souborů Parquet, JSON a ORC. Výchozí hodnota je128 MB.
Ladění dotazů pomocí Autotune prozkoumává každý dotaz a vytváří pro něj samostatný model strojového učení. Funguje nejlépe pro:
- Opakované dotazy
- Dlouhotrvající dotazy (více než 15 sekund)
- Dotazy rozhraní SQL API Apache Sparku (ne rozhraní RDD API)
Můžete použít automatické ladění pro poznámkové bloky, definice úloh pro Spark a moduly. Výhody se liší podle složitosti dotazů a tvaru dat. Při testování se největší zisky objevují ve vzorech průzkumné analýzy dat, jako jsou čtení, spojení, agregace a řazení.
Jak funguje autotune
Automatické ladění používá smyčku iterativní optimalizace:
- Začněte od výchozích hodnot konfigurace Sparku.
- Generovat kandidátské konfigurace kolem základny (centroid).
- Predikce nejlepšího kandidáta pomocí modelu natrénovaného na předchozích spuštěních
- Aplikujte kandidáta a spusťte dotaz.
- Výsledky spuštění zadejte zpět do modelu.
V průběhu času se základní úroveň posune k lepšímu nastavení, což zároveň snižuje riziko zpětného vývoje. Použití všech shromážděných dat také pomáhá snížit vliv anomálií.
Povolení automatického ladění
Automatické ladění je dostupné ve všech produkčních oblastech, ale ve výchozím nastavení je zakázané. Pokud ji chcete povolit na úrovni prostředí, nastavte vlastnost spark.ms.autotune.enabled=true Spark v novém nebo existujícím prostředí. Všechny poznámkové bloky a úlohy, které používají toto prostředí, dědí nastavení.
Automatické ladění zahrnuje integrovanou regresní detekci. Pokud například dotaz zpracuje neobvykle velké množství dat, může automatické ladění pro toto spuštění přeskočit. V mnoha případech potřebuje autotune přibližně 20 až 25 iterací, aby se sblížil ke stabilním nastavením.
Poznámka:
Autotune je kompatibilní s modulem Runtime 1.2. Nemůžete ho povolit ve verzích runtime novějších než 1.2. Nespustí se, když je povolený režim vysoké souběžnosti nebo privátní koncový bod . Autotune funguje s automatickým škálováním v jakékoli konfiguraci.
Automatické ladění můžete také povolit pro jednu relaci nastavením vlastnosti Spark ve vašem poznámkovém bloku nebo v definici úlohy Spark.
Povolte automatické ladění pro jednu relaci
%%sql
SET spark.ms.autotune.enabled=TRUE
Zakázání automatického ladění pro jednu relaci
Pokud chcete zakázat automatické ladění v poznámkovém bloku nebo definici úlohy Sparku, spusťte jeden z následujících příkazů jako první buňku nebo první řádek kódu.
%%sql
SET spark.ms.autotune.enabled=FALSE
Případová studie
Když spustíte dotaz Apache Spark, autotune sestaví model pro tento tvar dotazu a v průběhu času se naučí nejlepší nastavení. Začněte například tímto dotazem filtru:
%%pyspark
df.filter(df.country == "country-A")
Automatické ladění se učí z tohoto běhu. Pokud později změníte pouze hodnotu filtru, zůstane obrazec dotazu podobný:
%%pyspark
df.filter(df.country == "country-B")
Autotune může opětovně využívat dřívější poznatky pro tento podobný dotazový vzor, což pomáhá udržovat výkon bez ručního přeladění.
Záznamy
Pro každý dotaz automatické ladění vypočítá doporučené hodnoty pro tři podporované konfigurace Sparku. Pokud chcete zkontrolovat doporučení, zkontrolujte protokoly ovladačů u položek, které začínají funkcí [Autotune].
Mezi běžné stavy protokolu patří:
| Stav | Popis |
|---|---|
AUTOTUNE_DISABLED |
Přeskočeno Autotune je zakázáno, takže se sběr a optimalizace telemetrie neaplikuje. |
QUERY_TUNING_DISABLED |
Přeskočeno Ladění dotazů je zakázané. |
QUERY_PATTERN_NOT_MATCH |
Přeskočeno Vzor dotazu neodpovídá podporovaným typům dotazů jen pro čtení. |
QUERY_DURATION_TOO_SHORT |
Přeskočeno Dotaz probíhal po dobu méně než 15 sekund, což je příliš krátká doba pro efektivní ladění. |
QUERY_TUNING_SUCCEED |
Úspěch. Optimalizace dotazů byla dokončena a byla aplikována optimalizovaná nastavení Spark. |
Poznámka k průhlednosti
Tato část vysvětluje, jak se používá a ověřuje autotuning v souladu se standardem Zodpovědné AI.
Účel automatického ladění
Autotune je navržený tak, aby zlepšil efektivitu úloh Apache Sparku pro odborníky na data. Ono:
- Automaticky naladí konfigurace Apache Sparku, aby se zkrátila doba provádění.
- Snižuje úsilí spojené s ručním laděním.
- Používá historická data úloh k iterativnímu upřesnění možností konfigurace.
Ověření automatického ladění
Autotune prochází rozsáhlým ověřováním, které pomáhá zajistit účinnost a bezpečnost:
- K ověření efektivity algoritmů optimalizace využívá přísné testy napříč různými úlohami Sparku.
- Srovnávací testy se standardními metodami optimalizace Sparku, které demonstrují výhody výkonu.
- Zahrnuje skutečné případové studie, které ukazují praktickou hodnotu.
- Dodržuje přísné standardy zabezpečení a ochrany osobních údajů pro ochranu uživatelských dat.
Uživatelská data se používají výhradně k vylepšení výkonu vaší úlohy s robustní ochranou, která brání zneužití nebo vystavení citlivých informací.