Delen via


Fabric Data-engineer ing en Azure Synapse Spark vergelijken

Deze vergelijking tussen Fabric Data-engineer ing en Azure Synapse Spark biedt een overzicht van de belangrijkste functies en een uitgebreide analyse in verschillende categorieën, waaronder Spark-pools, configuratie, bibliotheken, notebooks en Spark-taakdefinities.

In de volgende tabel worden Azure Synapse Spark en Fabric Spark in verschillende categorieën vergeleken:

Categorie Azure Synapse Spark Fabric Spark
Spark-pools Spark-pool
-
-
Aangepaste pool voor starterspool /
V-Order
Hoge gelijktijdigheid
Spark-configuraties Poolniveau
Niveau van notebook- of Spark-taakdefinitie
Omgevingsniveau
Niveau van notebook- of Spark-taakdefinitie
Spark-bibliotheken Pakketten op werkruimteniveau
Pakketten op poolniveau
Inlinepakketten
-
Omgevingsbibliotheken
Inlinebibliotheken
Resources Notebook (Python, Scala, Spark SQL, R, .NET)
Spark-taakdefinitie (Python, Scala, .NET)
Synapse-gegevenspijplijnen
Pijplijnactiviteiten (notebook, SJD)
Notebook (Python, Scala, Spark SQL, R)
Spark-taakdefinitie (Python, Scala, R)
Data Factory-gegevenspijplijnen
Pijplijnactiviteiten (notebook, SJD)
Gegevens Primaire opslag (ADLS Gen2)
Gegevenslocatie (op basis van cluster/regio)
Primaire opslag (OneLake)
Gegevenslocatie (op basis van capaciteit/regio)
Metagegevens Interne Hive Metastore (HMS)
Externe HMS (met behulp van Azure SQL DB)
Interne HMS (lakehouse)
-
Connecties Connectortype (gekoppelde services)
Gegevensbronnen
Gegevensbron conn. met werkruimte-id
Connectortype (DMTS)
Gegevensbronnen
-
Beveiliging RBAC en toegangsbeheer
Opslag-ACL's (ADLS Gen2)
Privékoppelingen
Beheerd VNet (netwerkisolatie)
Synapse-werkruimte-identiteit
Gegevensexfiltratiebeveiliging (DEP)
Servicetags
Key Vault (via mssparkutils/gekoppelde service)
RBAC en toegangsbeheer
OneLake RBAC
Privékoppelingen
Beheerd VNet
Werkruimte-identiteit
-
Servicetags
Key Vault (via mssparkutils)
DevOps Azure DevOps-integratie
CI/CD (geen ingebouwde ondersteuning)
Azure DevOps-integratie
Implementatiepijplijnen
Ontwikkelaarservaring IDE-integratie (IntelliJ)
Synapse Studio-gebruikersinterface
Samenwerking (werkruimten)
Livy-API
API/SDK
mssparkutils
IDE-integratie (VS Code)
Infrastructuurgebruikersinterface
Samenwerking (werkruimten en delen)
-
API/SDK
mssparkutils
Logboekregistratie en controle Spark Advisor
Ingebouwde bewakingspools en -taken (via Synapse Studio)
Spark-geschiedenisserver
Prometheus/Grafana
Log Analytics
Opslagaccount
Event Hubs
Spark Advisor
Ingebouwde bewakingspools en -taken (via Monitoring Hub)
Spark-geschiedenisserver
-
-
-
-
Bedrijfscontinuïteit en herstel na noodgeval (BCDR) BCDR (gegevens) ADLS Gen2 BCDR (gegevens) OneLake

Overwegingen en beperkingen:

  • DMTS-integratie: u kunt de DMTS niet gebruiken via notebooks en Spark-taakdefinities.

  • RBAC op workloadniveau: Fabric ondersteunt vier verschillende werkruimterollen. Zie Rollen in werkruimten in Microsoft Fabric voor meer informatie.

  • Beheerde identiteit: Fabric biedt momenteel geen ondersteuning voor het uitvoeren van notebooks en Spark-taakdefinities met behulp van de werkruimte-id of beheerde identiteit voor Azure KeyVault in notebooks.

  • CI/CD: U kunt de Fabric-API/SDK en implementatiepijplijnen gebruiken.

  • Livy-API en hoe u Spark-taken verzendt en beheert: Livy-API staat in de roadmap, maar is nog niet beschikbaar in Fabric. U moet notebooks en Spark-taakdefinities maken met de gebruikersinterface van Fabric.

  • Spark-logboeken en metrische gegevens: In Azure Synapse kunt u Spark-logboeken en metrische gegevens verzenden naar uw eigen opslag, zoals Log Analytics, blob en Event Hubs. U kunt ook een lijst met Spark-toepassingen voor de werkruimte ophalen uit de API. Momenteel zijn beide mogelijkheden niet beschikbaar in Fabric.

  • Andere overwegingen:

    • JDBC: ondersteuning voor JDBC-verbindingen is momenteel niet beschikbaar in Fabric.

Vergelijking van Spark-pool

In de volgende tabel worden Azure Synapse Spark- en Fabric Spark-pools vergeleken.

Spark-instelling Azure Synapse Spark Fabric Spark
Livepool (vooraf warme exemplaren) - Ja, Starter-pools
Aangepaste pool Ja Ja
Spark-versies (runtime) 2.4, 3.1, 3.2, 3.3, 3.4 3.3, 3.4, 3.5
Automatisch schalen Ja Ja
Dynamische toewijzing van uitvoerders Ja, tot 200 Ja, op basis van capaciteit
Aanpasbare knooppuntgrootten Ja, 3-200 Ja, 1 op basis van capaciteit
Minimale knooppuntconfiguratie 3 knooppunten 1 knooppunt
Knooppuntgrootte van de familie Geoptimaliseerd voor geheugen, GPU versneld Geoptimaliseerd geheugen
Knooppuntgrootte Small-XXXLarge Small-XXLarge
Automatischpause Ja, aanpasbaar minimum 5 minuten Ja, niet aan te passen 2 minuten
Hoge gelijktijdigheid Nr. Ja
V-Order Nr. Ja
Spark autotune Nr. Ja
Systeemeigen uitvoeringsengine Nr. Ja
Gelijktijdigheidslimieten Vast Variabele op basis van capaciteit
Meerdere Spark-pools Ja Ja (omgevingen)
Intelligente cache Ja Ja
API/SDK-ondersteuning Ja Ja
  • Runtime: Fabric biedt geen ondersteuning voor Spark 2.4-, 3.1- en 3.2-versies. Fabric Spark ondersteunt Spark 3.3 met Delta 2.2 in Runtime 1.1, Spark 3.4 met Delta 2.4 binnen Runtime 1.2 en Spark 3.5 met Delta 3.1 binnen Runtime 1.3.

  • Automatisch schalen: In Azure Synapse Spark kan de pool maximaal 200 knooppunten schalen, ongeacht de grootte van het knooppunt. In Fabric wordt het maximum aantal knooppunten onderworpen aan de knooppuntgrootte en ingerichte capaciteit. Zie het volgende voorbeeld voor de F64-SKU.

    Grootte van Spark-pool Azure Synapse Spark Fabric Spark (aangepaste pool, SKU F64)
    Klein Min: 3, Max: 200 Min: 1, Max: 32
    Gemiddeld Min: 3, Max: 200 Min: 1, Max: 16
    Groot Min: 3, Max: 200 Min: 1, Max: 8
    X-groot Min: 3, Max: 200 Min: 1, Max: 4
    XX-Groot Min: 3, Max: 200 Min: 1, Max: 2
  • Aanpasbare knooppuntgrootten: In Azure Synapse Spark kunt u maximaal 200 knooppunten gebruiken. In Fabric is het aantal knooppunten dat u in uw aangepaste Spark-pool kunt hebben, afhankelijk van uw knooppuntgrootte en infrastructuurcapaciteit. Capaciteit is een meting van hoeveel rekenkracht u in Azure kunt gebruiken. Een manier om te bedenken is dat twee Spark vCores (een rekenkracht voor Spark) gelijk zijn aan één capaciteitseenheid. Een infrastructuurcapaciteits-SKU F64 heeft bijvoorbeeld 64 capaciteitseenheden, wat gelijk is aan 128 Spark VCores. Als u dus een kleine knooppuntgrootte kiest, kunt u maximaal 32 knooppunten in uw pool hebben (128/4 = 32). Vervolgens is het totaal van vCores in de capaciteit/vCores per knooppuntgrootte = het totale aantal beschikbare knooppunten. Zie Spark Compute voor meer informatie.

  • Knooppuntgroottefamilie: Fabric Spark-pools ondersteunen voorlopig alleen de familie van geoptimaliseerde knooppuntgrootten voor geheugen. Als u een met GPU versnelde SKU Spark-pool in Azure Synapse gebruikt, zijn deze niet beschikbaar in Fabric.

  • Knooppuntgrootte: de xx-grote knooppuntgrootte wordt geleverd met 432 GB geheugen in Azure Synapse, terwijl dezelfde knooppuntgrootte 512 GB heeft in Fabric, inclusief 64 vCores. De rest van de knooppuntgrootten (klein tot en met x-groot) hebben dezelfde vCores en geheugen in zowel Azure Synapse als Fabric.

  • Automatisch onderbreken: als u deze inschakelt in Azure Synapse Spark, wordt de Apache Spark-pool automatisch onderbroken na een opgegeven hoeveelheid niet-actieve tijd. Deze instelling kan worden geconfigureerd in Azure Synapse (minimaal 5 minuten), maar aangepaste pools hebben een niet-aanpasbare standaardduur van 2 minuten in Fabric nadat de sessie is verlopen. De standaardsessieverlooptijd is ingesteld op 20 minuten in Fabric.

  • Hoge gelijktijdigheid: Fabric ondersteunt hoge gelijktijdigheid in notebooks. Zie de modus Hoge gelijktijdigheid in Fabric Spark voor meer informatie.

  • Gelijktijdigheidslimieten: Azure Synapse Spark heeft een limiet van 50 gelijktijdige actieve taken per Spark-pool en 200 taken in de wachtrij per Spark-pool. De maximale actieve taken zijn 250 per Spark-pool en 1000 per werkruimte. In Microsoft Fabric Spark definiëren capaciteits-SKU's de gelijktijdigheidslimieten. SKU's hebben verschillende limieten voor maximale gelijktijdige taken die variëren van 1 tot 512. Fabric Spark heeft ook een dynamisch beperkingssysteem op basis van reserve om gelijktijdigheid te beheren en een soepele werking te garanderen, zelfs tijdens piekmomenten. Zie Gelijktijdigheidslimieten en wachtrijen in Microsoft Fabric Spark - en Fabric-capaciteiten voor meer informatie.

  • Meerdere Spark-pools: als u meerdere Spark-pools wilt hebben, gebruikt u Fabric-omgevingen om een pool te selecteren op notebook of Spark-taakdefinitie. Zie Een omgeving maken, configureren en gebruiken in Microsoft Fabric voor meer informatie.

Notitie

Meer informatie over het migreren van Azure Synapse Spark-pools naar Fabric.

Vergelijking van Spark-configuraties

Spark-configuraties kunnen op verschillende niveaus worden toegepast:

  • Omgevingsniveau: deze configuraties worden gebruikt als de standaardconfiguratie voor alle Spark-taken in de omgeving.
  • Inlineniveau: Spark-configuraties inline instellen met behulp van notebooks en Spark-taakdefinities.

Hoewel beide opties worden ondersteund in Azure Synapse Spark en Fabric, zijn er enkele overwegingen:

Spark-configuratie Azure Synapse Spark Fabric Spark
Omgevingsniveau Ja, pools Ja, omgevingen
Inline Ja Ja
Import/export Ja Ja (.yml uit omgevingen)
API/SDK-ondersteuning Ja Ja
  • Omgevingsniveau: In Azure Synapse kunt u meerdere Spark-configuraties definiëren en deze toewijzen aan verschillende Spark-pools. U kunt dit doen in Fabric met behulp van omgevingen.

  • Inline: In Azure Synapse ondersteunen zowel notebooks als Spark-taken het koppelen van verschillende Spark-configuraties. In Fabric worden configuraties op sessieniveau aangepast met de spark.conf.set(<conf_name>, <conf_value>) instelling. Voor batchtaken kunt u ook configuraties toepassen via SparkConf.

  • Importeren/exporteren: deze optie voor Spark-configuraties is beschikbaar in Fabric-omgevingen.

  • Andere overwegingen:

    • Onveranderbare Spark-configuraties: sommige Spark-configuraties zijn onveranderbaar. Als u het bericht AnalysisException: Can't modify the value of a Spark config: <config_name>krijgt, is de betreffende eigenschap onveranderbaar.
    • FAIR scheduler: FAIR scheduler wordt gebruikt in de modus voor hoge gelijktijdigheid.
    • V-Order: V-Order is optimalisatie van schrijftijd die wordt toegepast op de parquet-bestanden die standaard zijn ingeschakeld in Fabric Spark-pools.
    • Geoptimaliseerde schrijfbewerking: Geoptimaliseerde schrijfbewerking is standaard uitgeschakeld in Azure Synapse, maar is standaard ingeschakeld voor Fabric Spark.

Vergelijking van Spark-bibliotheken

U kunt Spark-bibliotheken op verschillende niveaus toepassen:

  • Werkruimteniveau: u kunt deze bibliotheken niet uploaden/installeren naar uw werkruimte en deze later toewijzen aan een specifieke Spark-pool in Azure Synapse.
  • Omgevingsniveau: U kunt bibliotheken uploaden/installeren naar een omgeving. Bibliotheken op omgevingsniveau zijn beschikbaar voor alle notebooks en Spark-taakdefinities die in de omgeving worden uitgevoerd.
  • Inline: naast bibliotheken op omgevingsniveau kunt u ook inlinebibliotheken opgeven. Bijvoorbeeld aan het begin van een notebooksessie.

Overwegingen:

Spark-bibliotheek Azure Synapse Spark Fabric Spark
Niveau van de werkruimte Ja Nr.
Omgevingsniveau Ja, pools Ja, omgevingen
Inline Ja Ja
Import/export Ja Ja
API/SDK-ondersteuning Ja Ja
  • Andere overwegingen:
    • Ingebouwde bibliotheken: Fabric en Azure Synapse delen een gemeenschappelijke kern van Spark, maar ze kunnen enigszins verschillen in verschillende ondersteuning van hun runtimebibliotheken. Normaal gesproken is het gebruik van code compatibel met enkele uitzonderingen. In dat geval hebben gebruikers mogelijk compilatie nodig, de toevoeging van aangepaste bibliotheken en het aanpassen van de syntaxis. Zie hier ingebouwde Fabric Spark-runtimebibliotheken.

Vergelijking van notitieblokken

Notebooks en Spark-taakdefinities zijn primaire code-items voor het ontwikkelen van Apache Spark-taken in Fabric. Er zijn enkele verschillen tussen Azure Synapse Spark-notebooks en Fabric Spark-notebooks:

Notebook-mogelijkheid Azure Synapse Spark Fabric Spark
Import/export Ja Ja
Sessieconfiguratie Ja, gebruikersinterface en inline Ja, ui (omgeving) en inline
IntelliSense Ja Ja
mssparkutils Ja Ja
Notebook-resources Nr. Ja
Samenwerken Nr. Ja
Hoge gelijktijdigheid Nr. Ja
.NET voor Spark C# Ja Nr.
Ondersteuning voor pijplijnactiviteit Ja Ja
Ingebouwde ondersteuning voor geplande uitvoering Nr. Ja
API/SDK-ondersteuning Ja Ja
  • mssparkutils: Omdat DMTS-verbindingen nog niet worden ondersteund in Fabric, alleen getToken en getSecret voorlopig worden ondersteund in Fabric voor mssparkutils.credentials.

  • Notebooks-resources: Fabric-notebooks bieden een Unix-achtig bestandssysteem om u te helpen bij het beheren van uw mappen en bestanden. Zie Microsoft Fabric-notebooks gebruiken voor meer informatie.

  • Samenwerken: Het Fabric-notebook is een gezamenlijk item dat ondersteuning biedt voor meerdere gebruikers die hetzelfde notitieblok bewerken. Zie Microsoft Fabric-notebooks gebruiken voor meer informatie.

  • Hoge gelijktijdigheid: In Fabric kunt u notebooks koppelen aan een sessie met hoge gelijktijdigheid. Deze optie is een alternatief voor gebruikers die ThreadPoolExecutor gebruiken in Azure Synapse. Zie De modus Voor hoge gelijktijdigheid configureren voor Fabric-notebooks voor meer informatie.

  • .NET voor Spark C#: Fabric biedt geen ondersteuning voor .NET Spark (C#). We raden echter aan dat gebruikers met bestaande workloads die zijn geschreven in C# of F#, migreren naar Python of Scala.

  • Ingebouwde ondersteuning voor geplande uitvoering: Fabric ondersteunt geplande uitvoeringen voor notebooks.

  • Andere overwegingen:

    • U kunt functies in een notebook gebruiken die alleen worden ondersteund in een specifieke versie van Spark. Houd er rekening mee dat Spark 2.4 en 3.1 niet worden ondersteund in Fabric.
    • Als uw notebook of Spark-taak een gekoppelde service met verschillende gegevensbronverbindingen of koppelpunten gebruikt, moet u uw Spark-taken wijzigen om alternatieve methoden te gebruiken voor het verwerken van verbindingen met externe gegevensbronnen en sinks. Gebruik Spark-code om verbinding te maken met gegevensbronnen met behulp van beschikbare Spark-bibliotheken.

Vergelijking van Spark-taakdefinities

Belangrijke overwegingen voor spark-taakdefinities :

Spark-taakmogelijkheid Azure Synapse Spark Fabric Spark
PySpark Ja Ja
Scala Ja Ja
.NET voor Spark C# Ja Nr.
SparkR Nr. Ja
Import/export Ja (gebruikersinterface) Nee
Ondersteuning voor pijplijnactiviteit Ja Ja
Ingebouwde ondersteuning voor geplande uitvoering Nr. Ja
Beleid opnieuw proberen Nr. Ja
API/SDK-ondersteuning Ja Ja
  • Spark-taken: u kunt uw .py/. R/JAR-bestanden. Fabric ondersteunt SparkR. Een Spark-taakdefinitie ondersteunt referentiebestanden, opdrachtregelargumenten, Spark-configuraties en lakehouse-verwijzingen.

  • Importeren/exporteren: In Azure Synapse kunt u op json gebaseerde Spark-taakdefinities importeren/exporteren vanuit de gebruikersinterface. Deze functie is nog niet beschikbaar in Fabric.

  • .NET voor Spark C#: Fabric biedt geen ondersteuning voor .NET Spark (C#). Het is echter raadzaam dat gebruikers met bestaande workloads die zijn geschreven in C# of F#, migreren naar Python of Scala.

  • Ingebouwde ondersteuning voor geplande uitvoering: Fabric ondersteunt geplande uitvoeringen voor een Spark-taakdefinitie.

  • Beleid voor opnieuw proberen: met deze optie kunnen gebruikers voor onbepaalde tijd gestructureerde streamingtaken van Spark uitvoeren.

Notitie

Meer informatie over het migreren van Spark-taakdefinities van Azure Synapse naar Fabric.

Vergelijking van Hive Metastore (HMS)

Verschillen en overwegingen in Hive MetaStore (HMS):

HMS-type Azure Synapse Spark Fabric Spark
Interne HMS Ja Ja (lakehouse)
Externe HMS Ja Nr.
  • Externe HMS: Fabric biedt momenteel geen ondersteuning voor een Catalogus-API en toegang tot een externe Hive Metastore (HMS).