Mikä on automaattinen apache Spark -määrityksille Fabricissa?
Autotune säätää automaattisesti Apache Spark -määritystä kuormituksen suorituksen nopeuttamiseksi ja yleisen suorituskyvyn optimoimiseksi. Autotune säästää aikaa ja resursseja verrattuna manuaaliseen säätöön, joka vaatii paljon vaivaa, resursseja, aikaa ja kokeiluja. Autotune käyttää työkuormiesi aiempia suoritustietoja, jotta se voi etsiä ja käyttää tehokkaimpia määrityksiä tietylle kuormitukselle.
Huomautus
Microsoft Fabricin automaattisen kyselyn säätötoiminto on tällä hetkellä esikatseluvaiheessa. Autotune on käytettävissä kaikilla tuotantoalueilla, mutta se on oletusarvoisesti poissa käytöstä. Voit aktivoida sen Spark-määritysasetuksen kautta ympäristössä tai yksittäisessä istunnossa sisällyttämällä vastaavan Spark-asetuksen Spark-muistikirjaasi tai Spark Job Definition -koodiin.
Kyselyn säätö
Autotune määrittää kullekin kyselylle kolme Apache Spark -asetusta erikseen:
spark.sql.shuffle.partitions
– Määrittää tietojen osioiden määrän liitosten tai koosteiden aikana. Oletusarvo on 200.spark.sql.autoBroadcastJoinThreshold
- Määrittää taulukon enimmäiskoon tavuina, jotka lähetetään kaikille työntekijäsolmuille, kun liitostoiminto suoritetaan. Oletusarvo on 10 Mt.spark.sql.files.maxPartitionBytes
– Määrittää, kuinka monta tavua voidaan enintään pakata yksittäiseen osioon tiedostoja luettaessa. Toimii Parquet-, JSON- ja ORC-tiedostopohjaisissa lähteissä. Oletusarvo on 128 Mt.
Vihje
Automaattinen kyselyn säätö tutkii yksittäisiä kyselyitä ja luo kullekin kyselylle erillisen koneoppimismallin. Se on tarkoitettu erityisesti
- Toistuvat kyselyt
- Pitkäkestoiset kyselyt (kyselyt, joiden suoritusaika on yli 15 sekuntia)
- Apache Spark SQL -ohjelmointirajapinnan kyselyt (lukuun ottamatta RDD-ohjelmointirajapinnassa kirjoitettuja kyselyitä, jotka ovat erittäin harvinaisia), mutta optimoimme kaikki kyselyt kielestä riippumatta (Scala, PySpark, R, Spark SQL)
Tämä ominaisuus on yhteensopiva muistikirjojen, Apache Spark -työmääritysten ja putkien kanssa. Edut vaihtelevat kyselyn monimutkaisuuden, käytettyjen menetelmien ja rakenteen mukaan. Laaja testaus on osoittanut, että suurimmat edut toteutuvat kyselyillä, jotka liittyvät valmistelevaan tietoanalyysiin, kuten tietojen lukemiseen, liitosten suorittamiseen, koosteisiin ja lajitteluun.
Tekoälypohjainen intuitio Autotunen takana
Autotune-ominaisuus käyttää toistuvaa prosessia kyselyn suorituskyvyn optimointiin. Se alkaa oletusmäärityksestä ja käyttää koneoppimismallia tehokkuuden arviointiin. Kun käyttäjä lähettää kyselyn, järjestelmä noutaa tallennetut mallit aiempien vuorovaikutusten perusteella. Se luo mahdollisia määrityksiä oletusasetuksen nimeltä centroid ympärille. Mallin ennustama paras ehdokas otetaan käyttöön. Kyselyn suorittamisen jälkeen suorituskykytiedot lähetetään takaisin järjestelmään mallin tarkentamiseksi.
Palautesilmukka siirtää vähitellen senttimetrin optimaalisiin asetuksiin. Se parantaa suorituskykyä ajan kuluessa ja minimoi regression riskin. Käyttäjäkyselyihin perustuvat jatkuvat päivitykset mahdollistavat suorituskyvyn vertailuarvojen tarkennuksen. Lisäksi prosessi päivittää centroid-määritykset sen varmistamiseksi, että malli siirtyy asteittain tehokkaampiin asetuksiin. Tämä saavutetaan arvioimalla aiempia tuloksia ja käyttämällä niitä tulevien muutosten ohjaamiseen. Se käyttää kaikkia arvopisteitä poikkeamien vaikutuksen lieventämiseen.
Vastuullisen tekoälyn näkökulmasta Autotune-ominaisuus sisältää läpinäkyvyysmekanismeja, joiden avulla voit pitää sinut ajan tasalla tietojen käytöstä ja eduista. Suojaus ja tietosuoja ovat yhdenmukaisia Microsoftin standardien kanssa. Jatkuva valvonta säilyttää suorituskyvyn ja järjestelmän eheyden käynnistyksen jälkeen.
Automaattisentune-toiminnon ottaminen käyttöön
Autotune on käytettävissä kaikilla tuotantoalueilla, mutta se on oletusarvoisesti poissa käytöstä. Voit aktivoida sen spark-määritysasetuksen avulla ympäristössä. Jos haluat ottaa Autotunen käyttöön, luo uusi ympäristö tai määritä spark.ms.autotune.enabled = true spark.ms.autotune.enabled = true alla olevan näyttökuvan mukaisesti. Tämä asetus periytyy sitten kaikkiin kyseisessä ympäristössä suoritettaviin muistikirjoihin ja työihin, jotka säätävät niitä automaattisesti.
Autotune sisältää sisäänrakennetun mekanismin suorituskyvyn valvomiseen ja suorituskyvyn regressioiden tunnistamiseen. Jos kysely esimerkiksi käsittelee epätavallisen paljon tietoja, Autotune poistaa automaattisesti käytöstä. Optimaalisen määrityksen opettelu ja tunnistaminen vaatii yleensä 20–25 iterointia.
Huomautus
Autotune on yhteensopiva Fabric Runtime 1.1:n ja Runtime 1.2:n kanssa. Autotune ei toimi, kun suuren samanaikaisuuden tila tai yksityinen päätepiste on käytössä. Automaattinen skaalautuminen integroituu kuitenkin saumattomasti automaattiseen skaalautumiseen riippumatta sen määrityksistä.
Voit ottaa automaattisen toimen käyttöön yksittäisessä istunnossa lisäämällä vastaavan Spark-asetuksen Spark-muistikirjaasi tai Spark Job Definition -koodiin.
%%sql
SET spark.ms.autotune.enabled=TRUE
Voit hallita Autotunea Spark-muistikirjasi tai Spark-työmääritelmäkoodin Spark-asetusten avulla. Jos haluat poistaa Autotunen käytöstä, suorita seuraavat komennot ensimmäisenä soluna (muistikirja) tai koodin rivinä (SJD).
%%sql
SET spark.ms.autotune.enabled=FALSE
Tapaustutkimus
Suoritettaessa Apache Spark -kyselyä autotune luo mukautetun koneoppimismallin, joka on varattu kyselyn suorituksen optimoinnille. Se analysoi kyselymalleja ja resurssitarpeita. Harkitse ensimmäistä kyselyä, joka suodattaa tietojoukon tietyn määritteen, kuten maan, perusteella. Vaikka tässä esimerkissä käytetään maantieteellistä suodatusta, periaate koskee yleisesti mitä tahansa kyselyn määritettä tai toimintoa:
%%pyspark
df.filter(df.country == "country-A")
Autotune oppii tästä kyselystä optimoiden seuraavia suorituksia. Kun kysely muuttuu esimerkiksi muuttamalla suodatinarvoa tai ottamalla käyttöön eri tietojen muunnoksen, kyselyn rakenteellinen ydin pysyy usein johdonmukaisena:
%%pyspark
df.filter(df.country == "country-B")
Muutoksista huolimatta autotune tunnistaa uuden kyselyn perusrakenteen ja toteuttaa aiemmin opittuja optimointeja. Tämä ominaisuus varmistaa tehokkaan jatkuvan tehokkuuden ilman manuaalista uudelleenmääritystä jokaiselle uudelle kyselyn iteraatiolle.
Lokit
Autotune määrittää jokaiselle kyselylle optimaalisen asetuksen kolmelle Spark-määritykselle. Voit tarkastella ehdotettuja asetuksia siirtymällä lokeihin. Autotunen suosittelemat määritykset sijaitsevat ohjainlokeissa, erityisesti niissä, jotka alkavat menneellä [Autotune].
Lokeista löytyy erilaisia merkintöjä. Seuraavat sisältävät tärkeimmät:
Tila | Description |
---|---|
AUTOTUNE_DISABLED | Ohitetaan. Autotune on poistettu käytöstä. telemetriatietojen noutamisen ja kyselyn optimoinnin estäminen. Ota Autotune käyttöön, jotta voit käyttää täysin sen ominaisuuksia ja samalla noudattaa asiakkaan yksityisyyttä." |
QUERY_TUNING_DISABLED | Ohitetaan. Automaattinen kyselyn säätö on poistettu käytöstä. Ota se käyttöön, jos haluat hienosäätää Spark SQL -kyselyiden asetuksia. |
QUERY_PATTERN_NOT_MATCH | Ohitetaan. Kyselymalli ei täsmännyt. Automaattinen toimii vain luku -kyselyissä. |
QUERY_DURATION_TOO_SHORT | Ohitetaan. Kyselyn kesto on liian lyhyt optimoitaessa. Autotune edellyttää pidempiä kyselyitä tehokasta säätöä varten. Kyselyjen suorittamisen tulisi kestää vähintään 15 sekuntia. |
QUERY_TUNING_SUCCEED | Onnistui. Kyselyn säätö on valmis. Optimaaliset spark-asetukset käytössä. |
Läpinäkyvyyden huomautus
Responsible AI Standard -standardin noudattamisen vuoksi tämän osion tarkoituksena on selventää Autotune-ominaisuuden käyttötapoja ja vahvistusta, edistää läpinäkyvyyttä ja mahdollistaa tietoon perustuva päätöksenteko.
Autotunen tarkoitus
Autotunea on kehitetty parantamaan Apache Spark -kuormituksen tehokkuutta ensisijaisesti tietoammattilaisten kannalta. Sen tärkeimpiä funktioita ovat seuraavat:
- Apache Spark -määrityksen automatisointi suoritusaikojen lyhentämiseksi.
- Manuaalisten säätötoimien minimointi.
- Historiallisten kuormitustietojen käyttäminen määritysten iteratiiviseen hienosäätöön.
Autotunen vahvistus
Autotunelle on tehty laaja testaus sen tehokkuuden ja turvallisuuden varmistamiseksi:
- Tarkat testit erilaisilla Spark-kuormituksilla algoritmin tehokkuuden varmistamiseksi.
- Vertailukohta Sparkin vakiooptimointimenetelmiin suorituskyvyn etujen havainnollistamiseksi.
- Todellisia tapaustutkimuksia, joissa korostetaan Autotunen käytännön arvoa.
- Tiukkaa suojaus- ja tietosuojastandardien noudattamista käyttäjätietojen suojaamiseksi.
Käyttäjätietoja käytetään vain kuormituksen suorituskyvyn parantamiseen, ja vankoilla suojauksilla estetään luottamuksellisten tietojen väärinkäyttö tai altistuminen.