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.
Wraz z wprowadzeniem lekkich notesów języka Python w usłudze Microsoft Fabric klienci mają teraz dwie niezawodne opcje tworzenia i skalowania przepływów pracy analizy: Notesy języka Python i notesy PySpark. Oba zapewniają znany interfejs notesu, ale różnią się znacznie w sposobie zarządzania zasobami obliczeniowymi, skalowalnością i wydajnością kosztów.
Fabric upraszcza proces wybierania lub przechodzenia między typami notatników, umożliwiając specjalistom ds. danych optymalizację pod kątem elastyczności, wydajności i budżetu. Ten przewodnik ułatwia ocenę, który notebook najlepiej nadaje się do bieżących potrzeb i jak rozwijać podejście w miarę zwiększania złożoności i skali obciążeń roboczych. "Pula startowa" zapewnia wstępnie rozgrzany kontener obliczeniowy, który umożliwia niemal natychmiastowe uruchamianie notebooków Python lub PySpark.
Macierz szybkiej decyzji — szybkie wybieranie
Najlepsze rozwiązanie do szybkiego wyboru na podstawie typu obciążenia.
Skorzystaj z tego przewodnika na wysokim poziomie, aby szybko określić najbardziej odpowiedni typ notatnika dla typowych schematów obciążenia. Ta tabela jest najlepsza w przypadku wczesnego planowania i przeglądów architektury.
Scenariusz | Zalecany notatnik |
---|---|
Obejmuje wstępnie zainstalowane biblioteki DuckDB i Polars | Notesy języka Python |
Małe i średnie dane (mieści się w pamięci) | Notesy języka Python (lub PySpark w jednowęzłowym klastrze Spark) |
Szybka eksploracja i tworzenie prototypów | Notesy języka Python (lub PySpark w jednowęzłowym klastrze Spark) |
Duże zestawy danych (10 GB+) przekraczające pamięć | Notatniki PySpark |
Złożone przepływy pracy danych lub potoki ETL | Notatniki PySpark |
Wysoka współbieżność lub przetwarzanie równoległe | Notatniki PySpark |
Wymaga natywnych interfejsów API platformy Spark (MLlib, SQL, Streaming) | Notatniki PySpark |
Krótkie podsumowanie kluczowych scenariuszy — dokładne porównanie
Użyj tej uporządkowanej tabeli porównawczej, aby zrozumieć kompromisy architektoniczne i operacyjne między rodzajami notebooków. Najlepiej nadaje się do oceny inżynieryjnej lub planowania implementacji.
Wykonywanie i wydajność
Scenariusz | Notatniki języka Python (2-rdzeniowa maszyna wirtualna) | Notatniki PySpark (Spark Compute) |
---|---|---|
Czas uruchamiania | Wbudowana pula startowa inicjuje się w około 5 sekund, a pula na żądanie zajmuje około 3 minut. | Uruchamianie trwa od około 5 sekund (pula startowa) do kilku minut (klastry Spark na żądanie). |
Szybkie przekształcenia i wywołania API | Idealne rozwiązanie dla zestawów danych o małych i średnich rozmiarach (do 1 GB) | Zoptymalizowane pod kątem dużych zestawów danych przy użyciu wykonywania wektoryzowanego. |
Umiarkowane obciążenia | Nie zoptymalizowane pod kątem rozmiarów danych zbliżających się do nasycenia pamięci | Wydajne skalowanie dzięki rozproszonemu przetwarzaniu. |
Obsługa dużych zestawów danych | Ograniczenie wynikające z pamięci pojedynczego węzła. Może zmagać się ze skalowaniem. | Przetwarzanie rozproszone zapewnia skalowalną obsługę obciążeń od wielu GB do TB. |
High-Concurrency Wykonywanie | Ręczna równoległość w stylu FIFO w każdym zeszycie | Współbieżność zarządzana przez system z obsługą wykonywania równoległego. |
Dostosowywanie i skalowanie zasobów | Stałe zasoby obliczeniowe (2-rdzeniowa maszyna wirtualna); nie posiada automatycznego skalowania. Użytkownicy mogą ręcznie skalować poziomo przy użyciu %%config w notatniku. | Elastyczna alokacja zasobów; obsługuje skalowanie automatyczne i niestandardowe konfiguracje platformy Spark. |
Przepływ pracy i aranżacja
Scenariusz | Notatniki języka Python (2-rdzeniowa maszyna wirtualna) | Notatniki PySpark (Spark Compute) |
---|---|---|
Orkiestracja interfejsu API | Skuteczne w przypadku lekkich przepływów aranżacji i sterowania, zwłaszcza integracji opartych na protokole REST/gRPC | Mniej optymalny dla podstawowych zadań orkiestracji z powodu dłuższego uruchamiania i rozproszonego obciążenia. |
Złożone DAG ETL | Ograniczone do sekwencyjnego wykonywania zadań (FlFO) w jednym węźle bez obsługi przetwarzania równoległego. | Obsługuje współbieżne wykonywanie zadań w grupach DAG przy użyciu planowania FlFO lub FAlR, umożliwiając wydajne przetwarzanie równoległe dla złożonych przepływów pracy ETL. |
Obsługa platformy i bibliotek
Scenariusz | Notatniki języka Python (2-rdzeniowa maszyna wirtualna) | Notatniki PySpark (Spark Compute) |
---|---|---|
Dostęp do biblioteki | Silna obsługa biblioteki języka Python w wielu środowiskach uruchomieniowych; jednak ograniczony dostęp do bibliotek natywnych platformy Spark może wymagać ręcznej integracji. | W pełni obsługuje biblioteki MLlib, Spark SQL, PySpark i Spark Streaming. |
Obsługa Delta Lake | Środowisko uruchomieniowe notesu języka Python zawiera wstępnie zainstalowane biblioteki deltas i duckdb, co umożliwia odczytywanie i zapisywanie danych Delta Lake. Jednak niektóre funkcje usługi Delta Lake mogą być nadal nieobsługiwane. | W pełni obsługiwane ze zgodnością z natywnymi systemami. |
Gotowość do produkcji i przedsiębiorstwa
Scenariusz | Notatniki języka Python (2-rdzeniowa maszyna wirtualna) | Notatniki PySpark (Spark Compute) |
---|---|---|
Zarządzanie produkcją | Ograniczone funkcje produkcyjne; Nie obsługuje zmiennych środowiska. | Obsługa produkcyjnych przepływów pracy ze zmiennymi środowiskowymi, zarządzaniem biblioteką za pomocą elementów środowiska i wdrażaniem opartym na elementach. |
Zagadnienia dotyczące kosztów
Scenariusz | Notatniki języka Python (2-rdzeniowa maszyna wirtualna) | Notatniki PySpark (Spark Compute) |
---|---|---|
Profil kosztów | Niższy koszt początkowy (minimum 2 rdzenie wirtualne); najlepiej nadaje się do obsługi lekkich obciążeń ad hoc. | Wyższy koszt początkowy (co najmniej 4 rdzenie wirtualne); przeznaczony dla skalowalnych obciążeń klasy korporacyjnej. Skalowanie automatyczne może obniżyć koszty, co może spowodować obniżenie całkowitego kosztu posiadania (TCO). |
Kiedy używać języka Python czy notebooków PySpark
Notesy materiałowe zapewniają elastyczność dla szerokiego zakresu użytkowników i obciążeń roboczych. Ta sekcja ułatwia ocenę, który typ notesu najlepiej pasuje do bieżących i przyszłych potrzeb.
Notesy języka Python umożliwiają szybką iterację, ekonomiczną analizę i interaktywne programowanie. Są one idealne dla mniejszych zestawów danych i obejmują natywną obsługę bibliotek, takich jak DuckDB i Polars.
Użyj notesów PySpark do przetwarzania rozproszonego, przepływów pracy ETL klasy produkcyjnej lub scenariuszy, w których niezbędne są interfejsy API o wysokiej współbieżności i natywnych dla platformy Spark.
Wybierz notatniki Python, gdy:
- Potrzebujesz szybkiego uruchamiania (zazwyczaj w ciągu kilku sekund) w uproszczonym kontenerze 2-rdzeniowym.
- Jeśli minimalizacja kosztów obliczeniowych jest priorytetem — na potrzeby interaktywnej analizy lub zaplanowanych mikrozadań.
- Potrzebujesz natychmiastowego dostępu do bibliotek, które można zainstalować za pomocą pip oraz wstępnie zainstalowanych DuckDB i Polars.
- Należy przetestować różne wersje środowiska uruchomieniowego języka Python.
- Dane bez problemu mieszczą się w pamięci pojedynczego węzła.
Wybierz Notesy PySpark, gdy:
- Obciążenia przekraczają limity pamięci lub zasobów obliczeniowych pojedynczego węzła.
- Do uruchamiania zadań równoległych w notesach wymagane są zespoły o wysokiej współbieżności.
- Organizujesz złożone potoki ETL z planowaniem typu FAIR lub FIFO.
- Korzystasz z natywnych dla platformy Spark interfejsów API, takich jak MLlib, Spark SQL lub Spark Streaming.
- Potrzebujesz funkcji klasy produkcyjnej, takich jak zmienne środowiskowe i zarządzanie bibliotekami opartymi na elementach.
Kluczowe różnice w skrócie — zwięzłe informacje
Zobacz Słownik na końcu tego przewodnika, aby zapoznać się z definicjami terminów, takich jak VORDER, NEE i Items-Based Library Management.
Ta sekcja zawiera krótkie informacje na temat podstawowych różnic technicznych i architektonicznych między notesami Python i PySpark.
Kategoria | Notesy języka Python | Notatniki PySpark |
---|---|---|
Czas wykonania obliczeń | Uproszczony kontener (2-rdzeniowa maszyna wirtualna) | Klaster Spark (pula z jednym węzłem lub pulą o wysokiej współbieżności) |
Czas uruchamiania | Natychmiastowe uruchamianie (w sekundach poprzez pulę startową) | Czas uruchamiania wynosi od około 5 sekund (za pośrednictwem puli startowej) do kilku minut (w przypadku korzystania z klastrów Spark na żądanie). |
Profil kosztów | Niższy koszt; idealne do wykonywania krótkich zadań i tworzenia prototypów | Wyższy koszt; dostosowane do skalowalnych, długotrwałych obciążeń |
Wersjonowanie w Pythonie/Sparku | Dostępnych jest wiele wersji języka Python | Powiązane z określoną wersją środowiska uruchomieniowego platformy Spark |
Biblioteki niestandardowe | Zainstaluj pip + foldery zasobów | pip instalacja + foldery zasobów + elementy środowiska |
Możliwości architektury Spark | Ograniczony dostęp do funkcji silnika Spark | Pełny dostęp: NEE, Autotune, VORDER, Vegas Cache |
Zgodność Delta Lake | Częściowo zgodne; potencjalne problemy z wydajnością | W pełni obsługiwane i zoptymalizowane |
Rozwijanie obciążenia: od języka Python do PySpark
Notesy tkaninowe zostały zaprojektowane tak, aby rosnąć wraz ze wzrostem złożoności obciążenia. W tej sekcji opisano, jak można skalować strategię Notatnika od prostej eksploracji do rozproszonego przetwarzania danych.
Etap | Zalecany notatnik | Warunek wyzwalacza |
---|---|---|
Rozpocznij | Notatniki Pythona (2-rdzeniowe) | Małe, interaktywne obciążenia |
Skalowanie w górę | Notatniki Python (ręczne przełączanie na większą maszynę wirtualną) | Przekraczanie limitów pamięci lub procesora |
Skalowanie w poziomie | Notatniki PySpark (ręczne przełączanie do puli Spark) | Potrzeba rozproszonego przetwarzania lub równoległego wykonywania obliczeń |
Wskazówka
Podczas przechodzenia do programu PySpark upewnij się, że kod używa składni zgodnej z platformą Spark. Przed wdrożeniem w środowisku Spark zweryfikuj obciążenia w środowisku produkcyjnym.
Podsumowanie
Notesy języka Python obsługują operacje jądra, takie jak przerywanie i ponowne uruchamianie jądra, co przyspiesza programowanie interakcyjne. Są one idealne do szybkiej, ekonomicznej analizy małych i średnich zestawów danych oraz świetnie się sprawdzają w zakresie tworzenia prototypów, eksperymentowania i prostych zaplanowanych zadań.
W miarę zwiększania się wolumenu i złożoności danych, notesy PySpark oferują rozproszoną moc obliczeniową i funkcje klasy produkcyjnej niezbędne do analityki w przedsiębiorstwach na dużą skalę. Wybór odpowiedniego laptopa to rozwijający się proces. Zacznij od najprostszej opcji, która spełnia bieżące potrzeby i skaluj w miarę rozwoju środowiska danych.
Zapoznaj się z słownikiem na ostatniej stronie, aby uzyskać wyjaśnienia terminów, takich jak NEE, VORDER i Vegas Cache.
Słownik terminów
- Item-Based Zarządzanie bibliotekami: zarządza wersjami pakietów i bibliotek produkcyjnych w elemencie Środowisko.
- Zgodność Delta Lake: obsługa międzyśrodowiskowa dla tabel Delta; w pełni obsługiwane w PySpark.
- FAIR Scheduling: zasady planowania, które przydzielają zasoby sprawiedliwie w ramach współbieżnych zadań platformy Spark.
- Planowanie FIFO: Pierwsze wFirst-Out kolejności wykonywania dla harmonogramowania zadań.
- NEE (Native Execution Engine): zoptymalizowany aparat zapytań unikatowy dla Fabric Spark.
- Pula platformy Spark: współużytkowany zasób obliczeniowy do uruchamiania rozproszonych obciążeń platformy Spark.
- VORDER: Optymalizacja struktury dla wektoryzowanych ścieżek wykonania zapytań.
- Przyspieszanie wektoryzowane: przetwarza dane w partiach przy użyciu operacji wektorów w celu zwiększenia wydajności.
- Vegas Cache: pamięć podręczna w pamięci, która przyspiesza powtarzany dostęp do danych platformy Spark.