Zdieľať cez


Č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.

Ladenie dotazu

Služba Autotune nakonfiguruje tri nastavenia 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.

Tip

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 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 poznámkovými blokmi, definíciami úloh služby 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 napríklad čítanie údajov, spúšťanie spojení, agregácií a zoraďovanie.

Snímka obrazovky znázorňujúca čas spustenia s povolenou službou autotune.

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.

Snímka obrazovky znázorňujúca povolenie služby Autotune.

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.

Službu Autotune môžete ovládať prostredníctvom služby Spark Nastavenia pre príslušné poznámkové bloky Spark alebo kód definície úloh 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 Spark vytvorí automatické generovanie prispôsobeného modelu strojového učenia vyhradeného 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].

Snímka obrazovky znázorňujúca denníky služby Autotune v centre monitoringu.

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í.