Snowflake propose un ensemble de produits de gestion et d’analyse des données reposant sur une fonctionnalité centralisée d’entrepôt de données basée sur le Cloud. Les organisations utilisent les produits Snowflake de différentes manières, tant comme systèmes analytiques que transactionnels pour soutenir diverses applications métier. ArcGIS propose une multitude de points d’intégration avec Snowflake, ce qui permet de recourir à différents processus pour l’accès, l’analyse et la visualisation des données.
Ces méthodes peuvent être classées en quatre groupes :
Pour des performances optimales lors de l’intégration d’ArcGIS à Snowflake, il est recommandé que vos clients ArcGIS et votre environnement Snowflake soient déployés au sein de la même plateforme Cloud et de la même région. Cela minimise la latence et les coûts de transfert de données, et offre de meilleures performances pour les interactions entre les clients ArcGIS et les services et points de terminaison Snowflake.
Les modèles de connexion directe permettent aux clients ArcGIS d’utiliser directement les services Snowflake, sans transfert ni copie des données vers un autre emplacement. Avant d’établir une connexion directe, installez le pilote ODBC Snowflake approprié sur toutes les machines clientes ArcGIS accédant aux données. La configuration des paramètres réseau et de pare-feu nécessaires est également cruciale pour permettre une communication appropriée entre ArcGIS et Snowflake. Ceci inclut éventuellement la mise à jour de la liste d’autorisations de Snowflake qui autorise les requêtes des clients ArcGIS.
Les couches de requête Snowflake peuvent être créées dans ArcGIS Pro, utilisées comme couches pour des processus cartographiques ou analytiques, puis publiées sur ArcGIS Enterprise en vue d’être utilisées par les clients Web et autres applications.
Dans les deux cas, les couches de requête fournissent une connexion directe et en temps réel à vos données Snowflake. Cela signifie que toute modification apportée aux données sources dans Snowflake est répercutée immédiatement dans votre couche de carte ArcGIS Pro ou couche de requête ArcGIS Enterprise. Pour créer une couche de requête, établissez d’abord une connexion à la base de données avec Snowflake dans ArcGIS Pro en utilisant un schéma d’authentification pris en charge, puis définissez une requête SQL pour sélectionner les données spécifiques que vous souhaitez visualiser. Pour être affichées dans une carte ArcGIS Pro, les données stockées dans Snowflake doivent inclure une colonne avec le type de données GEOGRAPHY ou GEOMETRY. Les tables sans colonne spatiale peuvent être ajoutées comme couches de requête pour une utilisation dans les graphiques ou les jointures, mais ne peuvent pas être visualisées dans une couche de carte.
Pour prendre connaissance d’autres bonnes pratiques dans ce domaine, reportez-vous à la rubrique Lacs de données et entrepôts de données.
Bien que les applications clientes ArcGIS basées sur des couches de requête ne prennent pas en charge la mise à jour directe des données dans des entrepôts de données comme Snowflake, il est possible d’écrire un flux de données personnalisé pour prendre en charge des opérations de lecture et d’écriture soigneusement conçues.
Divers outils et méthodes sont disponibles pour transférer les données entre Snowflake et ArcGIS, ce qui permet d’envisager à la fois des processus en lecture seule et des processus bidirectionnels avec des modifications ou de nouveaux envois de données transitant d’un système à l’autre. Pour écrire des données dans Snowflake, vous pouvez utiliser des outils comme l’extension ArcGIS Data Interoperability, qui offre une prise en charge en lecture/écriture pour Snowflake. Cela vous permet de créer des processus ETL (Extract, Transform, Load) pour transférer des données provenant de diverses sources vers Snowflake. La solution Data Interoperability offre également une fonctionnalité de lecture éprouvée pour accéder aux données Snowflake. Elles peuvent y être interrogées, transformées et écrites sur des points de terminaison de service d’entités ArcGIS ou une table de géodatabase d’entreprise.
Il est possible d’utiliser ArcGIS API for Python dans ArcGIS Notebooks pour mettre en place des processus ETL plus personnalisés et automatisés. Cela vous permet d’écrire des scripts pour les connexions vers Snowflake, d’interroger et de traiter des données, puis de les publier sous forme de services d’entités dans ArcGIS Online ou ArcGIS Enterprise. Cette approche offre une grande flexibilité pour les tâches complexes d’intégration de données.
ArcGIS Data Pipelines, une fonctionnalité ArcGIS, présente une interface intuitive de type glisser-déposer pour ingérer et préparer des données provenant de diverses sources, y compris Snowflake. Vous pouvez créer des pipelines de données pour vous connecter à vos tables Snowflake, transformer les données et les charger dans ArcGIS Online ou ArcGIS Enterprise en tant que couches d’entités. Ces pipelines peuvent être programmés pour s’exécuter automatiquement, ce qui garantit que vos données dans ArcGIS restent à jour.
ArcGIS GeoAnalytics Engine étend les capacités d’analyse des environnements basés sur Spark pour exploiter des données spatiales, y compris celles stockées dans Snowflake. Le fait de connecter un environnement Spark pris en charge à une instance Snowflake permet d’utiliser les fonctions SQL spatiales et les outils d’analyse de GeoAnalytics Engine pour effectuer des analyses géospatiales à grande échelle sur vos données Snowflake. Cette intégration est particulièrement utile pour les organisations qui doivent analyser des jeux de données volumineux et révéler des modèles et relations spatiales.
Les clients Snowflake ont également accès à un environnement Spark d’analyse de données hébergé sur Snowflake, appelé Snowpark. En utilisant Snowpark, les utilisateurs de Snowflake peuvent se connecter aux services de localisation ArcGIS pour effectuer des opérations géospatiales directement dans l’environnement Snowflake. Cela permet d’enrichir les données Snowflake avec des services comme le géocodage, le calcul d’itinéraire et les données démographiques d’ArcGIS. Vous pouvez créer des fonctions définies par l’utilisateur (UDF) dans Snowpark qui appellent les API des services de localisation ArcGIS afin d’effectuer ces opérations à grande échelle sur vos données stockées dans Snowflake.
Pour en savoir plus sur ces modèles d’intégration Snowpark, consultez les ressources suivantes :