Čo je autotune pre konfigurácie Apache Spark v službe Fabric?
Služba Autotune automaticky upraví konfiguráciu služby Apache Spark s cieľom urýchlenia vykonávania vyťaženia a optimalizácie celkového výkonu. Služba Autotune šetrí čas a prostriedky v porovnaní s manuálnym ladením, čo vyžaduje rozsiahle úsilie, prostriedky, čas a experimentovanie. Služba Autotune používa historické údaje o spúšťaní zo svojich vyťažení na iteratívne zisťovanie a použitie najúčinnejších konfigurácií pre konkrétne vyťaženie.
Poznámka
Funkcia ladenia dotazov služby Autotune v službe Microsoft Fabric je momentálne vo verzii Preview. Služba Autotune je k dispozícii vo všetkých oblastiach produkcie, ale predvolene je zakázaná. Môžete ju aktivovať prostredníctvom nastavenia konfigurácie spark v prostredí alebo v rámci jednej relácie zahrnutím príslušných nastavení služby Spark do poznámkového bloku Spark alebo kódu definície úlohy služby Spark.
Ladenie dotazu
Služba Autotune nakonfiguruje tri nastavenia Apache Spark pre každý z dotazov samostatne:
spark.sql.shuffle.partitions
– nastaví počet oblastí pre obmedzovanie údajov počas spojení alebo agregácií. Predvolená hodnota je 200.spark.sql.autoBroadcastJoinThreshold
– nastaví maximálnu veľkosť tabuľky v bajtoch, ktoré sa vysielaujú na všetky uzly pracovníkov pri spustení operácie spojenia. Predvolená hodnota je 10 MB.spark.sql.files.maxPartitionBytes
– definuje maximálny počet bajtov, ktoré sa majú zbaliť do jednej oblasti pri čítaní súborov. Funguje pre zdroje súborov Parquet, JSON a ORC. Predvolená hodnota je 128 MB.
Prepitné
Vyladenie dotazov služby Autotune preskúma jednotlivé dotazy a vytvorí odlišný model strojového učenia pre každý dotaz. Zameriava sa konkrétne na:
- Opakujúce sa dotazy
- Dlho spracúvané dotazy (tie, ktorých spustenie je viac ako 15 sekúnd)
- Dotazy apache Spark SQL API (s výnimkou dotazov zapísaných v rozhraní RDD API, ktoré sú veľmi zriedkavé), ale optimalizujeme všetky dotazy bez ohľadu na jazyk (Scala, PySpark, R, Spark SQL)
Táto funkcia je kompatibilná s notebookmi, definíciami úloh Apache Spark a kanálmi. Výhody sa líšia v závislosti od zložitosti dotazu, použitých metód a štruktúry. Rozsiahle testovanie ukázalo, že najväčšie výhody majú dotazy súvisiace so prieskumnými analýzami údajov, ako je napríklad čítanie údajov, spúšťanie spojení, agregácií a zoraďovanie.
Intuícia založená na umelej inteligencii v službe Autotune
Funkcia autotune využíva iteračný proces na optimalizáciu výkonu dotazov. Začína predvolenou konfiguráciou a využíva model strojového učenia na vyhodnotenie efektivity. Keď používateľ odošle dotaz, systém načíta uložené modely na základe predchádzajúcich interakcií. Generuje potenciálne konfigurácie okolo predvoleného nastavenia s názvom centroid. Použije sa najlepší kandidát predpovedaný modelom. Po spustení dotazu sa údaje o výkone odošlú späť do systému na spresnenie modelu.
Spätná väzba slučka postupne posunie centroid na optimálne nastavenie. Umožňuje spresniť výkon v priebehu času a zároveň minimalizovať riziko regresie. Priebežné aktualizácie založené na používateľských dotazoch umožňujú spresniť porovnávacie štandardy výkonu. Okrem toho proces aktualizuje konfigurácie centroidov , aby sa zabezpečilo, že model sa posunie smerom k efektívnejšiemu nastavenia postupne. Dosahuje sa to vyhodnotením minulých výkonov a ich použitím na usmernenie budúcich úprav. Používa všetky údajové body na zmiernenie vplyvu anomálií.
Z pohľadu zodpovednej umelej inteligencie obsahuje funkcia Autotune mechanizmy transparentnosti, ktoré sú určené na informovanie o používaní vašich údajov a ich výhodách. Zabezpečenie a ochrana osobných údajov sú v súlade s normami spoločnosti Microsoft. Priebežné monitorovanie zachováva výkon a integritu systému po spustení.
Povolenie služby Autotune
Služba Autotune je k dispozícii vo všetkých oblastiach produkcie, ale predvolene je zakázaná. Môžete ju aktivovať prostredníctvom nastavenia konfigurácie služby Spark v rámci prostredia. Ak chcete povoliť službu Autotune, vytvorte nové prostredie alebo v existujúcom prostredí nastavte vlastnosť Spark .ms.autotune.enabled = true, ako je znázornené na nasledujúcej snímke obrazovky. Toto nastavenie potom zdedia všetky poznámkové bloky a úlohy spustené v tomto prostredí a automaticky ich vyladia.
Autotune obsahuje vstavaný mechanizmus na monitorovanie výkonu a zisťovanie regresie výkonu. Ak napríklad dotaz spracuje nezvyčajne veľké množstvo údajov, služba Autotune sa automaticky deaktivuje. Na učenie sa a identifikáciu optimálnej konfigurácie zvyčajne vyžaduje 20 až 25 iterácií.
Poznámka
Autotune je kompatibilná so službami Fabric Runtime 1.1 a Runtime 1.2. Funkcia Autotune nefunguje, keď je povolený režim vysokej súbežnosti alebo keď je súkromný koncový bod povolený. Avšak, Autotune bezproblémovo integruje s automatické škálovanie, bez ohľadu na jeho konfiguráciu.
Automatickú službu Autotune môžete povoliť v rámci jednej relácie zahrnutím príslušných nastavení služby Spark do poznámkového bloku služby Spark alebo v kóde definície úloh služby Spark.
%%sql
SET spark.ms.autotune.enabled=TRUE
Službu Autotune môžete ovládať prostredníctvom nastavení Spark pre príslušné poznámkové bloky Spark alebo kód definície úlohy služby Spark. Ak chcete vypnúť službu Autotune, spustite nasledujúce príkazy ako prvú bunku (notebook) alebo riadok kódu (SJD).
%%sql
SET spark.ms.autotune.enabled=FALSE
Prípadová štúdia
Pri spustení dotazu Apache Spark vytvorí autotune prispôsobený model strojového učenia vyhradený na optimalizáciu vykonávania dotazu. Analyzuje vzory dotazov a potreby zdrojov. Zvážte počiatočné filtrovanie dotazu množiny údajov na základe konkrétneho atribútu, ako je napríklad krajina. Tento príklad používa filtrovanie podľa geografických údajov, ale princíp sa vo všeobecnosti vzťahuje na každý atribút alebo operáciu v rámci dotazu:
%%pyspark
df.filter(df.country == "country-A")
Služba Autotune sa učí z tohto dotazu a optimalizuje následné vykonanie. Keď sa dotaz zmení, napríklad zmenou hodnoty filtra alebo použitím inej transformácie údajov, štrukturálna podstata dotazu často zostáva konzistentná:
%%pyspark
df.filter(df.country == "country-B")
Napriek zmien, Autotune identifikuje základnú štruktúru nového dotazu, implementácia predtým naučené optimalizácie. Táto funkcia zabezpečí trvalú vysokú efektivitu bez toho, aby bolo potrebné manuálne znova nakonfigurovať každú novú iteráciu dotazu.
Denníky
Pre každý z dotazov určuje automatická služba autotune najoptimálnejšie nastavenia pre tri konfigurácie služby Spark. Navrhované nastavenia zobrazíte tak, že prejdete na denníky. Konfigurácie odporúčané službou autotune sa nachádzajú v denníkoch ovládačov, konkrétne v tých položkách počnúc [ Autotune].
V denníkoch môžete nájsť rôzne typy položiek. Patria sem tie kľúčové:
Postavenie | Description |
---|---|
AUTOTUNE_DISABLED | Preskočí. Služba Autotune je zakázaná, zabránenie načítaniu telemetrických údajov a optimalizácii dotazov, Zapnite službu Autotune tak, aby plne využívala svoje možnosti a zároveň rešpektovala súkromie zákazníkov. |
QUERY_TUNING_DISABLED | Preskočí. Ladenie dotazov služby Autotune je zakázané. Povoľte ju vyladiť nastavenia pre dotazy Spark SQL. |
QUERY_PATTERN_NOT_MATCH | Preskočí. Vzor dotazu sa nezhoduje. Služba Autotune je účinná pre dotazy iba na čítanie. |
QUERY_DURATION_TOO_SHORT | Preskočí. Trvanie dotazu príliš krátke na optimalizáciu. Na efektívne ladenie vyžaduje Automatické ladenie dlhšie dotazy. Dotazy by sa mali spustiť aspoň 15 sekúnd. |
QUERY_TUNING_SUCCEED | Úspešné. Ladenie dotazov bolo dokončené. Použili sa optimálne nastavenia iskru. |
Poznámka k priehľadnosti
Pri dodržiavaní štandardu zodpovednej umelej inteligencie sa táto časť zameriava na objasnenie používania a validácie funkcie autotune, podporu transparentnosti a umožnenie informovaného rozhodovania.
Účel služby Autotune
Služba Autotune je vyvinutá s cieľom zvýšiť efektivitu vyťaženia Apache Spark, a to predovšetkým pre profesionálov v oblasti údajov. Medzi jej kľúčové funkcie patria:
- Automatizácia konfiguračného ladenia Apache Spark na skrátenie časov spustenia.
- Minimalizácia manuálneho ladenia úsilia.
- Využitie historických údajov vyťaženia na opakované spresnenie konfigurácií.
Overenie služby Autotune
Spoločnosť Autotune prešla rozsiahlym testovaním, aby sa zaistila jeho účinnosť a bezpečnosť:
- Prísne testy s rôznorodými vyťaženiami Spark na overenie účinnosti algoritmu.
- Benchmarking oproti štandardným metódam optimalizácie služby Spark na znázornenie výhod výkonu.
- Prípadové štúdie v reálnom svete zvýrazňujúce praktickú hodnotu autotune.
- Dodržiavanie prísnych noriem zabezpečenia a ochrany osobných údajov na ochranu používateľských údajov.
Používateľské údaje sa používajú výlučne na zvýšenie výkonu vyťaženia prostredníctvom robustnej ochrany, aby sa zabránilo zneužitiu alebo vystaveniu citlivých informácií.