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:

Nächste Schritte