Jaa


Mikä on automaattinen apache Spark -määrityksille Fabricissa?

Autotune säätää automaattisesti Apache Sparkin asetuksia lyhentääkseen työkuorman suoritusaikaa ja parantaakseen suorituskykyä. Se auttaa välttämään manuaalisen virityksen, joka yleensä vaatii toistuvaa kokeilua ja erehdystä. Autotune käyttää työkuormiesi historiallista suoritusdataa löytääkseen ja soveltaakseen tehokkaita asetuksia jokaiselle työkuormalle.

Note

Autotune-kyselyjen viritys Microsoft Fabric -sovelluksessa on tällä hetkellä esikatseluvaiheessa. Se on saatavilla kaikilla tuotantoalueilla, mutta se on oletuksena pois päältä. Ota se käyttöön ympäristön Spark-konfiguraatiossa tai yhdeksi istunnoksi muistikirjassa tai Sparkin tehtävämäärittelykoodissa.

Konfiguraation oletusasetukset ja vaatimukset

  • Oletuskäyttäytyminen: Autotune on oletuksena pois päältä .
  • Ei vaadita asetusta pois päältä: Jos et ota autotunea käyttöön, Spark käyttää sen vakiokonfiguraatiokäyttäytymistä.
  • Vaadittu asetus autotuneen käyttöön: Aseta spark.ms.autotune.enabled=true jompiku:

Kyselyn viritys

Autotune virittää nämä kolme Apache Spark -asetusta kutakin kyselyä varten:

  • spark.sql.shuffle.partitions: Määrittää osioiden määrän tiedon sekoittumista varten liitoksissa tai aggregaatioissa. Oletusarvo on 200.
  • spark.sql.autoBroadcastJoinThreshold: Asettaa maksimitaulukon koon tavuina, joka lähetetään työntekijäsolmuille liittämisen aikana. Oletusarvo on 10 MB.
  • spark.sql.files.maxPartitionBytes: Asettaa maksimitavut, jotka pakkataan yhteen osioon tiedostoja lukiessa. Koskee Parquet-, JSON- ja ORC-tiedostolähteitä. Oletusarvo on 128 MB.

Autotune-kyselyjen viritys tarkastelee jokaista kyselyä ja rakentaa erillisen koneoppimismallin kyseiselle kyselylle. Se toimii parhaiten:

  • Toistuvat kyselyt
  • Pitkäkestoiset kyselyt (yli 15 sekuntia)
  • Apache Spark SQL API -kyselyt (ei RDD API)

Voit käyttää autotunea muistikirjojen, Spark-tehtävämäärittelyjen ja putkiston kanssa. Hyöty vaihtelee kyselyn monimutkaisuuden ja datan muodon mukaan. Testauksessa suurimmat edistysaskeleet näkyvät tutkivissa datan analyysimalleissa, kuten lukemisissa, liitoksissa, aggregaatioissa ja lajitteluissa.

Kuvakaappaus suoritusajasta, kun autotune on käytössä.

Miten autotune toimii

Autotune käyttää iteratiivista optimointisilmukkaa:

  1. Aloita oletusarvoista Spark-konfiguraatioarvoista.
  2. Luo ehdokaskonfiguraatiot perusviivan (centroid) ympärille.
  3. Ennusta paras ehdokas käyttämällä mallia, joka on koulutettu aiemmilla juoksuilla.
  4. Hae ehdokas ja suorita kysely.
  5. Syötä suoritustulokset takaisin malliin.

Ajan myötä lähtötaso siirtyy parempiin asetuksiin samalla kun regressioriski vähenee. Kaikkien kerättyjen datapisteiden hyödyntäminen auttaa myös vähentämään poikkeavuuksien vaikutusta.

Ota automaattinen viritys käyttöön

Autotune on saatavilla kaikilla tuotantoalueilla, mutta se on oletuksena pois päältä. Mahdollistaaksesi sen ympäristötasolla, aseta Spark-ominaisuus spark.ms.autotune.enabled=true uuteen tai olemassa olevaan ympäristöön. Kaikki muistikirjat ja tehtävät, jotka käyttävät kyseistä ympäristöä, perivät asetuksen.

Näyttökuva automaattisen todennuksen käyttöönotosta.

Autotune sisältää sisäänrakennetun regression tunnistuksen. Esimerkiksi, jos kysely käsittelee poikkeuksellisen suuren määrän dataa, autotune voi automaattisesti ohittaa virityksen kyseiselle suoritukselle. Monissa tilanteissa autotune tarvitsee noin 20–25 iteraatiota, jotta se yhdistyy vahvoilla asetuksilla.

Note

Autotune on yhteensopiva Runtime 1.2:n kanssa. Et voi ottaa sitä käyttöön ajonaikaisissa versioissa myöhemmin kuin 1.2. Se ei käynnisty, kun korkean samanaikaisuuden tila tai yksityinen päätepiste on käytössä. Autotune toimii automaattisen skaalaamisen kanssa kaikissa automaattiskonfiguraatioissa.

Voit myös ottaa automaattisen virityksen käyttöön yhdeksi istunnoksi asettamalla Spark-ominaisuuden muistikirjassasi tai Spark-tehtävien määrittelussa.

Ota automaattinen viritys käyttöön yhdeksi istunnoksi

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

Poista autotune käytöstä yhdeksi istunnoksi

Autotunen poistamiseksi muistikirjassa tai Spark Job Definitionissa suorita jokin seuraavista komennoista ensimmäisenä soluna tai ensimmäisenä koodirivinä.

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

Tapaustutkimus

Kun suoritat Apache Spark -kyselyn, autotune rakentaa mallin kyseiselle kyselymuodolle ja oppii parhaat asetukset ajan myötä. Esimerkiksi aloitetaan tällä suodatinkyselyllä:

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

Autotune oppii tästä suorituksesta. Jos myöhemmin muutat vain suodattimen arvon, kyselymuoto pysyy samanlaisena:

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

Autotune voi hyödyntää aiempia oppeja tähän samankaltaiseen kyselymalliin, mikä auttaa ylläpitämään suorituskykyä ilman manuaalista uudelleenviritystä.

Logs

Jokaiselle kyselylle autotune laskee suositellut arvot kolmelle tuetulle Spark-konfiguraatiolle. Suositusten tarkistamiseksi tarkista kuljettajien lokit merkinnöistä, jotka alkavat [Autotune]-kirjaimella.

Näyttökuva automaattisen todennuksen lokeista valvontakeskuksen sisällä.

Yleisiä loki-tiloja ovat:

Status Description
AUTOTUNE_DISABLED Skipped. Autotune on pois päältä, joten telemetrian keräämistä ja optimointia ei käytetä.
QUERY_TUNING_DISABLED Skipped. Kyselyviritys on pois päältä.
QUERY_PATTERN_NOT_MATCH Skipped. Kyselykuvio ei vastaa tuettuja vain luku -kyselytyyppejä.
QUERY_DURATION_TOO_SHORT Skipped. Kysely kesti alle 15 sekuntia, mikä on liian lyhyt tehokas viritys.
QUERY_TUNING_SUCCEED Success. Kyselyviritys valmistui ja optimoitu Spark-asetukset otettiin käyttöön.

Läpinäkyvyyden huomautus

Vastuullisen tekoälystandardin mukaisesti tässä osiossa selitetään, miten autotunea käytetään ja validoidaan.

Automaattisen todennuksen tarkoitus

Autotune on suunniteltu parantamaan Apache Sparkin työkuorman tehokkuutta data-alan ammattilaisille. Se:

  • Säätää automaattisesti Apache Spark -asetukset lyhentämään suoritusaikaa.
  • Vähentää manuaalista viritystyötä.
  • Käyttää historiallista työkuormadataa konfiguraatiovalintojen iteratiiviseen tarkentamiseen.

Autotunen vahvistus

Autotune käy läpi laajan validoinnin tehokkuuden ja turvallisuuden varmistamiseksi:

  • Käyttää tiukkoja testejä eri Spark-työkuormissa viritysalgoritmin tehokkuuden varmistamiseksi.
  • Vertailuja standardeihin Spark-optimointimenetelmiin suorituskyvyn parantamiseksi.
  • Sisältää tosielämän tapaustutkimuksia, jotka osoittavat käytännön arvoa.
  • Noudattaa tiukkoja turvallisuus- ja yksityisyysstandardeja 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.

  • yhteyden rajoitukset ja jonottaminen Apache Sparkissa Microsoft Fabric
  • Apache Spark -laskenta Microsoft Fabric