Freigeben über


Erfolgreiche Synapse-Implementierungsmethode: Auswerten des Spark-Poolentwurfs

Hinweis

Dieser Artikel gehört zu der Artikelserie Erfolg der Azure Synapse-Implementierung nach Design. Eine Übersicht über diese Serie finden Sie unter Azure Synapse-Implementierungserfolg nach Design.

Erfahren Sie, wie Sie Ihren Apache Spark-Poolentwurf auswerten, um Probleme zu erkennen und zu überprüfen, ob er Richtlinien und Anforderungen erfüllt. Indem Sie den Entwurf auswerten, bevor die Lösungsentwicklung beginnt, können Sie Blockaden und unerwartete Entwurfsänderungen vermeiden. Auf diese Weise schützen Sie die Zeitachse und das Budget des Projekts.

Apache Spark in Synapse stellt die parallele Datenverarbeitung von Apache Spark in Azure Synapse Analytics bereit. Diese Auswertung gibt Ihnen Hinweise darauf, wann Apache Spark in Azure Synapse die richtige Lösung für Ihre Workload darstellt – oder nicht. Sie beschreibt Punkte, die Sie bei der Auswertung Ihrer Lösungsentwurfelemente, die Spark-Pools einbeziehen, berücksichtigen sollten.

Fit/GAP-Analyse

Wenn Sie planen, Spark-Pools mit Azure Synapse zu implementieren, sollten Sie zunächst sicherstellen, dass sie für Ihre Workload am besten geeignet sind.

Beachten Sie die folgenden Punkte.

  • Erfordert Ihre Workload Datentechnik/Datenaufbereitung?
    • Apache Spark eignet sich am besten für Workloads, die Folgendes erfordern:
      • Datenbereinigung
      • Transformation von teilweise strukturierten Daten wie XML in relationale Daten
      • Komplexe Freitexttransformation, z. B. Fuzzyübereinstimmung oder Verarbeitung natürlicher Sprache (NLP)
      • Datenaufbereitung für maschinelles Lernen (ML)
  • Umfasst Ihr Workload für Datentechnik/Datenaufbereitung komplexe oder einfache Transformationen? Und sind Sie auf der Suche nach einem Ansatz mit wenig Code oder ohne Code?
    • Für einfache Transformationen, wie das Entfernen von Spalten, das Ändern von Spaltendatentypen oder das Zusammenführen von Datasets, sollten Sie eine Azure Synapse-Pipeline mithilfe einer Datenflussaktivität erstellen.
    • Datenflussaktivitäten bieten einen Ansatz mit wenig Code oder ohne Code zur Aufbereitung Ihrer Daten.
  • Erfordert Ihre Workload Machine Learning für Big Data?
    • Apache Spark eignet sich gut für große Datasets, die für ML verwendet werden. Wenn Sie kleine Datasets verwenden, sollten Sie Azure Machine Learning als Computedienst verwenden.
  • Möchten Sie die Datenuntersuchung oder Ad-hoc-Abfrageanalyse für Big Data durchführen?
    • Apache Spark in Azure Synapse bietet Python/Scala/SQL/.NET-basierte Datenuntersuchung. Wenn Sie jedoch eine vollständige Transact-SQL-Erfahrung (T-SQL) benötigen, sollten Sie einen serverlosen SQL-Pool verwenden.
  • Verfügen Sie über eine aktuelle Spark/Hadoop-Workload und benötigen Sie eine einheitliche Big Data-Plattform?
    • Azure Synapse bietet eine einheitliche analytische Plattform für die Arbeit mit Big Data. Es gibt Spark- und serverlose SQL-Pools für Ad-hoc-Abfragen und den dedizierten SQL-Pool für die Berichterstellung und die Bereitstellung von Daten.
    • Der Wechsel von einer Spark/Hadoop-Workload aus einer lokalen (oder einer anderen Cloudumgebung) kann ein gewisses Refactoring erfordern, das Sie in Betracht ziehen sollten.
    • Wenn Sie nach einem Lift & Shift-Ansatz für Ihre Apache Big Data-Umgebung von einem lokalen Standort in die Cloud suchen und eine strikte Vereinbarung zum Servicelevel (SLA) für die Datentechnik einhalten müssen, sollten Sie Azure HDInsight verwenden.

Überlegungen zur Architektur

Um sicherzustellen, dass Ihr Apache Spark-Pool Ihre Anforderungen an erstklassige Betriebsprozesse, Leistung, Zuverlässigkeit und Sicherheit erfüllt, müssen Sie in Ihrer Architektur einige Schlüsselbereiche überprüfen.

Optimaler Betrieb

Für erstklassige Betriebsprozesse bewerten Sie die folgenden Punkte.

Effiziente Leistung

Bewerten Sie für die Leistungseffizienz die folgenden Punkte.

  • Dateigröße und Dateityp: Die Dateigröße und die Anzahl der Dateien haben Auswirkungen auf die Leistung. Entwerfen Sie die Architektur, um sicherzustellen, dass die Dateitypen für die native Erfassung mit Apache Spark geeignet sind. Bevorzugen Sie außerdem die Verwendung einer geringen Anzahl großer Dateien gegenüber einer großen Anzahl kleiner Dateien.
  • Partitionierung: Geben Sie an, ob für Ihre Workload eine Partitionierung auf Ordner- und/oder Dateiebene implementiert werden soll. Ordnerpartitionen begrenzen die Menge der zu suchenden und zu lesenden Daten. Dateipartitionen reduzieren die Menge der zu durchsuchenden Daten innerhalb der Datei – gelten aber nur für bestimmte Dateiformate, die in der anfänglichen Architektur berücksichtigt werden sollten.

Zuverlässigkeit

Bewerten Sie hinsichtlich der Zuverlässigkeit die folgenden Punkte.

  • Verfügbarkeit: Spark-Pools haben eine Startzeit von drei bis vier Minuten. Es könnte länger dauern, wenn viele Bibliotheken zu installieren sind. Wenn Sie Batch- oder Streaming-Workloads entwerfen, ermitteln Sie die SLA für die Ausführung des Auftrags anhand Ihrer Bewertungsinformationen und bestimmen, welche Architektur Ihren Anforderungen am besten entspricht. Berücksichtigen Sie auch, dass jede Ausführung eines Auftrags einen neuen Spark-Poolcluster erstellt.
  • Prüfpunktausführung: Apache Spark-Streaming verfügt über einen integrierten Mechanismus zur Prüfpunktausführung. Die Prüfpunktausführung ermöglicht es Ihrem Datenstrom, bei einem Ausfall eines Knotens in Ihrem Pool vom letzten verarbeiteten Eintrag auszugehen.

Sicherheit

Bewerten Sie die folgenden Punkte im Hinblick auf die Sicherheit.

  • Datenzugriff: Der Datenzugriff muss für das ADLS-Konto (Azure Data Lake Storage) berücksichtigt werden, das mit dem Synapse-Arbeitsbereich verknüpft ist. Bestimmen Sie außerdem die Sicherheitsebenen, die für den Zugriff auf Daten erforderlich sind, die sich nicht in der Azure Synapse-Umgebung befinden. Beziehen Sie sich auf die Informationen, die Sie in der Bewertungsphase gesammelt haben.
  • Netzwerke: Überprüfen Sie die Netzwerkinformationen und -anforderungen, die Sie während Ihrer Bewertung gesammelt haben. Wenn der Entwurf ein verwaltetes virtuelles Netzwerk mit Azure Synapse vorsieht, bedenken Sie, welche Auswirkungen diese Anforderung auf Apache Spark in Azure Synapse haben wird. Eine Folge davon ist, dass Sie Spark SQL beim Zugriff auf die Daten nicht verwenden können.

Nächste Schritte

Im nächsten Artikel der Serie Mit dem richtigen Azure Synapse-Entwurf zum Erfolg erfahren Sie, wie Sie Ihren modernen Data Warehouse-Projektplan vor Projektbeginn auswerten können.

Weitere Informationen zu bewährten Methoden finden Sie unter Leitfaden zu Apache Spark für Azure Synapse.