Porównanie inżynierowie danych sieci szkieletowej i platformy Azure Synapse Spark
To porównanie inżynierowie danych sieci szkieletowej i usługi Azure Synapse Spark zawiera podsumowanie kluczowych funkcji i szczegółowej analizy w różnych kategoriach, w tym pul platformy Spark, konfiguracji, bibliotek, notesów i definicji zadań platformy Spark.
W poniższej tabeli porównaliśmy platformę Azure Synapse Spark i usługę Fabric Spark w różnych kategoriach:
Kategoria | Azure Synapse Spark | Sieć szkieletowa Spark |
---|---|---|
Pule zadań platformy Spark | Pula platformy Spark - - |
Pula niestandardowa puli / początkowej Kolejność V Wysoka współbieżność |
Konfiguracje platformy Spark | Poziom puli Poziom definicji zadań notesu lub platformy Spark |
Poziom środowiska Poziom definicji zadań notesu lub platformy Spark |
Biblioteki platformy Spark | Pakiety na poziomie obszaru roboczego Pakiety na poziomie puli Pakiety wbudowane |
- Biblioteki środowiska Biblioteki wbudowane |
Zasoby | Notes (Python, Scala, Spark SQL, R, .NET) Definicja zadania platformy Spark (Python, Scala, .NET) Potoki danych usługi Synapse Działania potoku (notes, SJD) |
Notes (Python, Scala, Spark SQL, R) Definicja zadania platformy Spark (Python, Scala, R) Potoki danych usługi Data Factory Działania potoku (notes, SJD) |
Data | Magazyn podstawowy (ADLS Gen2) Miejsce przechowywania danych (oparte na klastrze/regionie) |
Magazyn podstawowy (OneLake) Miejsce przechowywania danych (pojemność/region) |
Metadane | Wewnętrzny magazyn metadanych Hive (HMS) Zewnętrzny HMS (przy użyciu usługi Azure SQL DB) |
Wewnętrzny HMS (jezioro) - |
Połączenia | Typ łącznika (połączone usługi) Źródła danych Conn źródła danych. z tożsamością obszaru roboczego |
Typ łącznika (DMTS) Źródła danych - |
Zabezpieczenia | Kontrola dostępu oparta na rolach i kontrola dostępu Listy ACL magazynu (ADLS Gen2) Łącza prywatne Zarządzana sieć wirtualna (izolacja sieci) Tożsamość obszaru roboczego usługi Synapse Ochrona przed eksfiltracją danych (DEP) Tagi usługi Key Vault (za pośrednictwem mssparkutils/ połączonej usługi) |
Kontrola dostępu oparta na rolach i kontrola dostępu Kontrola dostępu oparta na rolach w usłudze OneLake Łącza prywatne Zarządzana sieć wirtualna Tożsamość obszaru roboczego - Tagi usługi Key Vault (za pośrednictwem notebookutils) |
DevOps | Integracja usługi Azure DevOps Ciągła integracja/ciągłe wdrażanie (brak wbudowanej obsługi) |
Integracja usługi Azure DevOps Potoki wdrażania |
Środowisko dewelopera | Integracja środowiska IDE (IntelliJ) Interfejs użytkownika programu Synapse Studio Współpraca (obszary robocze) Livy API Interfejs API/zestaw SDK mssparkutils |
Integracja środowiska IDE (VS Code) Interfejs użytkownika sieci szkieletowej Współpraca (obszary robocze i udostępnianie) interfejs API Livy Interfejs API/zestaw SDK notebooktutils |
Rejestrowanie i monitorowanie | Spark Advisor Wbudowane pule i zadania monitorowania (za pośrednictwem programu Synapse Studio) Serwer historii platformy Spark Prometheus/Grafana Log Analytics Konto magazynu Event Hubs |
Spark Advisor Wbudowane pule i zadania monitorowania (za pośrednictwem centrum monitorowania) Serwer historii platformy Spark - Analiza dzienników Konto magazynu Centra Wydarzeń |
Ciągłość biznesowa i odzyskiwanie po awarii (BCDR) | BCDR (dane) ADLS Gen2 | BCDR (dane) OneLake |
Zagadnienia i ograniczenia:
Integracja usługi DMTS: nie można używać usługi DMTS za pośrednictwem notesów i definicji zadań platformy Spark.
Kontrola dostępu na podstawie ról na poziomie obciążenia: sieć szkieletowa obsługuje cztery różne role obszaru roboczego. Aby uzyskać więcej informacji, zobacz Role w obszarach roboczych w usłudze Microsoft Fabric.
Tożsamość zarządzana: obecnie sieć szkieletowa nie obsługuje uruchamiania notesów i definicji zadań platformy Spark przy użyciu tożsamości obszaru roboczego ani tożsamości zarządzanej dla usługi Azure KeyVault w notesach.
Ciągła integracja/ciągłe wdrażanie: możesz użyć interfejsu API/zestawu SDK sieci szkieletowej i potoków wdrażania.
Inne zagadnienia:
- JDBC: obsługa połączeń JDBC nie jest obecnie dostępna w sieci szkieletowej.
Porównanie puli platformy Spark
W poniższej tabeli porównaliśmy pule platform Azure Synapse Spark i Fabric Spark.
Ustawienie platformy Spark | Azure Synapse Spark | Sieć szkieletowa Spark |
---|---|---|
Pula na żywo (wstępnie ciepłe wystąpienia) | - | Tak, pule startowe |
Pula niestandardowa | Tak | Tak |
Wersje platformy Spark (środowisko uruchomieniowe) | 2.4, 3.1, 3.2, 3.3, 3.4 | 3.3, 3.4, 3.5 |
Skalowanie automatyczne | Tak | Tak |
Dynamiczna alokacja funkcji wykonawczych | Tak, do 200 | Tak, na podstawie pojemności |
Regulowane rozmiary węzłów | Tak, 3–200 | Tak, 1 na podstawie pojemności |
Minimalna konfiguracja węzła | 3 węzły | 1 węzeł |
Rodzina rozmiarów węzłów | Zoptymalizowane pod kątem pamięci, przyspieszony procesor GPU | Optymalizacja pod kątem pamięci |
Rozmiar węzła | Small-XXXLarge | Mała XXLarge |
Automatyczne zapisywanie | Tak, dostosowywalne minimum 5 minut | Tak, niedokuminowalne 2 minuty |
Wysoka współbieżność | Nie. | Tak |
Kolejność V | Nie. | Tak |
Automatyczne dostrajenie platformy Spark | Nie. | Tak |
Aparat wykonywania natywnego | Nie. | Tak |
Limity współbieżności | Stała | Zmienna oparta na pojemności |
Wiele pul platformy Spark | Tak | Tak (środowiska) |
Inteligentna pamięć podręczna | Tak | Tak |
Obsługa interfejsu API/zestawu SDK | Tak | Tak |
Środowisko uruchomieniowe: sieć szkieletowa nie obsługuje wersji spark 2.4, 3.1 i 3.2. Platforma Spark sieci szkieletowej obsługuje platformę Spark 3.3 z funkcją Delta 2.2 w środowisku uruchomieniowym 1.1, platformą Spark 3.4 z funkcją Delta 2.4 w środowisku uruchomieniowym 1.2 i platformą Spark 3.5 z funkcją Delta 3.1 w środowisku uruchomieniowym 1.3.
Autoskalowanie: w usłudze Azure Synapse Spark pula może skalować do 200 węzłów niezależnie od rozmiaru węzła. W sieci szkieletowej maksymalna liczba węzłów podlega rozmiarowi węzła i aprowizowanej pojemności. Zapoznaj się z poniższym przykładem jednostki SKU F64.
Rozmiar puli platformy Spark Azure Synapse Spark Sieć szkieletowa Spark (pula niestandardowa, jednostka SKU F64) Mały Min: 3, Maksimum: 200 Min: 1, Maksimum: 32 Śred. Min: 3, Maksimum: 200 Min: 1, Maksimum: 16 Duży Min: 3, Maksimum: 200 Min: 1, Maks.: 8 X-Large Min: 3, Maksimum: 200 Min: 1, Maks.: 4 XX-Duży Min: 3, Maksimum: 200 Min: 1, Maksimum: 2 Regulowane rozmiary węzłów: w usłudze Azure Synapse Spark można przejść do 200 węzłów. W sieci szkieletowej liczba węzłów, które można mieć w niestandardowej puli platformy Spark, zależy od rozmiaru węzła i pojemności sieci szkieletowej. 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 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. Dlatego w przypadku wybrania małego rozmiaru węzła można mieć do 32 węzłów w puli (128/4 = 32). Następnie łączna liczba rdzeni wirtualnych w pojemności/rdzeniach wirtualnych na rozmiar węzła = całkowita liczba dostępnych węzłów. Aby uzyskać więcej informacji, zobacz Obliczenia platformy Spark.
Rodzina rozmiarów węzłów: pule platformy Spark sieci szkieletowej obsługują na razie tylko rodzinę rozmiarów węzłów zoptymalizowanych pod kątem pamięci. Jeśli używasz puli Spark przyspieszonej przez procesor GPU w usłudze Azure Synapse, nie są one dostępne w usłudze Fabric.
Rozmiar węzła: xx-duży rozmiar węzła zawiera 432 GB pamięci w usłudze Azure Synapse, a ten sam rozmiar węzła ma 512 GB w sieci szkieletowej, w tym 64 rdzenie wirtualne. Pozostałe rozmiary węzłów (małe za pośrednictwem x-large) mają te same rdzenie wirtualne i pamięć zarówno w usłudze Azure Synapse, jak i w sieci szkieletowej.
Automatyczne wstrzymywanie: jeśli włączysz ją w usłudze Azure Synapse Spark, pula platformy Apache Spark zostanie automatycznie wstrzymana po upływie określonego czasu bezczynności. To ustawienie można skonfigurować w usłudze Azure Synapse (co najmniej 5 minut), ale pule niestandardowe mają domyślny czas trwania automatycznego zapisywania domyślnego wynoszący 2 minuty w usłudze Fabric po wygaśnięciu sesji. Domyślne wygaśnięcie sesji jest ustawione na 20 minut w sieci szkieletowej.
Wysoka współbieżność: sieć szkieletowa obsługuje wysoką współbieżność w notesach. Aby uzyskać więcej informacji, zobacz Tryb wysokiej współbieżności w usłudze Fabric Spark.
Limity współbieżności: jeśli chodzi o współbieżność, platforma Azure Synapse Spark ma limit 50 równoczesnych uruchomionych zadań na pulę platformy Spark i 200 zadań w kolejce na pulę platformy Spark. Maksymalna liczba aktywnych zadań to 250 na pulę platformy Spark i 1000 na obszar roboczy. W usłudze Microsoft Fabric Spark jednostki SKU pojemności definiują limity współbieżności. Jednostki SKU mają różne limity maksymalnej liczby współbieżnych zadań, które wahają się od 1 do 512. Ponadto platforma Fabric Spark ma dynamiczny system ograniczania oparty na rezerwie, aby zarządzać współbieżnością i zapewnić bezproblemową operację nawet w godzinach szczytowego użycia. Aby uzyskać więcej informacji, zobacz Limity współbieżności i kolejkowanie w pojemnościach platformy Spark i sieci szkieletowej w usłudze Microsoft Fabric.
Wiele pul platformy Spark: jeśli chcesz mieć wiele pul platformy Spark, użyj środowisk sieci szkieletowej, aby wybrać pulę według notesu lub definicji zadania platformy Spark. Aby uzyskać więcej informacji, zobacz Tworzenie, konfigurowanie i używanie środowiska w usłudze Microsoft Fabric.
Uwaga
Dowiedz się, jak migrować pule platformy Azure Synapse Spark do sieci szkieletowej.
Porównanie konfiguracji platformy Spark
Konfiguracje platformy Spark można stosować na różnych poziomach:
- Poziom środowiska: te konfiguracje są używane jako domyślna konfiguracja dla wszystkich zadań platformy Spark w środowisku.
- Poziom wbudowany: ustaw wbudowane konfiguracje platformy Spark przy użyciu notesów i definicji zadań platformy Spark.
Chociaż obie opcje są obsługiwane w usługach Azure Synapse Spark i Fabric, istnieją pewne zagadnienia:
Konfiguracja platformy Spark | Azure Synapse Spark | Sieć szkieletowa Spark |
---|---|---|
Poziom środowiska | Tak, pule | Tak, środowiska |
W tekście | Tak | Tak |
Import/eksport | Tak | Tak (.yml ze środowisk) |
Obsługa interfejsu API/zestawu SDK | Tak | Tak |
Poziom środowiska: w usłudze Azure Synapse można zdefiniować wiele konfiguracji platformy Spark i przypisać je do różnych pul platformy Spark. Można to zrobić w sieci szkieletowej przy użyciu środowisk.
Wbudowane: w usłudze Azure Synapse notesy i zadania platformy Spark obsługują dołączanie różnych konfiguracji platformy Spark. W obszarze Sieć szkieletowa konfiguracje poziomu sesji są dostosowywane za pomocą
spark.conf.set(<conf_name>, <conf_value>)
ustawienia. W przypadku zadań wsadowych można również stosować konfiguracje za pośrednictwem platformy SparkConf.Importowanie/eksportowanie: ta opcja konfiguracji platformy Spark jest dostępna w środowiskach sieci szkieletowej.
Inne zagadnienia:
-
Niezmienne konfiguracje platformy Spark: niektóre konfiguracje platformy Spark są niezmienne. Jeśli zostanie wyświetlony komunikat
AnalysisException: Can't modify the value of a Spark config: <config_name>
, właściwość, o której mowa, jest niezmienna. - HARMONOGRAM FAIR: harmonogram FAIR jest używany w trybie wysokiej współbieżności.
- V-Order: V-Order to optymalizacja czasu zapisu zastosowana do plików parquet domyślnie w pulach platformy Spark sieci szkieletowej.
- Zoptymalizowany zapis: zoptymalizowany zapis jest domyślnie wyłączony w usłudze Azure Synapse, ale domyślnie włączony dla usługi Fabric Spark.
-
Niezmienne konfiguracje platformy Spark: niektóre konfiguracje platformy Spark są niezmienne. Jeśli zostanie wyświetlony komunikat
Uwaga
Dowiedz się, jak migrować konfiguracje platformy Spark z usługi Azure Synapse do sieci szkieletowej.
Porównanie bibliotek platformy Spark
Biblioteki platformy Spark można stosować na różnych poziomach:
- Poziom obszaru roboczego: nie można przekazać/zainstalować tych bibliotek do obszaru roboczego, a później przypisać je do określonej puli Spark w usłudze Azure Synapse.
- Poziom środowiska: biblioteki można przekazywać/instalować do środowiska. Biblioteki na poziomie środowiska są dostępne dla wszystkich notesów i definicji zadań platformy Spark uruchomionych w środowisku.
- Wbudowane: oprócz bibliotek na poziomie środowiska można również określić biblioteki wbudowane. Na przykład na początku sesji notesu.
Zagadnienia do rozważenia:
Biblioteka platformy Spark | Azure Synapse Spark | Sieć szkieletowa Spark |
---|---|---|
Poziom obszaru roboczego | Tak | Nie. |
Poziom środowiska | Tak, pule | Tak, środowiska |
W tekście | Tak | Tak |
Import/eksport | Tak | Tak |
Obsługa interfejsu API/zestawu SDK | Tak | Tak |
-
Inne zagadnienia:
- Wbudowane biblioteki: sieć szkieletowa i usługa Azure Synapse współdzielą wspólny rdzeń platformy Spark, ale mogą one nieco różnić się w różnej obsłudze bibliotek środowiska uruchomieniowego. Zazwyczaj używanie kodu jest zgodne z pewnymi wyjątkami. W takim przypadku użytkownicy mogą potrzebować kompilacji, dodawania bibliotek niestandardowych i dostosowywania składni. Zobacz wbudowane biblioteki środowiska uruchomieniowego Platformy Spark tutaj.
Uwaga
Dowiedz się, jak migrować biblioteki platformy Azure Synapse Spark do sieci szkieletowej.
Porównanie notesów
Notesy i definicje zadań platformy Spark to podstawowe elementy kodu służące do tworzenia zadań platformy Apache Spark w usłudze Fabric. Istnieją pewne różnice między notesami platformy Azure Synapse Spark i notesami platformy Spark usługi Fabric:
Możliwość notesu | Azure Synapse Spark | Sieć szkieletowa Spark |
---|---|---|
Import/eksport | Tak | Tak |
Konfiguracja sesji | Tak, interfejs użytkownika i wbudowany | Tak, interfejs użytkownika (środowisko) i wbudowane |
IntelliSense | Tak | Tak |
mssparkutils | Tak | Tak |
Zasoby notesu | Nie. | Tak |
Współpraca | Nie. | Tak |
Wysoka współbieżność | Nie. | Tak |
.NET dla platformy Spark C# | Tak | Nie. |
Obsługa działań potoku | Tak | Tak |
Wbudowana obsługa zaplanowanego uruchamiania | Nie. | Tak |
Obsługa interfejsu API/zestawu SDK | Tak | Tak |
mssparkutils: Ponieważ połączenia DMTS nie są jeszcze obsługiwane w sieci szkieletowej, tylko
getToken
igetSecret
są obecnie obsługiwane w sieci szkieletowej dlamssparkutils.credentials
programu .Zasoby notesów: notesy sieci szkieletowej udostępniają system plików przypominający system Unix, który ułatwia zarządzanie folderami i plikami. Aby uzyskać więcej informacji, zobacz Jak używać notesów usługi Microsoft Fabric.
Współpraca: notes usługi Fabric to element współpracy, który obsługuje wielu użytkowników edytując ten sam notes. Aby uzyskać więcej informacji, zobacz Jak używać notesów usługi Microsoft Fabric.
Wysoka współbieżność: w sieci szkieletowej można dołączać notesy do sesji o wysokiej współbieżności. Ta opcja jest alternatywą dla użytkowników korzystających z klasy ThreadPoolExecutor w usłudze Azure Synapse. Aby uzyskać więcej informacji, zobacz Konfigurowanie trybu wysokiej współbieżności dla notesów sieci szkieletowej.
Platforma .NET dla platformy Spark C#: Sieć szkieletowa nie obsługuje platformy .NET Spark (C#). Zaleca się jednak, aby użytkowników z istniejących środowisk pracy napisanych w języku C# lub F# migrowali do języka Python lub Scala.
Wbudowana obsługa zaplanowanego uruchamiania: sieć szkieletowa obsługuje zaplanowane uruchomienia notesów.
Inne zagadnienia:
- Funkcje w notesie, które są obsługiwane tylko w określonej wersji platformy Spark. Pamiętaj, że platformy Spark 2.4 i 3.1 nie są obsługiwane w sieci szkieletowej.
- Jeśli notes lub zadanie platformy Spark korzysta z połączonej usługi z różnymi połączeniami źródła danych lub punktami instalacji, należy zmodyfikować zadania platformy Spark, aby użyć alternatywnych metod obsługi połączeń z zewnętrznymi źródłami danych i ujściami. Użyj kodu platformy Spark, aby nawiązać połączenie ze źródłami danych przy użyciu dostępnych bibliotek platformy Spark.
Uwaga
Dowiedz się, jak migrować notesy z usługi Azure Synapse do sieci szkieletowej.
Porównanie definicji zadań platformy Spark
Ważne zagadnienia dotyczące definicji zadań platformy Spark:
Możliwość zadania platformy Spark | Azure Synapse Spark | Sieć szkieletowa Spark |
---|---|---|
PySpark | Tak | Tak |
Scala | Tak | Tak |
.NET dla platformy Spark C# | Tak | Nie. |
SparkR | Nie. | Tak |
Import/eksport | Tak (interfejs użytkownika) | Nie. |
Obsługa działań potoku | Tak | Tak |
Wbudowana obsługa zaplanowanego uruchamiania | Nie. | Tak |
Zasady ponawiania prób | Nie. | Tak |
Obsługa interfejsu API/zestawu SDK | Tak | Tak |
Zadania platformy Spark: możesz przenieść .py/. Pliki R/jar. Sieć szkieletowa obsługuje usługę SparkR. Definicja zadania platformy Spark obsługuje pliki referencyjne, argumenty wiersza polecenia, konfiguracje platformy Spark i odwołania do usługi Lakehouse.
Importowanie/eksportowanie: w usłudze Azure Synapse możesz importować/eksportować definicje zadań platformy Spark oparte na formacie JSON z interfejsu użytkownika. Ta funkcja nie jest jeszcze dostępna w sieci szkieletowej.
Platforma .NET dla platformy Spark C#: Sieć szkieletowa nie obsługuje platformy .NET Spark (C#). Zaleca się jednak, aby użytkownicy z istniejącymi obciążeniami napisanymi w języku C# lub F# migrowali do języka Python lub Scala.
Wbudowana obsługa zaplanowanego uruchamiania: sieć szkieletowa obsługuje zaplanowane uruchomienia definicji zadania platformy Spark.
Zasady ponawiania prób: ta opcja umożliwia użytkownikom uruchamianie zadań przesyłania strumieniowego ze strukturą platformy Spark na czas nieokreślony.
Uwaga
Dowiedz się, jak migrować definicje zadań platformy Spark z usługi Azure Synapse do sieci szkieletowej.
Porównanie magazynu metadanych Hive (HMS)
Różnice i zagadnienia dotyczące magazynu metadanych Hive (HMS):
Typ HMS | Azure Synapse Spark | Sieć szkieletowa Spark |
---|---|---|
Wewnętrzny HMS | Tak | Tak (lakehouse) |
Zewnętrzny HMS | Tak | Nie. |
- Zewnętrzny HMS: sieć szkieletowa obecnie nie obsługuje interfejsu API wykazu i dostępu do zewnętrznego magazynu metadanych Hive (HMS).
Uwaga
Dowiedz się, jak migrować metadane HMS katalogu platformy Spark usługi Azure Synapse Spark do sieci szkieletowej.
Powiązana zawartość
- Dowiedz się więcej o opcjach migracji dla pul platformy Spark, konfiguracji, bibliotek, notesów i definicji zadań platformy Spark
- Migrowanie danych i potoków
- Migrowanie metadanych magazynu metadanych Hive