Auswählen einer Batchverarbeitungstechnologie in Azure
Big Data-Lösungen nutzen häufig Batchaufträge mit langer Ausführungszeit, um Daten für die Analyse zu filtern, zu aggregieren oder anderweitig vorzubereiten. In der Regel umfassen diese Aufträge das Lesen von Quelldateien aus skalierbarem Speicher (etwa HDFS, Azure Data Lake Store und Azure Storage), das Verarbeiten dieser Dateien und das Schreiben der Ausgabe in neue Dateien in skalierbarem Speicher.
Die grundlegende Anforderung bei diesen Batchverarbeitungs-Engines ist die Aufskalierung von Berechnungen, um große Datenvolumen zu verarbeiten. Im Gegensatz zur Echtzeitverarbeitung werden bei der Batchverarbeitung Wartezeiten (die Zeit zwischen der Datenerfassung und der Berechnung eines Ergebnisses) erwartet, die in Minuten oder Stunden angegeben werden.
Technologieoptionen für die Batchverarbeitung
Azure Synapse Analytics
Azure Synapse ist ein verteiltes System für die Analyse großer Datenmengen. Es unterstützt massive Parallelverarbeitung (Massive Parallel Processing, MPP), die die Ausführung von Hochleistungsanalysen ermöglicht. Sie sollten Azure Synapse verwenden, wenn Sie große Datenmengen (mehr als 1 TB) nutzen und eine Analyseworkload ausführen, die von Parallelität profitiert.
Azure Data Lake Analytics
Data Lake Analytics ist ein bedarfsgesteuerter Dienst für Analyseaufträge. Er ist für die verteilte Verarbeitung von großen, in Azure Data Lake Store gespeicherten Datasets optimiert.
- Sprachen: U-SQL (einschließlich Python-, R-, und C#-Erweiterungen).
- Lässt sich in Azure Data Lake Store, Azure Storage-Blobs, Azure SQL-Datenbank und Azure Synapse integrieren.
- Das Preismodell ist auftragsbasiert.
HDInsight
HDInsight ist ein verwalteter Hadoop-Dienst. Verwenden Sie ihn zum Bereitstellen und Verwalten von Hadoop-Clustern in Azure. Für die Batchverarbeitung können Sie Spark, Hive, Hive LLAP und MapReduce verwenden.
- Sprachen: R, Python, Java, Scala, SQL
- Kerberos-Authentifizierung mit Active Directory, Apache Ranger-basierte Zugriffssteuerung
- Bietet Ihnen vollständige Kontrolle über den Hadoop-Cluster
Azure Databricks
Azure Databricks ist eine Apache Spark-basierte Analyseplattform. Sie können sich dies als „Spark-as-a-Service“ (Spark als Dienst) vorstellen. Dies ist die einfachste Möglichkeit, Spark auf der Azure Platform zu verwenden.
- Sprachen: R, Python, Java, Scala, Spark SQL
- Schnellere Startzeiten für Cluster, automatische Beendigung, automatische Skalierung.
- Verwaltet den Spark-Cluster für Sie.
- Integrierte Integration in Azure Blob Storage, Azure Data Lake Storage (ADLS), Azure Synapse und andere Dienste. Siehe Datenquellen.
- Benutzerauthentifizierung mit Microsoft Entra ID
- Webbasierte Notebooks für Zusammenarbeit und das Durchsuchen von Daten
- Unterstützt GPU-fähige Cluster
Wichtige Auswahlkriterien
Beantworten Sie die folgenden Fragen, um die Auswahl einzuschränken:
Möchten Sie einen verwalteten Dienst verwenden, anstatt Ihre eigenen Server zu verwalten?
Möchten Sie Batchverarbeitungslogik deklarativ oder imperativ erstellen?
Führen Sie Batchaufträge schubweise aus? Falls ja, ziehen Sie Optionen in Erwägung, bei denen Sie den Cluster automatisch beenden können bzw. bei denen die Kosten pro Batchauftrag abgerechnet werden.
Müssen Sie bei der Batchverarbeitung auch relationale Datenspeicher abfragen, etwa zum Nachschlagen von Referenzdaten? Falls ja, ziehen Sie Optionen in Erwägung, die das Abfragen von externen relationalen Speichern ermöglichen.
Funktionsmatrix
In den folgenden Tabellen sind die Hauptunterschiede der Funktionen zusammengefasst:
Allgemeine Funktionen
Funktion | Azure Data Lake Analytics | Azure Synapse | HDInsight | Azure Databricks |
---|---|---|---|---|
Verwalteter Dienst | Ja | Ja | Ja1 | Ja |
Relationaler Datenspeicher | Ja | Ja | Keine | Ja |
Preismodell | Pro Batchauftrag | Nach Clusterstunde | Nach Clusterstunde | Databricks-Einheit2 + Clusterstunde |
[1] Mit manueller Konfiguration
[2] Eine Databricks-Einheit (Databricks Unit, DBU) ist eine Einheit für die Verarbeitungskapazität pro Stunde.
Funktionen
Funktion | Azure Data Lake Analytics | Azure Synapse | HDInsight mit Spark | HDInsight mit Hive | HDInsight mit Hive LLAP | Azure Databricks |
---|---|---|---|---|---|---|
Automatische Skalierung | Nein | Nr. | Ja | Ja | Ja | Ja |
Granularität bei der horizontalen Skalierung | Pro Auftrag | Pro Cluster | Pro Cluster | Pro Cluster | Pro Cluster | Pro Cluster |
Speicherinternes Zwischenspeichern | Nein | Ja | Ja | Keine | Ja | Ja |
Abfragen über externe relationale Speicher | Ja | Keine | Ja | Nein | Nr. | Ja |
Authentifizierung | Microsoft Entra ID | SQL/Microsoft Entra ID | Nein | Microsoft Entra ID1 | Microsoft Entra ID1 | Microsoft Entra ID |
Überwachung | Ja | Ja | Nein | Ja1 | Ja1 | Ja |
Sicherheit auf Zeilenebene | Nein | Ja2 | Nein | Ja1 | Ja1 | Ja |
Unterstützung von Firewalls | Ja | Ja | Ja | Ja3 | Ja3 | Ja |
Dynamische Datenmaskierung | Nein | Ja | Nein | Ja1 | Ja1 | Ja |
[1] Erfordert die Verwendung eines in die Domäne eingebundenen HDInsight-Clusters.
[2] Nur Prädikate filtern. Siehe Sicherheit auf Zeilenebene
[3] Unterstützt bei Verwendung in einem virtuellen Azure-Netzwerk
Beitragende
Dieser Artikel wird von Microsoft gepflegt. Er wurde ursprünglich von folgenden Mitwirkenden geschrieben:
Hauptautor:
- Zoiner Tejada | CEO und Architekt
Nächste Schritte
- Erstellen einer Lake-Datenbank in Azure Synapse Analytics
- Erstellen eines Azure Databricks-Arbeitsbereichs
- Erkunden von Azure Databricks
- Erste Schritte mit Azure Data Lake Analytics mithilfe des Azure-Portals
- Einführung in Azure Synapse Analytics
- Was ist Azure Databricks?
- Was ist Azure Synapse Analytics?
Zugehörige Ressourcen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für