Konfiguracje puli platformy Apache Spark w usłudze Azure Synapse Analytics

Pula Platformy Spark to zestaw metadanych, który definiuje wymagania dotyczące zasobów obliczeniowych i powiązane charakterystyki zachowania, gdy wystąpienie wystąpienia platformy Spark jest tworzone. Te cechy obejmują, ale nie są ograniczone do nazw, liczby węzłów, rozmiaru węzła, zachowania skalowania i czasu wygaśnięcia. Sama pula platformy Spark nie zużywa żadnych zasobów. Nie są naliczane żadne koszty związane z tworzeniem pul platformy Spark. Opłaty są naliczane tylko po wykonaniu zadania platformy Spark w docelowej puli Spark, a wystąpienie platformy Spark jest tworzone na żądanie.

Aby dowiedzieć się, jak utworzyć pulę platformy Spark, zobacz wszystkie ich właściwości tutaj Wprowadzenie do pul platformy Spark w usłudze Synapse Analytics

Izolowane obliczenia

Opcja Izolowane środowisko obliczeniowe zapewnia większe bezpieczeństwo zasobów obliczeniowych platformy Spark z niezaufanych usług przez przydzielanie fizycznego zasobu obliczeniowego pojedynczemu klientowi. Opcja izolowanych zasobów obliczeniowych jest najbardziej odpowiednia dla obciążeń wymagających wysokiego stopnia izolacji od obciążeń innych klientów z powodów, które obejmują spełnienie wymagań dotyczących zgodności i przepisów prawnych. Opcja Izoluj obliczenia jest dostępna tylko w przypadku rozmiaru węzła XXXLarge (80 procesorów wirtualnych/504 GB) i jest dostępna tylko w następujących regionach. Opcję izolowanego środowiska obliczeniowego można włączyć lub wyłączyć po utworzeniu puli, chociaż może być konieczne ponowne uruchomienie wystąpienia. Jeśli chcesz włączyć tę funkcję w przyszłości, upewnij się, że obszar roboczy usługi Synapse zostanie utworzony w izolowanym regionie obsługiwanym przez zasoby obliczeniowe.

  • East US
  • Zachodnie stany USA 2
  • South Central US
  • US Gov Arizona
  • US Gov Wirginia

Węzły

Wystąpienie puli platformy Apache Spark składa się z jednego węzła głównego i co najmniej dwóch węzłów procesu roboczego z co najmniej trzema węzłami w wystąpieniu platformy Spark. Węzeł główny uruchamia dodatkowe usługi zarządzania, takie jak Livy, Yarn Resource Manager, Zookeeper i sterownik Spark. Wszystkie węzły uruchamiają usługi, takie jak Node Agent i Yarn Node Manager. Wszystkie węzły procesu roboczego uruchamiają usługę funkcji wykonawczej platformy Spark.

Rozmiary węzłów

Pulę platformy Spark można zdefiniować z rozmiarami węzłów, które wahają się od małego węzła obliczeniowego z 4 rdzeniami wirtualnymi i 32 GB pamięci do węzła obliczeniowego XXLarge z 64 rdzeniami wirtualnymi i 512 GB pamięci na węzeł. Rozmiary węzłów można zmienić po utworzeniu puli, chociaż może być konieczne ponowne uruchomienie wystąpienia.

Rozmiar Rdzenie wirtualne Memory (Pamięć)
Mały 4 32 GB
Śred. 8 64 GB
Duży 16 128 GB
XLarge 32 256 GB
XXLarge 64 512 GB
XXX — duże (izolowane obliczenia) 80 504 GB

Automatyczne skalowanie

Automatyczne skalowanie dla pul platformy Apache Spark umożliwia automatyczne skalowanie w górę i w dół zasobów obliczeniowych na podstawie ilości działań. Po włączeniu funkcji autoskalowania należy ustawić minimalną i maksymalną liczbę węzłów do skalowania. Gdy funkcja autoskalowania jest wyłączona, liczba ustawionych węzłów pozostanie stała. To ustawienie można zmienić po utworzeniu puli, chociaż może być konieczne ponowne uruchomienie wystąpienia.

Magazyn elastycznej puli

Pule platformy Apache Spark obsługują teraz magazyn elastycznej puli. Magazyn elastycznej puli umożliwia aparatowi Spark monitorowanie tymczasowego magazynu węzła roboczego i dołączanie dodatkowych dysków w razie potrzeby. Pule platformy Apache Spark korzystają z tymczasowego magazynu dysków podczas tworzenia wystąpienia puli. Zadania platformy Spark zapisują dane wyjściowe mapy mieszania, dane mieszania i rozlane dane na lokalne dyski maszyn wirtualnych. Przykłady operacji, które mogą korzystać z dysku lokalnego, to sortowanie, pamięć podręczna i utrwalanie. Po wyczerpaniu tymczasowego miejsca na dysku maszyny wirtualnej zadania platformy Spark mogą zakończyć się niepowodzeniem z powodu błędu "Brak miejsca na dysku" (java.io.IOException: brak miejsca na urządzeniu). W przypadku błędów "Za mało miejsca na dysku" znaczna część obciążenia zapobiega awarii zadań do klienta w celu ponownego skonfigurowania zadań platformy Spark (na przykład dostosowywania liczby partycji) lub klastrów (na przykład dodania kolejnych węzłów do klastra). Te błędy mogą nie być spójne, a użytkownik może w dużym stopniu eksperymentować, uruchamiając zadania produkcyjne. Ten proces może być kosztowny dla użytkownika w wielu wymiarach:

  • Zmarnowany czas. Klienci są zobowiązani do eksperymentowania w dużym stopniu z konfiguracjami zadań za pośrednictwem prób i błędów i oczekuje się, że zrozumiesz wewnętrzne metryki platformy Spark, aby podjąć właściwą decyzję.
  • Zmarnowane zasoby. Ponieważ zadania produkcyjne mogą przetwarzać różne ilości danych, zadania platformy Spark mogą zakończyć się niepowodzeniem w sposób niedeterministyczny, jeśli zasoby nie są nadmiernie aprowidowane. Rozważmy na przykład problem niesymetryczności danych, co może spowodować powstanie kilku węzłów wymagających więcej miejsca na dysku niż inne. Obecnie w usłudze Synapse każdy węzeł w klastrze uzyskuje ten sam rozmiar miejsca na dysku, a zwiększenie miejsca na dysku we wszystkich węzłach nie jest idealnym rozwiązaniem i prowadzi do ogromnych strat.
  • Spowolnienie wykonywania zadań. W hipotetycznym scenariuszu, w którym rozwiązujemy problem przez węzły skalowania automatycznego (przy założeniu, że koszty nie są problemem dla klienta końcowego), dodanie węzła obliczeniowego jest nadal kosztowne (trwa kilka minut) w przeciwieństwie do dodawania magazynu (zajmuje kilka sekund).

Nie jest wymagana żadna akcja, a w rezultacie powinna być widoczna mniejsza liczba niepowodzeń zadań.

Uwaga

Azure Synapse magazyn elastycznej puli jest obecnie dostępny w publicznej wersji zapoznawczej. W publicznej wersji zapoznawczej nie są naliczane opłaty za korzystanie z magazynu elastycznej puli.

Automatyczne wstrzymanie

Funkcja automatycznego wstrzymywania zwalnia zasoby po określonym okresie bezczynności, co zmniejsza całkowity koszt puli platformy Apache Spark. Liczbę minut bezczynności można ustawić po włączeniu tej funkcji. Funkcja automatycznego wstrzymywania jest niezależna od funkcji automatycznego skalowania. Zasoby można wstrzymać niezależnie od tego, czy skalowanie automatyczne jest włączone, czy wyłączone. To ustawienie można zmienić po utworzeniu puli, chociaż należy ponownie uruchomić aktywne sesje.

Następne kroki