Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Autotune automatycznie dostosowuje konfiguracje platformy Apache Spark, aby skrócić czas wykonywania obciążenia i zwiększyć wydajność. Pomaga uniknąć ręcznego dostrajania, co zwykle wymaga wielokrotnej próby i błędu. Autotune używa historycznych danych wykonawczych z twoich obciążeń w celu odkrywania i stosowania skutecznych ustawień w sposób iteracyjny dla każdego obciążenia.
Uwaga
Automatyczne dostrajanie zapytań w Microsoft Fabric jest obecnie dostępne w wersji zapoznawczej. Jest ona dostępna we wszystkich regionach produkcji, ale jest domyślnie wyłączona. Włącz ją w konfiguracji środowiska Spark lub dla jednej sesji w notesie lub kodzie definicji zadań platformy Spark.
Ustawienia domyślne i wymagania dotyczące konfiguracji
- Domyślne zachowanie: automatyczne dostrajanie jest domyślnie wyłączone .
- Nie jest wymagana konfiguracja po wyłączeniu: jeśli nie włączysz automatycznego dostrajania, platforma Spark używa standardowego zachowania konfiguracji.
-
Wymagana konfiguracja do używania automatycznego dostrajania: ustaw
spark.ms.autotune.enabled=truejedną z następujących opcji:- Na poziomie konfiguracji środowiska wszystkie notesy i zadania korzystające z tego środowiska dziedziczą ustawienie. Zobacz Włączanie automatycznego dostrajania.
- Tylko w jednym notesie lub w sesji definicji zadań platformy Spark. Zobacz Włączanie automatycznego dostrajania dla jednej sesji.
Dostrajanie zapytań
Autotune dostraja trzy ustawienia Apache Spark dla każdego zapytania.
-
spark.sql.shuffle.partitions: ustawia liczbę partycji na potrzeby mieszania danych podczas sprzężeń lub agregacji. Wartość domyślna to200. -
spark.sql.autoBroadcastJoinThreshold: ustawia maksymalny rozmiar tabeli w bajtach do wysyłania do węzłów roboczych podczas operacji sprzężenia. Wartość domyślna to10 MB. -
spark.sql.files.maxPartitionBytes: ustawia maksymalną liczbę bajtów do spakowania do jednej partycji podczas odczytywania plików. Dotyczy źródeł plików Parquet, JSON i ORC. Wartość domyślna to128 MB.
Autotune query tuning bada każde zapytanie i buduje oddzielny model uczenia maszynowego dla tego zapytania. Najlepiej sprawdza się w następujących celach:
- Powtarzające się zapytania
- Długotrwałe zapytania (ponad 15 sekund)
- Zapytania interfejsu API SQL platformy Apache Spark (nie interfejs API RDD)
Możesz używać Autotune z notesami, definicjami zadań Spark i potokami. Korzyść zależy od złożoności zapytań i kształtu danych. Podczas testowania największe zyski pojawiają się w eksploracyjnych wzorcach analizy danych, takich jak odczyty, sprzężenia, agregacje i sortowanie.
Jak działa autotune
Autotune używa pętli optymalizacji iteracyjnej:
- Rozpocznij od domyślnych wartości konfiguracji platformy Spark.
- Generowanie konfiguracji kandydatów wokół punktu odniesienia (centroid).
- Przewidź najlepszego kandydata, używając modelu nauczonego na podstawie poprzednich przebiegów.
- Zastosuj kandydata i wykonaj zapytanie.
- Przekaż wyniki wykonania z powrotem do modelu.
Z biegiem czasu linia bazowa zmienia się w kierunku lepszych ustawień przy jednoczesnym zmniejszeniu ryzyka regresji. Użycie wszystkich zebranych punktów danych pomaga również zmniejszyć wpływ anomalii.
Włącz automatyczne dostrajanie
Automatyczne dostrajanie jest dostępne we wszystkich regionach produkcyjnych, ale jest domyślnie wyłączone. Aby ją włączyć na poziomie środowiska, ustaw właściwość spark.ms.autotune.enabled=true Spark w nowym lub istniejącym środowisku. Wszystkie notesy i zadania korzystające z tego środowiska dziedziczą ustawienie.
Dopasowanie automatyczne zawiera wbudowane wykrywanie regresji. Jeśli na przykład zapytanie przetwarza niezwykle dużą ilość danych, automatyczne dostrajanie może automatycznie pominąć dostrajanie dla tego przebiegu. W wielu scenariuszach automatyczne dostrajanie wymaga od 20 do 25 iteracji, aby osiągnąć optymalne ustawienia.
Uwaga
Autotune jest zgodne ze środowiskiem uruchomieniowym 1.2. Nie można go włączyć w wersjach środowiska uruchomieniowego nowszych niż 1.2. Nie jest uruchamiany, gdy włączony jest tryb wysokiej współbieżności ani prywatny punkt końcowy . Autotune działa ze skalowaniem automatycznym w dowolnej konfiguracji skalowania automatycznego.
Możesz również włączyć autotuning dla jednej sesji, ustawiając właściwość Spark w notesie lub definicji zadania Spark.
Włącz automatyczne dostrajanie dla jednej sesji
%%sql
SET spark.ms.autotune.enabled=TRUE
Wyłącz automatyczne dostrajanie dla jednej sesji
Aby wyłączyć automatyczne dostrajania w notesie lub definicji zadania platformy Spark, uruchom jedno z poniższych poleceń jako pierwszą komórkę lub pierwszy wiersz kodu.
%%sql
SET spark.ms.autotune.enabled=FALSE
Analiza przypadku
Po uruchomieniu zapytania platformy Apache Spark autotune tworzy model dla tego kształtu zapytania i uczy się najlepszych ustawień w czasie. Na przykład zacznij od tego zapytania filtru:
%%pyspark
df.filter(df.country == "country-A")
Autotune uczy się z tego przebiegu. Jeśli później zmienisz tylko wartość filtru, kształt zapytania będzie podobny:
%%pyspark
df.filter(df.country == "country-B")
Autotune może ponownie korzystać z uprzednich doświadczeń dla podobnego wzorca zapytań, co pomaga utrzymać wydajność bez ręcznego dostrajania.
Dzienniki
Dla każdego zapytania funkcja automatycznego dostrajania oblicza zalecane wartości dla trzech obsługiwanych konfiguracji platformy Spark. Aby sprawdzić zalecenia, sprawdź dzienniki sterowników dla wpisów rozpoczynających się od [Autotune].
Typowe stany logów obejmują:
| Stan | opis |
|---|---|
AUTOTUNE_DISABLED |
Pominięte. Autotune jest wyłączone, więc zbieranie danych telemetrycznych i ich optymalizacja nie są stosowane. |
QUERY_TUNING_DISABLED |
Pominięte. Dostrajanie zapytań jest wyłączone. |
QUERY_PATTERN_NOT_MATCH |
Pominięte. Wzorzec zapytania nie jest zgodny z obsługiwanymi typami zapytań tylko do odczytu. |
QUERY_DURATION_TOO_SHORT |
Pominięte. Zapytanie zostało uruchomione przez mniej niż 15 sekund, co jest zbyt krótkie dla skutecznego dostrajania. |
QUERY_TUNING_SUCCEED |
Sukces. Ukończono dostrajanie zapytań i zastosowano zoptymalizowane ustawienia platformy Spark. |
Notatka dotycząca przezroczystości
Zgodnie ze standardem odpowiedzialnej AI, w tej sekcji wyjaśniono, jak autodostrojenie jest używane i weryfikowane.
Cel automatycznego dostrajania
Autotune zaprojektowano w celu zwiększenia wydajności obciążeń platformy Apache Spark dla specjalistów ds. danych. Ono:
- Automatycznie dostraja konfiguracje platformy Apache Spark, aby skrócić czas wykonywania.
- Zmniejsza nakład pracy ręcznego dostrajania.
- Używa historycznych danych obciążenia do iteracyjnego uściślinia opcji konfiguracji.
Walidacja autotuningu
Autotune przechodzi obszerną walidację, aby zapewnić skuteczność i bezpieczeństwo:
- Używa rygorystycznych testów w różnych obciążeniach platformy Spark w celu zweryfikowania skuteczności algorytmu dostrajania.
- Testy porównawcze względem standardowych metod optymalizacji platformy Spark w celu zademonstrowania korzyści z wydajności.
- Obejmuje rzeczywiste analizy przypadków, aby pokazać praktyczną wartość.
- Przestrzega rygorystycznych standardów zabezpieczeń i prywatności w celu ochrony danych użytkowników.
Dane użytkowników są używane wyłącznie w celu zwiększenia wydajności obciążenia, z niezawodną ochroną, aby zapobiec niewłaściwemu używaniu lub narażeniu poufnych informacji.