Megosztás a következőn keresztül:


Mi az Autotune az Apache Spark-konfigurációkhoz a Fabricben?

Az Autotune automatikusan módosítja az Apache Spark konfigurációját a számítási feladatok végrehajtásának felgyorsítása és az általános teljesítmény optimalizálása érdekében. Az Autotune időt és erőforrásokat takarít meg a manuális hangoláshoz képest, ami nagy erőfeszítést, erőforrásokat, időt és kísérletezést igényel. Az Autotune a számítási feladatok előzmény végrehajtási adatait felhasználva iteratív módon felderíti és alkalmazza egy adott számítási feladat leghatékonyabb konfigurációit.

Feljegyzés

A Microsoft Fabric automatikus lekérdezéshangolási funkciója jelenleg előzetes verzióban érhető el.

Lekérdezés finomhangolása

Az Autotune három Spark-beállítást konfigurál mindegyik lekérdezéshez külön-külön:

  • spark.sql.shuffle.partitions – Beállítja a partíciók számát az adatösszesítésekhez az illesztések vagy az összesítések során. Az alapértelmezett érték 200.
  • spark.sql.autoBroadcastJoinThreshold – Beállítja a maximális táblaméretet bájtban, amelyet a rendszer az összes feldolgozó csomópontnak továbbít az illesztési művelet végrehajtásakor. Az alapértelmezett érték 10 MB.
  • spark.sql.files.maxPartitionBytes – Meghatározza, hogy a fájlok olvasása során hány bájtot kell egyetlen partícióba csomagolni. Parquet-, JSON- és ORC-fájlalapú forrásokhoz használható. Az alapértelmezett érték 128 MB.

Tipp.

Az Autotune lekérdezéshangolása megvizsgálja az egyes lekérdezéseket, és minden lekérdezéshez külön ML-modellt hoz létre. Kifejezetten a következő célokat célozza:

  • Ismétlődő lekérdezések
  • Hosszú ideig futó lekérdezések (azok, amelyek 15 másodpercnél hosszabb végrehajtást hajtanak végre)
  • Spark SQL API-lekérdezések (kivéve az RDD API-ban írt lekérdezéseket, amelyek nagyon ritkán fordulnak elő), de nyelvtől függetlenül optimalizáljuk az összes lekérdezést (Scala, PySpark, R, Spark SQL)

Ez a funkció kompatibilis a jegyzetfüzetekkel, a Spark-feladatdefiníciókkal és a folyamatokkal. Az előnyök a lekérdezés összetettsége, a használt módszerek és a struktúra alapján változnak. A széles körű tesztelés azt mutatja, hogy a legnagyobb előnyöket a feltáró adatelemzéshez kapcsolódó lekérdezések – például az adatok olvasása, az illesztések futtatása, az összesítések és a rendezés – valósítják meg.

Képernyőkép a végrehajtási időről az Autotune Enabled funkcióval.

AI-alapú intuíció az Autotune mögött

Az Autotune szolgáltatás egy iteratív folyamatot használ a lekérdezési teljesítmény optimalizálásához. Az alapértelmezett konfigurációval kezdődik, és egy gépi tanulási modellt alkalmaz a hatékonyság értékeléséhez. Amikor egy felhasználó elküld egy lekérdezést, a rendszer lekéri a tárolt modelleket az előző interakciók alapján. Lehetséges konfigurációkat generál egy centroid nevű alapértelmezett beállítás körül. A modell által előrejelzett legjobb jelöltet alkalmazza a rendszer. A lekérdezés végrehajtása után a rendszer visszaküldi a teljesítményadatokat a rendszernek a modell finomítása érdekében.

A visszajelzési ciklus fokozatosan eltolja a centroidot az optimális beállítások felé. Idővel finomítja a teljesítményt, miközben minimalizálja a regresszió kockázatát. A felhasználói lekérdezéseken alapuló folyamatos frissítések lehetővé teszik a teljesítménymutatók finomítását. A folyamat emellett frissíti a centroid konfigurációkat, hogy a modell fokozatosan haladjon a hatékonyabb beállítások felé. Ez a múltbeli teljesítmények kiértékelésével és a jövőbeli kiigazítások irányításával érhető el. Az összes adatpontot felhasználja az anomáliák hatásának csökkentésére.

Az Autotune felelősségteljes AI-szempontból olyan átláthatósági mechanizmusokat tartalmaz, amelyek célja, hogy folyamatosan értesüljön az adathasználatról és az előnyökről. A biztonság és az adatvédelem összhangban van a Microsoft szabványaival. A folyamatos monitorozás az indítás után is fenntartja a teljesítményt és a rendszer integritását.

Autotune engedélyezése

Az Autotune minden éles régióban elérhető, de alapértelmezés szerint le van tiltva. A spark-konfigurációs beállítással aktiválhatja a környezetben. Az Autotune engedélyezéséhez hozzon létre egy új környezetet, vagy a meglévő környezethez állítsa be a Spark "spark.ms.autotune.enabled = true" tulajdonságát az alábbi képernyőképen látható módon. Ezt a beállítást ezután az adott környezetben futó összes jegyzetfüzet és feladat örökli, és automatikusan finomhangolja őket.

Képernyőkép az autotune engedélyezéséről.

Az Autotune beépített mechanizmussal figyeli a teljesítményt és észleli a teljesítményregressziókat. Ha például egy lekérdezés szokatlanul nagy mennyiségű adatot dolgoz fel, az Autotune automatikusan inaktiválja. Az optimális konfiguráció megismeréséhez és azonosításához általában 20–25 iteráció szükséges.

Feljegyzés

Az Autotune kompatibilis a Fabric Runtime 1.1 és a Runtime 1.2 verzióval. Az Autotune nem működik, ha a magas egyidejűségi mód vagy a privát végpont engedélyezve van. Az Autotune azonban konfigurációtól függetlenül zökkenőmentesen integrálható az automatikus skálázással.

Az Autotune a Spark Gépház keresztül vezérelhető a megfelelő Spark-jegyzetfüzethez vagy Spark-feladatdefiníciós kódhoz. Az Autotune letiltásához hajtsa végre a következő parancsokat a kód (SJD) első cellája (jegyzetfüzete) vagy soraként.

%%sql 
SET spark.ms.autotune.enabled=FALSE 

Esettanulmány

Spark-lekérdezések végrehajtásakor az Autotune létrehoz egy testreszabott ml-modellt, amely a lekérdezés végrehajtásának optimalizálására van kialakítva. Elemzi a lekérdezési mintákat és az erőforrásigényeket. Fontolja meg egy kezdeti lekérdezést, amely egy adott attribútum, például egy ország alapján szűri az adathalmazt. Bár ez a példa földrajzi szűrést használ, az alapelv általánosan érvényes a lekérdezésen belüli bármely attribútumra vagy műveletre:

%%pyspark
df.filter(df.country == "country-A")

Az Autotune ebből a lekérdezésből tanul, és optimalizálja a későbbi végrehajtásokat. Amikor a lekérdezés megváltozik, például a szűrőérték módosításával vagy egy másik adatátalakítás alkalmazásával, a lekérdezés szerkezeti lényege gyakran konzisztens marad:

%%pyspark
df.filter(df.country == "country-B")

A módosítások ellenére az Autotune azonosítja az új lekérdezés alapvető struktúráját, és implementálja a korábban tanult optimalizálásokat. Ez a képesség tartósan magas hatékonyságot biztosít anélkül, hogy minden új lekérdezési iterációhoz manuális újrakonfigurálásra lenne szükség.

Naplók

Az autotune minden lekérdezéshez meghatározza a három Spark-konfiguráció legoptimálisabb beállításait. A javasolt beállításokat a naplókra való navigálással tekintheti meg. Az autotune által javasolt konfigurációk az illesztőprogram-naplókban találhatók, különösen az [Autotune] kezdetű bejegyzésekben.

Képernyőkép az autotune-naplókról a Monitoring Hubon.

A naplókban különböző típusú bejegyzések találhatók. A legfontosabbak a következők:

Állapot Leírás
AUTOTUNE_DISABLED Kimarad. Az Autotune le van tiltva; a telemetriai adatok lekérésének és a lekérdezésoptimalizálásnak a megakadályozása. Engedélyezze az Autotune-nak, hogy teljes mértékben kihasználja képességeit az ügyfelek adatainak tiszteletben tartása mellett."
QUERY_TUNING_DISABLED Kimarad. Az Autotune lekérdezéshangolása le van tiltva. Lehetővé teszi a Spark SQL-lekérdezések beállításainak finomhangolását.
QUERY_PATTERN_NOT_MATCH Kimarad. A lekérdezési minta nem egyezett. Az Autotune írásvédett lekérdezések esetén is hatékony.
QUERY_DURATION_TOO_SHORT Kimarad. A lekérdezés időtartama túl rövid az optimalizálásához. Az Autotune-nak hosszabb lekérdezésekre van szüksége a hatékony hangoláshoz. A lekérdezések legalább 15 másodpercig futnak.
QUERY_TUNING_SUCC Enterprise kiadás D Sikeres. A lekérdezés finomhangolása befejeződött. Optimális értékgörbét alkalmazó beállítások.

Áttetszőségi megjegyzés

A Felelős AI Szabványnak megfelelően ez a szakasz az Autotune szolgáltatás felhasználási és érvényesítési funkcióinak tisztázására, az átláthatóság előmozdítására és a megalapozott döntéshozatal engedélyezésére irányul.

Az Autotune célja

Az Autotune-t az Apache Spark számítási feladatok hatékonyságának növelésére fejlesztették ki, elsősorban adatszakértők számára. Fő funkciói a következők:

  • Az Apache Spark konfigurációhangolásának automatizálása a végrehajtási idő csökkentése érdekében.
  • A manuális finomhangolási erőfeszítések minimalizálása.
  • Korábbi számítási feladatok adatainak használata a konfigurációk iteratív finomításához.

Az Autotune érvényesítése

Az Autotune átfogó tesztelésen esett át annak hatékonysága és biztonsága érdekében:

  • Szigorú tesztek különböző Spark-számítási feladatokkal a finomhangolási algoritmus hatékonyságának ellenőrzéséhez.
  • Teljesítményelőnyök bemutatása a standard Spark-optimalizálási módszerekkel.
  • Az Autotune gyakorlati értékét kiemelő valós esettanulmányok.
  • Szigorú biztonsági és adatvédelmi szabványok betartása a felhasználói adatok védelme érdekében.

A felhasználói adatok kizárólag a számítási feladatok teljesítményének javítására szolgálnak, és robusztus védelemmel védik a bizalmas adatokkal való visszaélést vagy expozíciót.