Snowflake- und ArcGIS-Integrationen

Snowflake bietet verschiedene Datenmanagement- und Analyseprodukte, die auf einer zentralisierten, cloudbasierten Data-Warehousing-Funktionalität basieren. Organisationen nutzen Snowflake-Produkte auf unterschiedliche Weise, sowohl als analytische als auch als transaktionale Systeme, um verschiedene Geschäftsanwendungen zu unterstützen. ArcGIS bietet eine Vielzahl von Integrationspunkten mit Snowflake, die unterschiedliche Workflows für Datenzugriff, Analyse und Visualisierung ermöglichen.

Diese Methoden lassen sich in vier Gruppen kategorisieren:

  • Direkte Verbindung
  • ETL
  • Big-Data-Analysen
  • Nativ in Snowflake

Für optimale Leistung bei der Integration von ArcGIS in Snowflake wird empfohlen, sowohl Ihre ArcGIS-Clients als auch Ihre Snowflake-Umgebung innerhalb derselben Cloud-Plattform und -Region bereitzustellen. Auf diese Weise werden Latenz und Datenübertragungskosten minimiert. Zudem wird so die beste Leistung für Interaktionen zwischen ArcGIS-Clients und Snowflake-Services und -Endpunkten bereitgestellt.

Direkte Verbindung und Abfrage-Layer

Direkte Verbindungsmuster ermöglichen es ArcGIS-Clients, direkt mit Snowflake-Services zu arbeiten, ohne Daten an einen anderen Speicherort zu übertragen oder zu kopieren. Bevor eine direkte Verbindung hergestellt wird, installieren Sie den entsprechenden Snowflake-ODBC-Treiber auf allen ArcGIS-Client-Computern, die auf die Daten zugreifen. Die Konfiguration der notwendigen Netzwerk- und Firewall-Einstellungen ist ebenfalls entscheidend, um eine ordungsgemäße Kommunikation zwischen ArcGIS und Snowflake zu ermöglichen. Dies kann auch die Aktualisierung der Snowflake-Zulassungsliste für Anforderungen von ArcGIS-Clients umfassen.

Snowflake-Abfrage-Layer können in ArcGIS Pro erstellt und als Layer für kartografische oder Analyse-Workflows verwendet werden. Anschließend kann die Veröffentlichung in ArcGIS Enterprise erfolgen, um die Nutzung der Layer durch Webclients und andere Anwendungen zu ermöglichen.

In beiden Fällen stellen Abfrage-Layer eine direkte Live-Verbindung zu Ihren Snowflake-Daten bereit. Das bedeutet, dass alle Änderungen an den Quelldaten in Snowflake sofort in Ihrem ArcGIS Pro-Karten-Layer oder ArcGIS Enterprise-Abfrage-Layer widergespiegelt werden. Für die Erstellung eines Abfrage-Layers stellen Sie zunächst mit einem unterstützten Authentifizierungsschema eine Datenbankverbindung zu Snowflake innerhalb von ArcGIS Pro her und definieren dann eine SQL-Abfrage, um die spezifischen Daten auszuwählen, die Sie visualisieren möchten. Um in einer ArcGIS Pro-Karte dargestellt zu werden, müssen die in Snowflake gespeicherten Daten eine Spalte mit dem Datentyp GEOGRAPHY oder GEOMETRY enthalten. Tabellen ohne räumliche Spalte können als Abfrage-Layer für die Nutzung in Diagrammen oder Verbindungen hinzugefügt werden, eine Visualisierung in einem Karten-Layer ist jedoch nicht möglich.

Weitere Best Practices zu diesem Thema finden Sie im Thema zu Data Lakes und Data Warehouses.

Benutzerdefinierte Daten-Feeds

Während ArcGIS-Client-Anwendungen auf Abfrage-Layern keine direkte Bearbeitung von Daten in Data Warehouses wie Snowflake unterstützen, kann ein benutzerdefinierter Datenfeed geschrieben werden, um sorgfältig konzipierte Lese- und Schreibvorgänge zu unterstützen.

ETLs und Data Interoperability

Verschiedene Werkzeuge und Methoden stehen zur Verfügung, um Daten zwischen Snowflake und ArcGIS zu verschieben. Dies ermöglicht sowohl schreibgeschützte Workflows als auch bidirektionale Flows mit Bearbeitungen oder neuen Dateneinreichungen zwischen den Systemen. Um Daten in Snowflake zu schreiben, können Sie Werkzeuge wie ArcGIS Data Interoperability nutzen, die Lesen und Schreiben für Snowflake unterstützen. So haben Sie die Möglichkeit, ETL-Workflows (Extrahieren, Transformieren, Laden) zu erstellen und Daten aus verschiedenen Quellen nach Snowflake zu verschieben. Data Interoperability bietet außerdem eine bewährte Lesemöglichkeit für den Zugriff auf Snowflake-Daten. Diese können abgerufen, transformiert und in ArcGIS-Feature-Service-Endpunkte oder eine Enterprise-Geodatabase-Tabelle geschrieben werden.

ArcGIS API for Python und ArcGIS Notebooks

Sie können die ArcGIS API for Python innerhalb von ArcGIS Notebooks für individuelle und automatisierte ETL-Prozesse verwenden. So lassen sich Verbindungen zu Snowflake skripten, Daten abfragen und verarbeiten und diese dann als Feature-Services in ArcGIS Online oder ArcGIS Enterprise veröffentlichen. Dieser Ansatz bietet sehr viel Flexibilität für komplexe Datenintegrationsaufgaben.

ArcGIS Data Pipelines

ArcGIS Data Pipelines, eine ArcGIS-Funktion, bietet eine intuitive Drag & Drop-Bedienoberfläche zum Erfassen und Aufbereiten von Daten aus verschiedenen Quellen, einschließlich Snowflake. Sie können Data Pipelines erstellen, um eine Verbindung zu den Snowflake-Tabellen herzustellen, die Daten zu transformieren und sie als Feature-Layer in ArcGIS Online oder ArcGIS Enterprise zu laden. Diese Pipelines können so geplant werden, dass sie automatisch ausgeführt werden, um sicherzustellen, dass Ihre Daten in ArcGIS stets aktuell sind.

Big-Data-Analyse mit Geoanalytics Engine

ArcGIS GeoAnalytics Engine erweitert die Analysefunktionen von Spark-basierten Umgebungen für die Nutzung von räumlichen Daten, einschließlich der in Snowflake gespeicherten Daten. Die Verbindung einer unterstützten Spark-Umgebung mit einer Snowflake-Instanz ermöglicht die Nutzung der räumlichen SQL-Funktionen und die Werkzeuge für die räumliche Analyse der GeoAnalytics Engine, um umfangreiche räumliche Analysen Ihrer Snowflake-Daten durchzuführen. Diese Integration ist besonders nützlich für Organisationen, die umfangreiche Datasets analysieren und räumliche Muster und Beziehungen aufdecken müssen.

Zugreifen auf ArcGIS-Services von Snowpark aus

Snowflake-Kunden haben auch Zugriff auf eine von Snowflake gehostete Datenanalyse- und Spark-Umgebung, die als Snowpark bekannt ist. In Snowpark können Snowflake-Benutzer eine Verbindung zu ArcGIS Location Services herstellen, um räumliche Operationen direkt innerhalb Ihrer Snowflake-Umgebung durchzuführen. So können Sie Ihre Snowflake-Daten mit Services wie Geocoding, Routing und demografischen Daten von ArcGIS anreichern. Sie können benutzerdefinierte Funktionen (User Defined Functions, UDFs) in Snowpark erstellen, die ArcGIS-Positionsservice-APIs aufrufen, sodass Sie diese Operationen in großem Maßstab für Ihre in Snowflake gespeicherten Daten durchführen können.

Die folgenden Ressourcen enthalten weitere Informationen über diese Snowpark-Integrationsmuster:

Top