Merk
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
Autotune justerer automatisk Apache Spark-konfigurasjoner for å redusere arbeidsbelastningstiden og forbedre ytelsen. Det hjelper deg å unngå manuell tuning, som vanligvis krever gjentatte prøving og feiling. Autotune bruker historiske utførelsesdata fra arbeidsbelastningene dine for iterativt å oppdage og anvende effektive innstillinger for hver arbeidsbelastning.
Note
Autotune-spørringstuning i Microsoft Fabric er for øyeblikket i forhåndsvisning. Det er tilgjengelig i alle produksjonsregioner, men det er deaktivert som standard. Aktiver det i en Spark-konfigurasjon i miljøet, eller for en enkelt økt i notebook- eller Spark-jobbdefinisjonskode.
Konfigurasjonsstandarder og krav
- Standardoppførsel: Autotune er av som standard.
- Ingen nødvendig oppsett når den er av: Hvis du ikke aktiverer autotune, bruker Spark sin standard konfigurasjonsoppførsel.
-
Nødvendig oppsett for å bruke autotune: Sett
spark.ms.autotune.enabled=trueenten:- På miljønivå arver alle notatbøker og jobber som bruker det miljøet settingen. Se Aktiver autotune.
- Kun i én notatbok eller Spark Job Definition-økt. Se Aktiver autotune for en enkelt økt.
Justering av spørring
Autotune justerer disse tre Apache Spark-innstillingene for hver forespørsel:
-
spark.sql.shuffle.partitions: Setter partisjonsantallet for datastokking under joins eller aggregeringer. Standard er200. -
spark.sql.autoBroadcastJoinThreshold: Setter maksimal tabellstørrelse, i bytes, til å kringkaste til arbeidsnoder under en join. Standard er10 MB. -
spark.sql.files.maxPartitionBytes: Setter maksimalt antall bytes som skal pakkes i én partisjon når filer leses. Gjelder for Parquet-, JSON- og ORC-filkilder. Standard er128 MB.
Autotune-spørringstuning undersøker hver spørring og bygger en egen maskinlæringsmodell for den spørringen. Det fungerer best for:
- Repeterende spørringer
- Langvarige spørringer (mer enn 15 sekunder)
- Apache Spark SQL API-forespørsler (ikke RDD API)
Du kan bruke autotune med notatbøker, Spark Job Definitions og pipelines. Fordelen varierer med spørringskompleksitet og dataform. I testing vises de største gevinstene i utforskende dataanalysemønstre som lesing, joins, aggregeringer og sorteringer.
Hvordan autotune fungerer
Autotune bruker en iterativ optimaliseringssløyfe:
- Start fra standard Spark-konfigurasjonsverdier.
- Generer kandidatkonfigurasjoner rundt en baseline (centroid).
- Forutsi den beste kandidaten ved å bruke en modell trent på tidligere kjøringer.
- Bruk kandidaten og kjør forespørselen.
- Mater utførelsesresultater tilbake til modellen.
Over tid skifter grunnlinjen mot bedre innstillinger samtidig som risikoen for regresjon reduseres. Bruken av alle innsamlede datapunkter bidrar også til å redusere effekten av anomalier.
Aktivere autotune
Autotune er tilgjengelig i alle produksjonsregioner, men den er deaktivert som standard. For å aktivere det på miljønivå, sett Spark-egenskapen spark.ms.autotune.enabled=true i et nytt eller eksisterende miljø. Alle notatbøker og jobber som bruker det miljøet arver innstillingen.
Autotune inkluderer innebygd regresjonsdeteksjon. For eksempel, hvis en spørring behandler en uvanlig stor mengde data, kan autotune automatisk hoppe over tuning for den kjøringen. I mange scenarioer trenger autotune omtrent 20 til 25 iterasjoner for å konvergere mot sterke innstillinger.
Note
Autotune er kompatibel med Runtime 1.2. Du kan ikke aktivere det på runtime-versjoner senere enn 1.2. Den kjører ikke når høy samtidighetsmodus eller privat endepunkt er aktivert. Autotune fungerer med autoskalering i alle autoskaleringskonfigurasjoner.
Du kan også aktivere autotune for en enkelt økt ved å sette Spark-egenskapen i notatboken din eller Spark Job Definition.
Aktiver autotune for en enkelt økt
%%sql
SET spark.ms.autotune.enabled=TRUE
Deaktiver autotune for en enkelt økt
For å deaktivere autotune i en notatbok eller Spark Job Definition, kjør en av følgende kommandoer som første celle eller første kodelinje.
%%sql
SET spark.ms.autotune.enabled=FALSE
Referanse
Når du kjører en Apache Spark-spørring, bygger autotune en modell for den spørringsformen og lærer de beste innstillingene over tid. For eksempel, start med denne filterspørringen:
%%pyspark
df.filter(df.country == "country-A")
Autotune lærer av denne gjennomspillingen. Hvis du senere bare endrer filterverdien, forblir spørringsformen lik:
%%pyspark
df.filter(df.country == "country-B")
Autotune kan gjenbruke tidligere læringer for dette lignende spørringsmønsteret, noe som hjelper til med å opprettholde ytelsen uten manuell justering.
Logs
For hver spørring beregner autotune anbefalte verdier for de tre støttede Spark-konfigurasjonene. For å inspisere anbefalinger, sjekk førerlogger for oppføringer som starter med [Autotune].
Vanlige loggstatuser inkluderer:
| Status | Description |
|---|---|
AUTOTUNE_DISABLED |
Skipped. Autotune er deaktivert, så telemetriinnsamling og optimalisering brukes ikke. |
QUERY_TUNING_DISABLED |
Skipped. Spørringsjustering er deaktivert. |
QUERY_PATTERN_NOT_MATCH |
Skipped. Spørringsmønsteret matcher ikke støttede skrivebeskyttede spørringstyper. |
QUERY_DURATION_TOO_SHORT |
Skipped. Spørringen kjørte i mindre enn 15 sekunder, noe som er for kort tid for effektiv tuning. |
QUERY_TUNING_SUCCEED |
Success. Spørringsjustering fullført og optimaliserte Spark-innstillinger ble brukt. |
Gjennomsiktighetsnotat
I tråd med Responsible AI-standarden forklarer denne delen hvordan autotune brukes og valideres.
Formålet med autotune
Autotune er designet for å forbedre Apache Sparks arbeidsbelastningseffektivitet for dataprofesjonelle. Det:
- Justerer automatisk Apache Spark-konfigurasjoner for å redusere kjøretiden.
- Reduserer manuell tuning.
- Bruker historiske arbeidsbelastningsdata for iterativt å finjustere konfigurasjonsvalg.
Validering av autotune
Autotune gjennomgår omfattende validering for å bidra til å sikre effektivitet og sikkerhet:
- Bruker grundige tester på tvers av ulike Spark-arbeidsbelastninger for å verifisere effektiviteten til tuning-algoritmen.
- Benchmarks mot standard Spark-optimaliseringsmetoder for å demonstrere ytelsesfordeler.
- Inkluderer virkelige casestudier for å vise praktisk verdi.
- Følger strenge sikkerhets- og personvernstandarder for å beskytte brukerdata.
Brukerdata brukes utelukkende til å forbedre arbeidsbelastningens ytelse, med robust beskyttelse for å hindre misbruk eller eksponering av sensitiv informasjon.