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.
Dotyczy:✅ Inżynieria danych sieci szkieletowej i nauka o danych
Inżynieria danych w Fabric i nauka o danych działają na w pełni zarządzanej platformie obliczeniowej Apache Spark. Pule startowe zapewniają szybkie uruchamianie sesji, zwykle w ciągu 5 do 10 sekund, bez ręcznej konfiguracji. Niestandardowe pule Spark umożliwiają dostosowanie rozmiaru węzła, dynamiki skalowania i innych ustawień obliczeniowych dla obciążenia. Krótko mówiąc, pule początkowe zapewniają szybką, wstępnie skonfigurowaną platformę Spark, a niestandardowe pule platformy Spark zapewniają głębszą kontrolę i elastyczność.
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 Spark można używać od razu, zamiast czekać na skonfigurowanie węzłów dla ciebie, co ułatwia pracę z większą ilością danych i szybsze uzyskiwanie wglądów w dane.
Pule początkowe mają klastry Platformy Apache Spark z sesjami, 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.
Jeśli używasz puli startowej bez dodatkowych zależności bibliotek ani niestandardowych właściwości platformy Spark, sesja zazwyczaj rozpoczyna się od 5 do 10 sekund. To szybkie uruchamianie jest możliwe, ponieważ klaster jest już uruchomiony i nie wymaga czasu aprowizacji.
Uwaga
Pule początkowe obsługują tylko średni rozmiar węzła. W przypadku wybrania innego rozmiaru węzła lub dostosowania konfiguracji obliczeniowych, Fabric używa uruchamiania sesji na żądanie, co może potrwać od 2 do 5 minut.
Istnieje jednak kilka scenariuszy, w których rozpoczęcie sesji może potrwać dłużej.
Biblioteki niestandardowe lub właściwości platformy Spark: jeśli w danym środowisku skonfigurowano biblioteki lub ustawienia niestandardowe, platforma Spark musi spersonalizować sesję po jej utworzeniu. Ten proces może dodać około 30 sekund do 5 minut do czasu uruchomienia, w zależności od liczby i rozmiaru zależności biblioteki.
Pule początkowe w twoim regionie są w pełni używane: w rzadkich przypadkach pule początkowe regionu mogą być tymczasowo wyczerpane z powodu dużego ruchu. W takim przypadku sieć szkieletowa uruchamia nowy klaster, aby obsłużyć żądanie, co zajmuje około 2 do 5 minut. Po udostępnieniu nowego klastra rozpocznie się sesja. Jeśli masz również niestandardowe biblioteki do zainstalowania, dodaj 30 sekund do 5 minut wymaganego czasu na personalizację.
Zaawansowane funkcje sieciowe lub zabezpieczeń (Łącza Prywatne lub Zarządzane Sieci Wirtualne): Jeśli obszar roboczy ma funkcje sieciowe, takie jak Łącza Prywatne Lokatorów lub Zarządzane Sieci Wirtualne, pule początkowe nie są obsługiwane. W takiej sytuacji sieć szkieletowa musi utworzyć klaster na żądanie, który dodaje 2 do 5 minut do czasu rozpoczęcia sesji. Jeśli masz również zależności biblioteki, ten krok personalizacji może dodać kolejne 30 sekund do 5 minut.
Oto kilka przykładowych scenariuszy ilustrujących potencjalne czasy rozpoczęcia:
| Scenariusz | Typowy czas uruchamiania |
|---|---|
| ustawienia domyślne bez bibliotek | 5– 10 sekund |
| domyślne ustawienia i zależności biblioteki | 5 – 10 sekund + 30 sekund – 5 minut (w przypadku konfiguracji biblioteki) |
| duży ruch w regionie, brak bibliotek | 2 – 5 minut |
| Wysokie natężenie ruchu + zależności bibliotek | 2 – 5 minut + 30 sekund – 5 minut (dla bibliotek) |
| zabezpieczenia sieci (łącza prywatne/sieć wirtualna), brak bibliotek | 2 – 5 minut |
| Zabezpieczenia sieci i zależności biblioteki | 2 – 5 minut + 30 sekund – 5 minut (dla bibliotek) |
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 nieaktywności klastrów w puli.
Jeśli na przykład przesyłasz zadanie notatnika do puli początkowej, opłaty są naliczane tylko za okres, w którym sesja notatnika jest aktywna. Rozliczany czas nie obejmuje czasu bezczynności ani czasu potrzebnego do spersonalizowania sesji z kontekstem platformy Spark. Aby dowiedzieć się więcej, zobacz Konfigurowanie pul startowych w Fabric.
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ę oraz określić, ile jest węzłów i jakiej są wielkości (maszyny, które wykonują zadania). Możesz również poinformować platformę Spark, jak dostosować liczbę węzłów w zależności od ilości pracy. Tworzenie puli Spark jest bezpłatne; płacisz tylko wtedy, gdy uruchamiasz zadanie Spark na puli, a Spark konfiguruje węzły dla ciebie.
Jeśli nie używasz puli Spark przez 2 minuty po wygaśnięciu sesji, zostanie ona usunięta. 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 notatnik lub zadanie platformy Spark. Uruchamianie niestandardowych pul platformy Spark trwa około trzech minut, ponieważ platforma Spark musi pobrać węzły z 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 Spark, zależy od dostępnych zasobów Microsoft Fabric. Pojemność to miara ilości mocy obliczeniowej, której można użyć. Jednym ze sposobów myślenia o tym jest to, że dwa rdzenie wirtualne platformy Apache Spark (jednostka obliczeń platformy Spark) są równe jednej jednostce pojemności.
Uwaga
Na Apache Spark użytkownicy otrzymują dwa rdzenie wirtualne Apache Spark dla każdej jednostki, którą rezerwują w ramach SKU. Jedna jednostka pojemności = dwa rdzenie wirtualne platformy Spark. Na przykład F64 daje 128 rdzeni wirtualnych platformy Spark, a chwilowy mnożnik 3x zwiększa tę wartość do 384 rdzeni wirtualnych platformy Spark.
Na przykład jednostka SKU pojemności Fabric F64 ma 64 jednostki pojemności, co odpowiada 384 Spark VCores (64 * 2 * 3X Burst Multiplier). Za pomocą tych rdzeni wirtualnych Spark można tworzyć węzły o różnych rozmiarach dla niestandardowej puli Spark, o ile łączna liczba rdzeni wirtualnych Spark nie przekracza 384.
Pule Spark są rozliczane jak pule startowe; nie płacisz za utworzone niestandardowe pule Spark, chyba że masz aktywną sesję Spark utworzoną do uruchomienia notesu lub definicji zadania Spark. Opłaty są naliczane tylko za czas wykonania zadania. Po zakończeniu zadania nie są naliczane opłaty za etapy, takie jak tworzenie klastra i dealokacja.
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. Rozliczanie za tę sesję notatnika jest wstrzymywane 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 niestandardowej puli dla F64 w oparciu o poprzedni przykład. Mniejsze rozmiary węzłów mają pojemność rozłożoną na więcej węzłów, więc maksymalna liczba węzłów jest wyższa. Większe węzły są bogate w zasoby, dlatego potrzebne jest mniej węzłów:
| SKU pojemności materiału | Jednostki pojemności | Maksymalna liczba rdzeni VCore programu Spark ze współczynnikiem zwiększenia | Rozmiar węzła | Maksymalna liczba węzłów |
|---|---|---|---|---|
| F64 | 64 | 384 | Mały | 96 |
| F64 | 64 | 384 | Średni | 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. Administrator pojemności Microsoft Fabric musi również udzielić uprawnień, które umożliwiają administratorom przestrzeni roboczej ustalanie rozmiaru niestandardowych pul platformy Spark. Aby dowiedzieć się więcej, zobacz Wprowadzenie do niestandardowych pul Spark w Fabric.
Węzły
Instancja puli Apache Spark składa się z jednego węzła głównego i co najmniej jednego węzła roboczego. Instancja Spark może rozpoczynać się od jednego węzła. Węzeł główny uruchamia 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łów i Menedżer węzłów YARN. Wszystkie węzły robocze uruchamiają usługę funkcji wykonawczej platformy Apache Spark.
Uwaga
W Fabric stosunek węzłów do wykonawców wynosi zawsze 1:1. Podczas konfigurowania puli jeden węzeł jest dedykowany sterownikowi, a pozostałe węzły są używane dla funkcji wykonawczych. Jedynym wyjątkiem jest konfiguracja z jednym węzłem, w której zasoby zarówno sterownika, jak i funkcji wykonawczej są o połowę mniejsze.
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 dwukrotnie dużego węzła obliczeniowego (z 64 rdzeniami wirtualnymi i 512 GB pamięci na węzeł). Rozmiary węzłów można zmienić po utworzeniu puli, chociaż należy ponownie uruchomić aktywną sesję.
| Rozmiar | rdzeń wirtualny | Pamięć |
|---|---|---|
| Mały | 4 | 32 GB |
| Średni | 8 | 64 GB |
| Duży | 16 | 128 GB |
| X-Large | 32 | 256 GB |
| XX-Duży | 64 | 512 GB |
Uwaga
Rozmiary węzłów X-Large i XX-Large są dozwolone tylko dla SKU Fabric spoza wersji próbnej.
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 instancji.
Uwaga
Domyślnie parametr spark.yarn.executor.decommission.enabled ma wartość true, co umożliwia automatyczne wyłączanie niewykorzystanych węzłów w celu maksymalizacji 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żytkownikom korporacyjnym często jest trudno dostroić konfiguracje wykonawcze, ponieważ znacznie się różnią na różnych etapach procesu wykonywania zadania 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 Spark system rezerwuje egzekutory na podstawie minimalnej liczby węzłów podczas kroku przesyłania zadania. Należy określić maksymalną liczbę węzłów do obsługi pomyślnych scenariuszy automatycznego skalowania.