Udostępnij za pośrednictwem


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.

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.

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.

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 i getSecret są obecnie obsługiwane w sieci szkieletowej dla mssparkutils.credentialsprogramu .

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

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