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.
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.
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.
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.
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.
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.