Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Automatisch afstemmen past Apache Spark-configuraties automatisch aan om de uitvoeringstijd van de workload te verminderen en de prestaties te verbeteren. Het helpt u handmatige afstemming te voorkomen, wat doorgaans herhaald proberen en fouten vereist. Autotune gebruikt historische uitvoeringsgegevens van uw workloads om iteratief effectieve instellingen voor elke workload te detecteren en toe te passen.
Notitie
De Autotune-functie voor het afstemmen van query's in Microsoft Fabric is momenteel in preview. Deze is beschikbaar in alle productieregio's, maar deze is standaard uitgeschakeld. Schakel deze in in een omgevingsconfiguratie van Spark of voor één sessie in notebook- of Spark-taakdefinitiecode.
Standaardinstellingen en vereisten voor configuratie
- Standaardgedrag: Autotune is standaard uitgeschakeld .
- Geen vereiste instelling wanneer deze is uitgeschakeld: Als u autotune niet inschakelt, wordt het standaardconfiguratiegedrag van Spark gebruikt.
-
Vereiste installatie voor het gebruik van autotune: Stel
spark.ms.autotune.enabled=trueeen van de volgende opties in:- Op omgevingsniveau zodat alle notebooks en taken die gebruikmaken van die omgeving de instelling overnemen. Zie Autotune inschakelen.
- Alleen in één notebook of in een Spark-taakdefinitiesessie. Zie Autotune inschakelen voor één sessie.
Afstemmen van query's
Autotune stemt deze drie Apache Spark-instellingen voor elke query af.
-
spark.sql.shuffle.partitions: Hiermee stelt u het aantal partities in voor het shuffling van gegevens tijdens joins of aggregaties. De standaardinstelling is200. -
spark.sql.autoBroadcastJoinThreshold: Hiermee stelt u de maximale tabelgrootte in bytes in om tijdens een join naar werkknooppunten te uitzenden. De standaardinstelling is10 MB. -
spark.sql.files.maxPartitionBytes: Hiermee stelt u het maximum aantal bytes in één partitie in bij het lezen van bestanden. Van toepassing op Parquet-, JSON- en ORC-bestandsbronnen. De standaardinstelling is128 MB.
Bij het automatisch optimaliseren van query's met Autotune wordt elke query onderzocht en wordt er een afzonderlijk machine-learningmodel voor die query gebouwd. Dit werkt het beste voor:
- Herhalende vragen
- Langdurige queries (meer dan 15 seconden)
- Apache Spark SQL API queries (niet RDD API)
U kunt autotune gebruiken met notebooks, Spark-taakdefinities en pijplijnen. Het voordeel verschilt per querycomplexiteit en gegevensvorm. Bij het testen worden de grootste winsten vermeld in verkennende gegevensanalysepatronen zoals lezen, samenvoegingen, aggregaties en sorteringen.
Hoe autotune werkt
Autotune maakt gebruik van een iteratieve optimalisatielus:
- Begin met de standaardconfiguratiewaarden van Spark.
- Genereer kandidaatconfiguraties rond een basislijn (zwaartepunt).
- Voorspel de beste kandidaat met behulp van een model dat is getraind op eerdere uitvoeringen.
- Pas de kandidaat toe en voer de query uit.
- Voer uitvoeringsresultaten terug in het model.
Na verloop van tijd verschuift de basislijn naar betere instellingen terwijl het regressierisico wordt verminderd. Het gebruik van alle verzamelde gegevenspunten helpt ook het effect van afwijkingen te verminderen.
Autotune inschakelen
Autotune is beschikbaar in alle productieregio's, maar deze is standaard uitgeschakeld. Als u deze wilt inschakelen op omgevingsniveau, stelt u de Spark-eigenschap spark.ms.autotune.enabled=true in een nieuwe of bestaande omgeving in. Alle notebooks en taken die gebruikmaken van die omgeving nemen de instelling over.
Autotune bevat ingebouwde regressiedetectie. Als een query bijvoorbeeld een ongebruikelijk grote hoeveelheid gegevens verwerkt, kan autotune bij die specifieke uitvoering automatisch het afstemmen overslaan. In veel scenario's heeft autotune ongeveer 20 tot 25 iteraties nodig om te convergeren op sterke instellingen.
Notitie
Autotune is compatibel met Runtime 1.2. U kunt deze niet inschakelen in runtimeversies hoger dan 1.2. Deze wordt niet uitgevoerd wanneer de modus voor hoge gelijktijdigheid of het privé-eindpunt is ingeschakeld. Autotune werkt met automatisch schalen in elke configuratie voor automatisch schalen.
U kunt autotune ook inschakelen voor één sessie door de Spark-eigenschap in te stellen in uw notebook of Spark-taakdefinitie.
Automatisch afstemmen inschakelen voor één sessie
%%sql
SET spark.ms.autotune.enabled=TRUE
Automatisch afstemmen uitschakelen voor één sessie
Als u de autotune wilt uitschakelen in een notebook of Spark-taakdefinitie, voert u een van de volgende opdrachten uit als de eerste cel of de eerste regel van de code.
%%sql
SET spark.ms.autotune.enabled=FALSE
Casestudie
Wanneer u een Apache Spark-query uitvoert, bouwt autotune een model voor die queryshape en leert u de beste instellingen in de loop van de tijd. Begin bijvoorbeeld met deze filterquery:
%%pyspark
df.filter(df.country == "country-A")
Autotune leert van deze sessie. Als u later alleen de filterwaarde wijzigt, blijft de queryshape vergelijkbaar:
%%pyspark
df.filter(df.country == "country-B")
Autotune kan eerdere lessen voor dit vergelijkbare querypatroon hergebruiken, waardoor prestaties kunnen worden behouden zonder handmatig opnieuw te afstemmen.
Logboeken
Voor elke query berekent autotune aanbevolen waarden voor de drie ondersteunde Spark-configuraties. Als u aanbevelingen wilt controleren, controleert u de stuurprogrammalogboeken op vermeldingen die beginnen met [Autotune].
Veelvoorkomende logboekstatussen zijn:
| Toestand | Beschrijving |
|---|---|
AUTOTUNE_DISABLED |
Overgeslagen. Autotune is uitgeschakeld, dus telemetrieverzameling en optimalisatie worden niet toegepast. |
QUERY_TUNING_DISABLED |
Overgeslagen. Het afstemmen van query's is uitgeschakeld. |
QUERY_PATTERN_NOT_MATCH |
Overgeslagen. Het query-patroon komt niet overeen met de ondersteunde alleen-lezen querytypen. |
QUERY_DURATION_TOO_SHORT |
Overgeslagen. De query is minder dan 15 seconden uitgevoerd, wat te kort is voor effectieve tuning. |
QUERY_TUNING_SUCCEED |
Geslaagd. Het afstemmen van de query is voltooid en geoptimaliseerde Spark-instellingen zijn toegepast. |
Transparantienotitie
In overeenstemming met de Responsible AI Standard wordt in deze sectie uitgelegd hoe autotune wordt gebruikt en gevalideerd.
Doel van autotune
Autotune is ontworpen om de efficiëntie van Apache Spark-werkbelastingen voor data professionals te verbeteren. Het:
- Tunes Apache Spark-configuraties automatisch om de uitvoeringstijd te verkorten.
- Vermindert de inspanning voor handmatige afstemming.
- Gebruikt historische workloadgegevens om configuratiekeuzes iteratief te verfijnen.
Validatie van autotune
Autotune ondergaat uitgebreide validatie om de effectiviteit en veiligheid te waarborgen:
- Maakt gebruik van strenge tests voor diverse Spark-workloads om de effectiviteit van het afstemmingsalgoritme te controleren.
- Benchmarks op basis van standaardmethoden voor Spark-optimalisatie om prestatievoordelen te demonstreren.
- Bevat praktijkcasestudies om praktische waarde weer te geven.
- Volgt strikte beveiligings- en privacystandaarden om gebruikersgegevens te beschermen.
Gebruikersgegevens worden uitsluitend gebruikt om de prestaties van uw workload te verbeteren, met robuuste beveiligingen om misbruik of blootstelling van gevoelige informatie te voorkomen.