Uwaga
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 konfigurację platformy Apache Spark, aby przyspieszyć wykonywanie obciążeń i zoptymalizować ogólną wydajność. Automatyczne dostrajanie pozwala zaoszczędzić czas i zasoby w porównaniu z dostrajaniem ręcznym, co wymaga dużego nakładu pracy, zasobów, czasu i eksperymentowania. Autotune używa historycznych danych dotyczących wykonania z Twoich obciążeń do iteracyjnego ustalania i stosowania najbardziej skutecznych konfiguracji dla określonego obciążenia.
Ważne
Ta funkcja jest dostępna w wersji zapoznawczej.
Uwaga
Funkcja automatycznego dostrajania zapytań w usłudze Microsoft Fabric jest obecnie dostępna w wersji zapoznawczej. Automatyczne dostrajanie jest dostępne we wszystkich regionach produkcji, ale jest domyślnie wyłączone. Można ją aktywować za pomocą ustawienia konfiguracji platformy Spark w środowisku lub w ramach jednej sesji, uwzględniając odpowiednie ustawienie platformy Spark w notesie platformy Spark lub kodzie definicji zadania platformy Spark.
Dostrajanie zapytań
Autotune konfiguruje trzy ustawienia platformy Apache Spark dla każdego z zapytań oddzielnie:
-
spark.sql.shuffle.partitions
— Ustawia liczbę partycji na potrzeby mieszania danych podczas sprzężeń lub agregacji. Wartość domyślna to 200. -
spark.sql.autoBroadcastJoinThreshold
- Ustawia maksymalny rozmiar tabeli w bajtach, który jest przekazywany do wszystkich węzłów procesu roboczego podczas wykonywania operacji łączenia. Wartość domyślna to 10 MB. -
spark.sql.files.maxPartitionBytes
- Definiuje maksymalną liczbę bajtów do spakowania w jedną partycję podczas odczytywania plików. Działa w przypadku źródeł opartych na plikach Parquet, JSON i ORC. Wartość domyślna to 128 MB.
Napiwek
Autotune dostrajanie zapytań bada indywidualne zapytania i buduje odrębny model uczenia maszynowego dla każdego z nich. Dotyczy to w szczególności:
- Powtarzające się zapytania
- Długotrwałe zapytania (z ponad 15 sekundami wykonywania)
- Zapytania za pomocą interfejsu API SQL platformy Apache Spark (z wyłączeniem rzadkich zapytań napisanych w interfejsie API RDD), ale optymalizujemy wszystkie zapytania, niezależnie od języka (Scala, PySpark, R, Spark SQL). Ta funkcja jest zgodna z notesami, definicjami zadań platformy Apache Spark i potokami. Korzyści różnią się w zależności od złożoności zapytania, używanych metod i struktury. Obszerne testy wykazały, że największe korzyści przynoszą zapytania związane z eksploracją danych, takie jak odczytywanie danych, łączenia, agregacje i sortowanie.
Intuicja oparta na sztucznej inteligencji w autotuningu
Funkcja automatycznego dostrajania wykorzystuje proces iteracyjny w celu optymalizacji wydajności zapytań. Rozpoczyna się od domyślnej konfiguracji i wykorzystuje model uczenia maszynowego do oceny skuteczności. Gdy użytkownik przesyła zapytanie, system pobiera przechowywane modele na podstawie poprzednich interakcji. Generuje ona potencjalne konfiguracje wokół domyślnego ustawienia o nazwie centroid. Stosowany jest najlepszy kandydat przewidywany przez model. Po wykonaniu zapytania dane wydajności są wysyłane z powrotem do systemu w celu uściślenia modelu.
Pętla sprzężenia zwrotnego stopniowo przesuwa środek ciężkości w kierunku optymalnych ustawień. Zwiększa wydajność w czasie, jednocześnie minimalizując ryzyko regresji. Ciągłe aktualizacje oparte na zapytaniach użytkowników umożliwiają uściślenie testów porównawczych wydajności. Ponadto, proces aktualizuje konfiguracje centroid, aby zapewnić, że model zmierza w kierunku bardziej wydajnych ustawień w sposób przyrostowy. Jest to osiągane przez ocenę przeszłych wydajności i użycie ich do kierowania przyszłymi korektami. Używa on wszystkich punktów danych, aby zminimalizować wpływ anomalii.
Z perspektywy odpowiedzialnej sztucznej inteligencji (SI) funkcja automatycznego dostrajania obejmuje mechanizmy zapewniające przejrzystość, które informują Cię o użytkowaniu danych i korzyściach. Bezpieczeństwo i prywatność są zgodne ze standardami firmy Microsoft. Ciągłe monitorowanie utrzymuje wydajność i integralność systemu po uruchomieniu.
Włącz automatyczne dostrajanie
Automatyczne dostrajanie jest dostępne we wszystkich regionach produkcji, ale jest domyślnie wyłączone. Można je aktywować za pomocą ustawienia konfiguracji Spark w środowisku. Aby włączyć automatyczne dostrajanie, utwórz nowe środowisko lub dla istniejącego środowiska ustaw właściwość Spark "spark.ms.autotune.enabled = true", jak pokazano na zrzucie ekranu poniżej. To ustawienie jest następnie dziedziczone przez wszystkie notatniki i zadania uruchomione w tym środowisku, automatycznie je dostrajając.
Autotune zawiera wbudowany mechanizm monitorowania wydajności i wykrywania regresji wydajności. Jeśli na przykład zapytanie przetwarza niezwykle dużą ilość danych, automatyczne dostrajanie jest dezaktywowane. Zwykle wymaga od 20 do 25 iteracji, aby dowiedzieć się i zidentyfikować optymalną konfigurację.
Uwaga
Automatyczne dostrajanie jest zgodne ze środowiskiem Fabric Runtime 1.1 i środowiskiem Runtime 1.2. Funkcja Autotune nie działa, gdy włączony jest tryb wysokiej współbieżności lub prywatny punkt końcowy. Jednak automatyczne dostrajanie bezproblemowo integruje się z skalowaniem automatycznym, niezależnie od konfiguracji.
Autotuning można włączyć w ramach jednej sesji, uwzględniając odpowiednie ustawienie Spark w notatniku lub kodzie definicji zadania Spark.
%%sql
SET spark.ms.autotune.enabled=TRUE
Możesz kontrolować automatyczne dostrajanie za pomocą ustawień Spark dla swojego notesu lub kodu definicji zadania Spark. Aby wyłączyć autotune, wykonaj następujące polecenia jako pierwsza komórka (notatnika) lub wiersz kodu (SJD).
%%sql
SET spark.ms.autotune.enabled=FALSE
Analiza przypadku
Podczas wykonywania zapytania platformy Apache Spark autotune tworzy dostosowany model uczenia maszynowego przeznaczony do optymalizacji wykonywania zapytania. Analizuje wzorce zapytań i potrzeby zasobów. Rozważ wstępne filtrowanie zapytania zestawu danych na podstawie określonego atrybutu, takiego jak kraj. Chociaż w tym przykładzie użyto filtrowania geograficznego, zasada ma zastosowanie uniwersalnie do dowolnego atrybutu lub operacji w zapytaniu:
%%pyspark
df.filter(df.country == "country-A")
Autotune uczy się z tego zapytania, optymalizując kolejne wykonania. Gdy zapytanie zmieni się, na przykład przez zmianę wartości filtru lub zastosowanie innej transformacji danych, istota strukturalna zapytania często pozostaje spójna:
%%pyspark
df.filter(df.country == "country-B")
Pomimo zmian funkcja autotune identyfikuje podstawową strukturę nowego zapytania, wdrażając wcześniej poznane optymalizacje. Ta funkcja zapewnia stałą wysoką wydajność bez konieczności ręcznej ponownej konfiguracji dla każdej nowej iteracji zapytań.
Dzienniki
W przypadku każdego zapytania funkcja automatycznego dostrajania określa najbardziej optymalne ustawienia dla trzech konfiguracji platformy Spark. Sugerowane ustawienia można wyświetlić, przechodząc do dzienników. Konfiguracje zalecane przez autotune znajdują się w dziennikach sterowników, w szczególności tych wpisów rozpoczynających się od [Autotune].
W dziennikach można znaleźć różne typy wpisów. Poniżej wymieniono kluczowe elementy:
Stan | opis |
---|---|
AUTOTUNE_WYŁĄCZONY | Pominięte. Automatyczne dostrajania jest wyłączone; zapobieganie pobieraniu danych telemetrycznych i optymalizacji zapytań. Włącz Autotune, aby w pełni wykorzystać jego funkcje, dbając jednocześnie o prywatność klientów. |
QUERY_TUNING_DISABLED | Pominięte. Automatyczne dostrajanie zapytań jest wyłączone. Włącz tę funkcję, aby dostosować ustawienia zapytań Spark SQL. |
WZORZEC_ZAPYTANIA_NIE_PASUJE | Pominięte. Wzorzec kwerendy nie był zgodny. Automatyczne dostrajania jest skuteczne w przypadku zapytań tylko do odczytu. |
CZAS_TRWANIA_ZAPYTANIA_ZBYT_KRÓTKI | Pominięte. Czas trwania zapytania jest zbyt krótki, aby zoptymalizować. Automatyczne dostrajanie wymaga dłuższych zapytań w celu osiągnięcia efektywności. Zapytania powinny być uruchamiane przez co najmniej 15 sekund. |
ZAPYTANIE_DOSTROJENIE_ZAKOŃCZONE_SUKCESEM | Sukces. Ukończono dostrajanie zapytań. Zastosowano optymalne ustawienia zapłonu. |
Notatka dotycząca przezroczystości
Zgodnie ze standardem odpowiedzialnej sztucznej inteligencji ta sekcja ma na celu wyjaśnienie zastosowań i walidacji funkcji Autotune, promowanie przejrzystości i umożliwienie świadomego podejmowania decyzji.
Cel automatycznego dostrajania
Autotune jest opracowywany w celu zwiększenia wydajności obciążeń platformy Apache Spark, głównie dla specjalistów ds. danych. Jego kluczowe funkcje obejmują:
- Automatyzowanie dostrajania konfiguracji platformy Apache Spark w celu skrócenia czasu wykonywania.
- Minimalizacja ręcznego dostrajania.
- Wykorzystanie historycznych danych obciążenia w celu iteracyjnego uściślinia konfiguracji.
Walidacja autotuningu
Autotune przechodzi obszerne testy, aby zapewnić jego skuteczność i bezpieczeństwo:
- Rygorystyczne testy z różnymi obciążeniami platformy Spark w celu zweryfikowania skuteczności algorytmu dostrajania.
- Testowanie porównawcze standardowych metod optymalizacji platformy Spark w celu zademonstrowania korzyści z wydajności.
- Studia przypadków z prawdziwego świata podkreślające praktyczną wartość Auto-Tune.
- Przestrzeganie 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.