Udostępnij za pośrednictwem


Co to jest środowisko obliczeniowe platformy Apache Spark w usłudze Microsoft Fabric?

Dotyczy:✅ inżynierowie danych i Nauka o danych w usłudze Microsoft Fabric

Środowisko inżynierowie danych i Nauka o danych usługi Microsoft Fabric działa na w pełni zarządzanej platformie obliczeniowej Apache Spark. Ta platforma została zaprojektowana w celu zapewnienia niezrównanej szybkości i wydajności. W przypadku pul startowych można oczekiwać szybkiej inicjowania sesji platformy Apache Spark, zwykle w ciągu 5 do 10 sekund, bez konieczności ręcznej konfiguracji. Uzyskasz również elastyczność dostosowywania pul platformy Apache Spark zgodnie z określonymi wymaganiami inżynierii danych i nauki o danych. Platforma umożliwia zoptymalizowane i dostosowane środowisko analityczne.

Obraz platformy obliczeniowej Spark z pulami startowymi i niestandardowymi pulami platformy Spark.

Pule początkowe

Pule początkowe to szybki i łatwy sposób korzystania z platformy Spark na platformie Microsoft Fabric w ciągu kilku sekund. Sesje platformy Spark można używać od razu, zamiast czekać na skonfigurowanie węzłów platformy Spark, co ułatwia wykonywanie większej ilości danych i szybsze uzyskiwanie szczegółowych informacji.

Obraz przedstawiający tabelę przedstawiającą konfigurację puli początkowej.

Pule początkowe mają klastry Apache Spark, które są zawsze włączone i gotowe do obsługi żądań. Używają średnich węzłów, które dynamicznie skalują się w górę na podstawie potrzeb zadań platformy Spark.

Diagram przedstawiający ogólny projekt pul startowych.

Pule początkowe mają również ustawienia domyślne, które umożliwiają szybkie instalowanie bibliotek bez spowalniania czasu rozpoczęcia sesji. Jeśli jednak chcesz użyć dodatkowych niestandardowych właściwości lub bibliotek platformy Apache Spark z obszaru roboczego lub ustawień pojemności, platforma Spark może dłużej pobierać węzły. Jeśli chodzi o rozliczenia i zużycie pojemności, opłaty są naliczane za zużycie pojemności podczas uruchamiania notesu lub definicji zadania platformy Apache Spark. Opłaty nie są naliczane za czas bezczynności klastrów w puli.

Diagram przedstawiający etapy wysokiego poziomu w rozliczeniach pul startowych.

Jeśli na przykład przesyłasz zadanie notesu do puli startowej, opłaty są naliczane tylko za okres, w którym sesja notesu jest aktywna. Rozliczany czas nie obejmuje czasu bezczynności ani czasu potrzebnego do spersonalizowania sesji z kontekstem platformy Spark.

Pule zadań platformy Spark

Pula platformy Spark to sposób informowania platformy Spark o rodzajach zasobów potrzebnych do zadań analizy danych. Możesz nadać puli Spark nazwę i wybrać liczbę i liczbę węzłów (maszyny, które wykonują pracę). Możesz również poinformować platformę Spark, jak dostosować liczbę węzłów w zależności od ilości pracy. Tworzenie puli platformy Spark jest bezpłatne; Płacisz tylko wtedy, gdy uruchamiasz zadanie spark w puli, a następnie platforma Spark konfiguruje węzły.

Jeśli nie używasz puli Spark przez 2 minuty po wygaśnięciu sesji, pula platformy Spark zostanie cofnięto przydział. Ten domyślny okres wygaśnięcia sesji jest ustawiony na 20 minut i można go zmienić, jeśli chcesz. Jeśli jesteś administratorem obszaru roboczego, możesz również utworzyć niestandardowe pule platformy Spark dla obszaru roboczego i ustawić je jako domyślną dla innych użytkowników. Dzięki temu możesz zaoszczędzić czas i uniknąć konfigurowania nowej puli spark za każdym razem, gdy uruchamiasz notes lub zadanie platformy Spark. Uruchamianie niestandardowych pul platformy Spark trwa około trzech minut, ponieważ platforma Spark musi pobrać węzły z platformy Azure.

Można nawet utworzyć pule platformy Spark z jednym węzłem, ustawiając minimalną liczbę węzłów na jeden, dlatego sterownik i funkcja wykonawcza są uruchamiane w jednym węźle, który jest dostarczany z możliwością przywracania wysokiej dostępności i jest odpowiedni dla małych obciążeń.

Rozmiar i liczba węzłów, które można mieć w niestandardowej puli platformy Spark, zależy od pojemności usługi Microsoft Fabric. Pojemność to miara ilości mocy obliczeniowej, której można używać na platformie Azure. Jednym ze sposobów myślenia jest to, że dwa rdzenie wirtualne platformy Apache Spark (jednostka mocy obliczeniowej dla platformy Spark) są równe jednej jednostce pojemności. Na przykład jednostka SKU pojemności sieci szkieletowej F64 ma 64 jednostki pojemności, co odpowiada 128 rdzeniom wirtualnym platformy Spark. Za pomocą tych rdzeni wirtualnych platformy Spark można tworzyć węzły o różnych rozmiarach dla niestandardowej puli Spark, o ile łączna liczba rdzeni wirtualnych platformy Spark nie przekracza 128.

Pule platformy Spark są rozliczane jak pule początkowe; Nie płacisz za utworzone niestandardowe pule platformy Spark, chyba że masz aktywną sesję platformy Spark utworzoną na potrzeby uruchamiania notesu lub definicji zadania platformy Spark. Opłaty są naliczane tylko za czas trwania przebiegów zadania. Po zakończeniu zadania nie są naliczane opłaty za etapy, takie jak tworzenie klastra i cofanie przydziału.

Diagram przedstawiający etapy wysokiego poziomu w rozliczeniach pul niestandardowych.

Jeśli na przykład przesyłasz zadanie notesu do niestandardowej puli Spark, opłaty są naliczane tylko za okres, w którym sesja jest aktywna. Rozliczenia dla tej sesji notesu są zatrzymywane po zatrzymaniu lub wygaśnięciu sesji platformy Spark. Nie są naliczane opłaty za czas potrzebny na uzyskanie wystąpień klastra z chmury ani na czas potrzebny na zainicjowanie kontekstu platformy Spark.

Możliwe konfiguracje puli niestandardowej dla F64 na podstawie poprzedniego przykładu:

Jednostka SKU pojemności sieci szkieletowej Jednostki pojemności Rdzenie wirtualne platformy Spark Rozmiar węzła Maksymalna liczba węzłów
F64 64 384 Mały 96
F64 64 384 Śred. 48
F64 64 384 Duży 24
F64 64 384 X-Large 12
F64 64 384 XX-Duży 6

Uwaga

Aby utworzyć pule niestandardowe, musisz mieć uprawnienia administratora dla obszaru roboczego. A administrator pojemności usługi Microsoft Fabric musi udzielić uprawnień, aby umożliwić administratorom obszaru roboczego ustawianie rozmiaru niestandardowych pul platformy Spark. Aby dowiedzieć się więcej, zobacz Wprowadzenie do niestandardowych pul platformy Spark w usłudze Fabric

Węzły

Wystąpienie puli platformy Apache Spark składa się z jednego węzła głównego i węzła roboczego, może uruchomić co najmniej jeden węzeł w wystąpieniu platformy Spark. Węzeł główny uruchamia dodatkowe usługi zarządzania, takie jak Livy, Yarn Resource Manager, Zookeeper i sterownik Apache Spark. Wszystkie węzły uruchamiają usługi, takie jak Agent węzła i Menedżer węzłów Yarn. Wszystkie węzły robocze uruchamiają usługę funkcji wykonawczej platformy Apache 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 28 GB pamięci) do dwukrotnie dużego węzła obliczeniowego (z 64 rdzeniami wirtualnymi i 400 GB pamięci na węzeł). Rozmiary węzłów można zmienić po utworzeniu puli, chociaż należy ponownie uruchomić aktywną sesję.

Rozmiar Rdzenie wirtualne Pamięć
Mały 100 32 GB
Śred. 8 64 GB
Duży 16 128 GB
X-Large 32 256 GB
XX-Duży 64 512 GB

Skalowanie automatyczne

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. Po wyłączeniu funkcji autoskalowania liczba ustawionych węzłów pozostaje stała. To ustawienie można zmienić po utworzeniu puli, chociaż może być konieczne ponowne uruchomienie wystąpienia.

Uwaga

Domyślnie parametr spark.yarn.executor.likwid.enabled ma wartość true, co umożliwia automatyczne zamykanie nie w pełni wykorzystanych węzłów w celu zoptymalizowania wydajności obliczeniowej. Jeśli preferowane jest mniej agresywne skalowanie w dół, można ustawić tę konfigurację na wartość false

Alokacja dynamiczna

Alokacja dynamiczna umożliwia aplikacji Apache Spark żądanie większej liczby funkcji wykonawczych, jeśli zadania przekraczają obciążenie, które mogą ponosić bieżące funkcje wykonawcze. Zwalnia również funkcje wykonawcze po zakończeniu zadań, a jeśli aplikacja Spark przechodzi do stanu bezczynności. Użytkownicy korporacyjni często trudno dostroić konfiguracje funkcji wykonawczej, ponieważ różnią się one znacznie między różnymi etapami procesu wykonywania zadania platformy Spark. Te konfiguracje są również zależne od ilości przetworzonych danych, co zmienia się od czasu do czasu. Możesz włączyć dynamiczną alokację funkcji wykonawczych w ramach konfiguracji puli, która umożliwia automatyczną alokację funkcji wykonawczych do aplikacji Spark na podstawie węzłów dostępnych w puli Spark.

Po włączeniu opcji alokacji dynamicznej dla każdej przesłanej aplikacji Platformy Spark system rezerwuje funkcje wykonawcze podczas kroku przesyłania zadania na podstawie minimalnych węzłów. Należy określić maksymalną liczbę węzłów do obsługi pomyślnych scenariuszy automatycznego skalowania.