Big-Data-Analysesystem (Apache Spark)
Das Apache Spark-Bereitstellungsmuster zielt darauf ab, räumliche Analysen in eine vertraute Umgebung für Data Scientists zu bringen, die eine Spark-Bibliothek verwenden, sodass sie durch räumliche Funktionen und Prozesse in neuen oder vorhandenen Analyse-Workflows einen Mehrwert schaffen können. Apache Spark stellt verteilte Computing-Funktionen bereit, die den Zugriff auf eine breite Palette von Datasets sowie eine robuste Funktionsbibliothek unterstützen. Zudem bietet es die Möglichkeit, strukturierte Analysen zu untersuchen und mit ihnen zu interagieren sowie Ergebnisse zu erzielen, die von Projektbeteiligten oder einem nachgelagerten Geschäftsprozess genutzt werden können.
Die ArcGIS GeoAnalytics Engine ist die von Esri bereitgestellte Spark-Bibliothek, die das Big-Data-Analysesystemmuster von Apache Spark unterstützt. Sie nutzt Apache Spark für den Zugriff auf über 150 cloudnative Geoanalysewerkzeuge und -funktionen, um Trends, Muster und Korrelationen zu verstehen. Die ArcGIS GeoAnalytics Engine kann auf einem PC oder einem eigenständigen Spark-Cluster installiert werden. Die meisten Organisationen tendieren jedoch zu verwalteten Spark-Diensten in der Cloud. Diese verwalteten Cloud-Umgebungen bieten viele Vorteile: Sie sind skalierbar und kosteneffizient und vereinfachen die Verarbeitung von Big Data. Darüber hinaus nutzen sie fortschrittliche Analysefunktionen, schaffen Sicherheit und Compliance und profitieren von den verwalteten Diensten und Supportleistungen der Cloud-Anbieter. Dazu gehören Amazon EMR, Databricks, Azure Synapse Analytics, Google Cloud Dataproc und Microsoft Fabric.
Zusätzlich zur ArcGIS GeoAnalytics Engine bietet Esri mit dem Big Data Toolkit eine alternative Spark-Bibliothek für räumliche Big-Data-Analysen an. Das Big Data Toolkit (BDT) ist eine Esri Professional Services-Lösung, die einige einzigartige Funktionen bietet. Sie kann sich vor allem in Szenarien als zweckmäßig erweisen, in denen eine erweiterte Funktionalität für räumliche Funktionen und Werkzeuge benötigt wird. Weitere Informationen hierzu finden Sie unter Erweiterte Funktionen.
Zugehörige Ressourcen:
Basisarchitektur
Im Folgenden finden Sie eine typische Basisarchitektur für ein Big-Data-Analysesystem mit Apache Spark.
Dieses Schema sollte nicht unbearbeitet übernommen werden und als Design für Ihr System verwendet werden. Es gibt viele wichtige Faktoren und Entscheidungen bezüglich des Designs, die Sie für Ihr System berücksichtigen sollten. Weitere Informationen finden Sie im Thema Verwenden von Systemmustern. Darüber hinaus zeigt das unten abgebildete Schema nur die Basisfunktionen des Systems. Bei der Bereitstellung erweiterter Funktionen können zusätzliche Systemkomponenten erforderlich sein.

Die oben dargestellten Funktionen entsprechen den ab Juli 2025 verfügbaren Funktionen.
Zu den wichtigsten Komponenten dieser Architektur gehören folgende:
- Das Big-Data-Analysesystem basiert auf einer Apache Spark-Umgebung. Die Spark-Umgebung enthält Cluster mit Knoten, die verteilte Analyseaufgaben ausführen. Die ArcGIS GeoAnalytics Engine kann in verschiedenen Spark-Umgebungen ausgeführt werden, einschließlich lokaler Bereitstellungen, Cluster-Bereitstellungen und verwalteter Spark-Dienste in der Cloud. Zu den unterstützten verwalteten Spark-Diensten gehören Amazon EMR, Azure Synapse Analytics, Google Cloud Dataproc, Databricks und Microsoft Fabric. Diese Optionen bieten einen Bereitstellungspfad für Organisationen, die bereits Workloads in einer vorhandenen Cloud-Umgebung, einschließlich Amazon Web Services (AWS), Google Cloud Platform (GCP) und Microsoft Azure, ausführen.
- Die ArcGIS GeoAnalytics Engine ist ein Spark-Plug-in. Sie stellt eine Reihe von Funktionen und Werkzeugen bereit, die auf den Knoten in einem Apache Spark-Cluster ausgeführt werden. Räumliche Analyseaufgaben werden vom Spark-Treiber an Spark-Executor gesendet, die die Analyseaufgaben ausführen. Die Spark-Executor werden von einem Spark-Cluster-Manager verwaltet. Die ArcGIS GeoAnalytics Engine unterstützt Standalone-, Apache Mesos-, Hadoop YARN- und Kubernetes-Cluster-Manager. Weitere Informationen zum Spark-Cluster-Modus der ArcGIS GeoAnalytics Engine
- Zusätzlich zu den von Spark unterstützten Datenquellen unterstützt die GeoAnalytics Engine auch das Laden und Speichern von Daten aus einigen gängigen Geodatenquellen. Dazu gehören unter anderem Daten in Data Stores, Objektspeichern, Data Lakes und Datenbanken (DBMS). Weitere Informationen zu den unterstützten Data Stores und unterstützten Datenquellen.
- Die GeoAnalytics Engine erweitert PySpark, die Python-Schnittstelle für Spark, und verwendet Spark DataFrames zusammen mit benutzerdefinierten Geometriedatentypen zur Darstellung räumlicher Daten. Die GeoAnalytics Engine verfügt über mehrere DataFrame-Erweiterungen, um zusätzlich zu den von PySpark unterstützten Datenquellen auch aus Geodatenquellen wie Shapefiles und Feature-Services zu lesen. Außerdem enthält die GeoAnalytics Engine zwei Kernmodule zum Bearbeiten von DataFrames: SQL-Funktionen und Werkzeuge. Benutzer interagieren in der Regel über ihre Datenanalyseumgebung mit Python-Notebooks, auf denen Python ausgeführt wird, mit dem Big-Data-Analysesystem. Weitere Informationen zu den ersten Schritten mit der ArcGIS GeoAnalytics Engine.
Zu den wichtigsten Interaktionen in dieser Architektur gehören folgende:
- PySpark Python-Code, der in der Regel in einem Python-Notebook entwickelt wird, das in der Datenanalyseumgebung ausgeführt wird, wird als Anwendung gebündelt und an das Spark-Cluster übermittelt. Die Übermittlung des Auftrags an das Spark-Cluster erfolgt normalerweise über TCP. Weitere Informationen über das Übermitteln von Spark-Anwendungen.
- Die Kommunikation zwischen der ArcGIS GeoAnalytics Engine und den Data Stores ist bidirektional, sodass Daten der unterstützten Data Stores sowohl abgerufen als auch gespeichert werden können. Die technischen Spezifikationen dieser Kommunikation hängen von der Art des verwendeten Data Stores ab. Weitere Informationen hierzu finden Sie unter Datenspeicherung der ArcGIS GeoAnalytics Engine.
Weitere Informationen zur Interaktion zwischen der ArcGIS GeoAnalytics Engine und der Apache Spark-Umgebung finden Sie in der Produktdokumentation zur ArcGIS GeoAnalytics Engine.
Funktionen
Im Folgenden werden die Funktionen des Big-Data-Analysesystems in Apache Spark beschrieben.
Basisfunktionen
Basisfunktionen stellen die gängigsten Funktionen dar, die von Big-Data-Analysesystemen bereitgestellt und durch die oben vorgestellte Basisarchitektur ermöglicht werden.
- Die Datenaufnahme ermöglicht den Zugriff auf Daten aus verschiedenen unterstützten Data Stores während der Ausführung von Analyseaufgaben.
- Räumliche Verbindungen und Beziehungen ermöglichen die Kombination von Zeilen aus zwei DataFrames auf der Grundlage einer räumlichen Beziehung. Die GeoAnalytics Engine bietet mehrere Mechanismen zum räumlichen Verbinden von Daten sowie zum Analysieren und Verstehen der räumlichen Beziehungen zwischen Geometrien. Weitere Informationen zu räumlichen Verbindungen und räumlichen Beziehungen.
- Zeitschritte und zeitliche Beziehungen ermöglichen zeitbasierte Analysen. Zeitschritte unterteilen Eingabedaten in Schritte, die unabhängig voneinander analysiert werden. Dabei werden zeitliche Beziehungen verwendet, um die Daten mit dem Werkzeug “Räumlich/zeitliche Verbindung” zeitlich zu verbinden. Weitere Informationen zu Zeitschritten und zeitlichen Beziehungen.
- Bei der Musteranalyse werden räumliche und zeitliche Muster in Daten identifiziert. Die ArcGIS GeoAnalytics Engine verfügt über mehrere Werkzeuge und SQL-Funktionen für die Musteranalyse, darunter die Werkzeuge Ereignisse ermitteln, Hot-Spots suchen, Ähnliche Positionen suchen und Geographisch gewichtete Regression.
- Bei der Nachbarschaftsanalyse wird die Nähe von Geodaten zu anderen Geodaten untersucht. Die ArcGIS GeoAnalytics Engine verfügt über mehrere Werkzeuge und SQL-Funktionen für die Nachbarschaftsanalyse, darunter die Werkzeuge Punkt-Cluster suchen, Nach Nähe gruppieren und Nächste Nachbarn.
- Bei der Zusammenfassungsanalyse werden Daten in Datenstrukturen höherer Ordnung aggregiert oder zusammengefasst. Die ArcGIS GeoAnalytics Engine verfügt über mehrere Werkzeuge und SQL-Funktionen für die Zusammenfassungsanalyse, darunter die Werkzeuge Punkte aggregieren, Dichte berechnen und Zusammenfassen (innerhalb).
- Die Track-Analyse arbeitet mit Punkten mit aktivierten Zeiteigenschaften, die mit beweglichen Objekten korreliert sind. Die ArcGIS GeoAnalytics Engine verfügt über mehrere Werkzeuge und SQL-Funktionen für die Track-Analyse, darunter die Werkzeuge Tracks rekonstruieren, Bewegungsstatistiken berechnen und Tracks fangen.
- Bei der Geokodierung wird Text in eine Adresse und einen Standort konvertiert. Die ArcGIS GeoAnalytics Engine verfügt über ein Geokodierungswerkzeug, das mit Adressen in Spark DataFrames verwendet werden kann.
- Die Netzwerkanalyse hilft, allgemeine Netzwerkprobleme – oftmals (aber nicht immer) bei Straßennetzen – zu beheben. Die ArcGIS GeoAnalytics Engine verfügt über mehrere Werkzeuge und SQL-Funktionen für die Netzwerkanalyse, darunter die Werkzeuge Einzugsgebiete generieren, Nächstgelegene Einrichtungen suchen und Start-Ziel-Kostenmatrix erstellen.
- Das Datenmanagement unterstützt das Arbeiten mit Geometrien und anderen Bereichen in Big Data. Die ArcGIS GeoAnalytics Engine verfügt über mehrere Werkzeuge und SQL-Funktionen für das Datenmanagement, darunter das Werkzeug Feld berechnen sowie zahlreiche räumliche SQL-Funktionen, die die Spark SQL-API erweitern.
- Die Kartenerstellung und Visualisierung von Analyseergebnissen ist ein leistungsstarker Schritt, um Kontext bereitzustellen und Muster, Trends und Beziehungen aufzudecken. Die Visualisierung und Kartenerstellung erfolgt analog zur Darstellung von nicht räumlichen Daten. Es ist eine Möglichkeit, Ihre Analyse zu überprüfen und zu iterieren sowie ansprechende Ergebnisse zu erstellen, die freigegeben werden können. Mit der ArcGIS GeoAnalyics Engine können Sie Datasets in Python-Notebooks visualisieren. Weitere Informationen zum Visualisieren der Ergebnisse Ihrer Analyse.
Erweiterte Funktionen
Erweiterte Funktionen werden in der Regel hinzugefügt, um bestimmte Anforderungen zu erfüllen oder branchenspezifische Datenmodelle und Lösungen zu unterstützen. In manchen Fällen können sie zusätzliche Softwarekomponenten oder Überlegungen zur Architektur erfordern.
Überlegungen
Bei den folgenden Überlegungen wurden die Grundpfeiler des ArcGIS Well-Architected Framework auf das Big-Data-Analysesystem in Apache Spark angewendet. Die hier gezeigten Informationen erheben keinen Anspruch auf Vollständigkeit, sondern heben wichtige Überlegungen für das Design und/oder die Implementierung dieser speziellen Kombination aus System- und Bereitstellungsmuster hervor. Weitere Informationen zu den Grundpfeilern der Architektur des ArcGIS Well-Architected Framework.
Zuverlässigkeit
Zuverlässigkeit stellt sicher, dass Ihr System den Servicegrad bietet, der sowohl für das Unternehmen als auch für Ihre Kunden und die Projektbeteiligten erforderlich ist. Weitere Informationen finden Sie in der Übersicht über den Grundpfeiler “Zuverlässigkeit”.
- Die Zuverlässigkeit wird nahezu vollständig von der Apache Spark-Umgebung übernommen. Es gibt viele Faktoren, die zu berücksichtigen sind, z. B. die Auswahl eines Cluster-Managers, die je nach Art der Spark-Installation (lokal, im Cluster oder als verwalteter Cloud-Dienst) ebenfalls stark variieren kann.
- SLAs sind bei Big-Data-Analysesystemen seltener als bei anderen Systemen.
Sicherheit
Sicherheit schützt Ihre Systeme und Informationen. Weitere Informationen finden Sie in der Übersicht über den Grundpfeiler “Sicherheit”.
- Die Autorisierung zur Verwendung eines Big-Data-Analysesystems wird durch die Verwendung von Benutzername und Kennwort oder einer von Esri bereitgestellten Lizenzdatei unterstützt.
- Authentifizierung, Verschlüsselung, Protokollierung und andere Sicherheitsaspekte werden in der Regel außerhalb der ArcGIS GeoAnalytics Engine-Software gehandhabt, und zwar entweder auf der Ebene der Datenquellen oder in der Apache Spark-Umgebung. Weitere Informationen zur Sicherheit von Spark.
Performance und Skalierbarkeit zielen darauf ab, die Gesamt-Experience für die Benutzer im Hinblick auf das System zu optimieren und sicherzustellen, dass das System skaliert werden kann, um den sich ändernden Arbeitslastanforderungen gerecht zu werden. Weitere Informationen finden Sie in der Übersicht über den Grundpfeiler “Performance und Skalierbarkeit”.
- Der Vorteil von Apache Spark-basierten Umgebungen sind die verteilten Computing-Funktionen. In vielen Organisationen gibt es Administratoren für verwaltete Cloud-Umgebungen, die sich mit den Konzepten zur Steuerung der Skalierung der von Clustern und verwalteten Analysen benötigten Rechenressourcen auskennen. Ähnliches gilt für die Big-Data-Analyse von Geodaten. Die Durchführung von Analysen in großem Maßstab ist mit Kosten verbunden. Organisationen sollten eine Kosten-Nutzen-Analyse vornehmen, um die für räumliche Analysen benötigte Rechenleistung zu bestimmen.
Weitere Informationen zum Optimieren von Spark.
Automatisierung
Die Automatisierung zielt darauf ab, den Aufwand für manuelle Bereitstellungs- und Betriebsaufgaben zu verringern, was zu einer höheren betrieblichen Effizienz sowie zur Reduzierung der vom Menschen verursachten Systemprobleme führt. Weitere Informationen finden Sie in der Übersicht über den Grundpfeiler “Automatisierung”.
- Die Analyse ist häufig iterativ und erfordert zwischen den einzelnen Ausführungen eine menschliche Überprüfung und Intervention. Es gibt jedoch Situationen, in denen die Ausführung der Analyse möglicherweise automatisiert und/oder geplant werden muss.
- Oftmals wird in diesen Situationen auf Apache Spark in einer verwalteten Cloud-Umgebung zurückgegriffen, da es zusätzliche Automatisierungsoptionen bietet und dazu beitragen kann, den gesamten Ablauf zu optimieren.
- Da Python die Hauptanwendung bzw. Schnittstelle zum Big-Data-Analysesystem ist und Apache Spark ein Skript zum Übermitteln von Anwendungen an den Cluster bereitstellt, wird eine unkomplizierte und flexible Automatisierung der Analyseübermittlungen ermöglicht.
- Spark-Cluster-Manager unterstützen außerdem eine anwendungsübergreifende Auftragszeitplanung. Es gibt verschiedene Optionen für Cluster-Manager und verwaltete Spark-Dienste in der Cloud, von denen viele unterschiedliche Funktionen bieten.
Integration
Die Integration verbindet dieses System mit anderen Systemen, um Unternehmensservices bereitzustellen und die Produktivität der Organisation zu steigern. Weitere Informationen finden Sie in der Übersicht über den Grundpfeiler “Integration”.
Observability
Die Observability bietet Einblicke in das System und ermöglicht es dem Personal und anderen technischen Rollen, das System in einem fehlerfreien, stabilen Zustand zu halten. Weitere Informationen hierzu finden Sie in der Übersicht über den Grundpfeiler “Observability”.
- Die Observability eines Big-Data-Managementsystems in Apache Spark konzentriert sich in der Regel darauf, die Nutzung und Leistungsfähigkeit der zugrunde liegenden Infrastruktur zu verstehen und Einblick in den Status und Fortschritt großer Batch-Analyseaufträge zu erhalten. Die Ansätze zur Überwachung der Nutzung und Leistungsfähigkeit der zugrunde liegenden Infrastruktur hängen von der verwendeten Apache Spark-Umgebung ab. Cloudverwaltete Umgebungen sind u. a. aufgrund ihrer Stärken in puncto Observability beliebt. Die Überwachung von Apache Spark-Aufträgen übernimmt Apache Spark.
Sonstiges
Des Weiteren sollte Folgendes für den Entwurf und die Implementierung eines Big-Data-Analysesystems in Apache Spark berücksichtigt werden:
- Für einen erfolgreichen Betrieb ist ein gutes Verständnis von und Engagement für Apache Spark erforderlich. Ebenso wichtig ist ein ausgeprägtes Verständnis von verteilten Big Data und deren Analyse.
Zugehörige Ressourcen: