Système d’analyse de Big Data (Apache Spark)

Le modèle de déploiement Apache Spark vise à intégrer l’analyse spatiale dans un environnement familier pour les experts en mégadonnées (data scientists) utilisant une bibliothèque Spark. Ils peuvent ainsi ajouter de la valeur par le biais de fonctions et de processus spatiaux dans des processus d’analyse nouveaux ou existants. Apache Spark fournit des fonctionnalités de calcul distribuées qui prennent en charge l’accès à un large éventail de jeux de données, un ensemble de fonctionnalités de bibliothèque robuste, la possibilité d’explorer et d’interagir avec des analyses structurées et la capacité de produire des résultats utilisables par une partie prenante ou un processus métier en aval.

La bibliothèque Spark, fournie par Esri, destinée à alimenter le modèle de système d’analyse de Big Data sur Apache Spark est ArcGIS GeoAnalytics Engine. ArcGIS GeoAnalytics Engine utilise Apache Spark pour accéder à plus de 150 outils et fonctions de géoanalyse natifs du Cloud afin de comprendre les tendances, les modèles et les corrélations. ArcGIS GeoAnalytics Engine peut être installé sur un ordinateur personnel ou un cluster Spark autonome, bien que la plupart des organisations aient tendance à utiliser des services Spark gérés dans le Cloud. Ces environnements gérés dans le Cloud simplifient le traitement du Big Data, assurent l’évolutivité, optimisent les coûts, exploitent des capacités d’analyse avancées, garantissent la sécurité et la conformité, et bénéficient des services gérés et du support fournis par les fournisseurs de Cloud. Il s’agit notamment d’Amazon EMR, Databricks, d’Azure Synapse Analytics, de Google Cloud Dataproc et de Microsoft Fabric.

En plus d’ArcGIS GeoAnalytics Engine, Esri propose une bibliothèque Spark alternative (appelée Big Data Toolkit) pour l’analyse spatiale du Big Data. Big Data Toolkit (BDT) est une solution des services professionnels Esri qui offre des fonctionnalités uniques et peut convenir à certains scénarios nécessitant d’étendre les fonctions et les outils d’analyse spatiale. Pour plus d’informations, voir la section Fonctionnalités étendues.

Ressources associées :

Architecture de base

Voici une architecture de base typique pour un système d’analyse de Big Data utilisant Apache Spark.

Ce diagramme ne doit pas être utilisé tel quel pour la conception d’un système. De nombreux facteurs importants et choix de conception doivent être pris en compte lors de la conception d’un système. Pour plus d’informations, voir Utilisation des modèles de système. De plus, le diagramme ci-dessous ne fournit que les fonctionnalités de base du système ; des composants système supplémentaires peuvent être nécessaires pour fournir des fonctionnalités étendues.

Architecture de base du système d’analyse de Big Data (Apache Spark)

Les fonctionnalités représentées ci-dessus correspondent à celles disponibles en juillet 2025.

Les principaux composants de cette architecture sont les suivants :

  • La base du système d’analyse de Big Data est un environnement Apache Spark. L’environnement Spark contient des clusters de nœuds qui exécutent des tâches d’analyse distribuée. ArcGIS GeoAnalytics Engine peut s’exécuter sur un certain nombre d’environnements Spark, notamment les déploiements locaux, les déploiements de clusters et les services Spark gérés dans le Cloud. Les services Spark pris en charge sont Amazon EMR, Azure Synapse Analytics, Google Cloud Dataproc, Databricks et Microsoft Fabric. Ces options fournissent un chemin de déploiement pour les organisations qui exécutent déjà des charges de travail dans un environnement Cloud existant, notamment Amazon Web Services (AWS), Google Cloud Platform (GCP) et les fournisseurs de Cloud Microsoft Azure.
  • ArcGIS GeoAnalytics Engine est un plug-in Spark et un ensemble de fonctions et d’outils qui s’exécutent sur les nœuds d’un cluster Apache Spark. Les tâches d’analyse spatiale sont envoyées du pilote Spark aux exécuteurs Spark, où le travail d’analyse est effectué. Les exécuteurs Spark sont gérés par un gestionnaire de cluster Spark. ArcGIS GeoAnalytics Engine prend en charge les gestionnaires de clusters Standalone (mode autonome), Apache Mesos, Hadoop YARN et Kubernetes. En savoir plus sur le mode de cluster Spark d’ArcGIS GeoAnalytics Engine.
  • GeoAnalytics Engine prend en charge le chargement et l’enregistrement de données à partir de certaines sources de données spatiales courantes, en plus des sources de données prises en charge par Spark. Il s’agit, sans s’y limiter, des données dans les files stores, les object stores, les lacs de données et les bases de données (SGBD). En savoir plus sur les data stores pris en charge et les sources de données prises en charge.
  • GeoAnalytics Engine étend PySpark, l’interface Python pour Spark, et utilise des DataFrames Spark avec des types de données géométriques personnalisés pour représenter les données spatiales. GeoAnalytics Engine est livré avec plusieurs extensions DataFrame pour la lecture à partir de sources de données spatiales telles que les shapefiles et les services d’entités, en plus des sources de données prise en charge par PySpark. GeoAnalytics Engine comprend également deux modules de base pour la manipulation des DataFrames : les fonctions SQL et les outils SQL. Les utilisateurs interagissent généralement avec le système d’analyse de Big Data via des notebooks Python exécutant Python à partir de leur environnement d’analyse de données. En savoir plus sur la prise en main d’ArcGIS GeoAnalytics Engine.

Les principales interactions de cette architecture sont les suivantes :

  1. Le code Python PySpark, généralement développé dans un notebook Python s’exécutant dans l’environnement d’analyse de données, est regroupé en tant qu’application et soumis au cluster Spark. L’envoi du travail au cluster Spark s’effectue généralement via le protocole TCP. En savoir plus sur l’envoi d’applications Spark.
  2. La communication entre ArcGIS GeoAnalytics Engine et les data stores est bidirectionnelle, ce qui permet d’accéder aux données et de les enregistrer à partir d’un certain nombre de data stores pris en charge. Les spécifications techniques de cette communication dépendront du type de data store utilisé. Pour plus d’informations, voir Stockage des données ArcGIS GeoAnalytics Engine.

Des informations supplémentaires sur l’interaction entre ArcGIS GeoAnalytics Engine et l’environnement Apache Spark sont disponibles dans la documentation du produit ArcGIS GeoAnalytics Engine.

Fonctionnalités

Les fonctionnalités du système d’analyse de Big Data sur Apache Spark sont décrites ci-dessous.

Fonctionnalités de base

Les fonctionnalités de base représentent les fonctionnalités les plus courantes fournies par les systèmes d’analyse de Big Data et activées par l’architecture de base présentée ci-dessus.

Fonctionnalités étendues

Des fonctionnalités étendues sont généralement ajoutées pour répondre à des besoins spécifiques ou prendre en charge des modèles de données et des solutions propres au secteur d’activité. Elles peuvent nécessiter des composants logiciels ou des adaptations d’architecture supplémentaires.

Éléments à prendre en compte

Les sections ci-dessous décrivent les piliers de l’ArcGIS Well-Architected Framework appliqués au système d’analyse de Big Data sur Apache Spark. Les informations présentées ici n’ont pas pour but d’être exhaustives, mais de mettre en évidence les principaux éléments à prendre en compte pour concevoir et/ou implémenter une combinaison spécifique de système et de modèle de déploiement. En savoir plus sur les piliers d’architecture du cadre Well-Architected Framework d’ArcGIS.

Fiabilité

La fiabilité garantit que le système fournit le niveau de service requis par l’entreprise, les clients et les différentes parties prenantes. Pour plus d’informations, consultez la présentation du pilier Fiabilité.

  • La fiabilité est presque entièrement gérée par l’environnement Apache Spark. De nombreux facteurs doivent être pris en compte, tels que la sélection d’un gestionnaire de cluster, qui varie également considérablement en fonction de l’endroit où Spark est installé (service Cloud local, cluster ou géré).
  • Les contrats de niveau de service (SLA) sont moins courants avec les systèmes d’analyse de Big Data qu’avec d’autres systèmes.

Sécurité

La sécurité protège les systèmes et les informations. Pour plus d’informations, consultez la présentation du pilier Sécurité.

  • L’autorisation d’utiliser un système d’analyse de Big Data nécessite un nom d’utilisateur et un mot de passe ou un fichier de licence fourni par Esri.
  • L’authentification, le chiffrement, la journalisation et les autres considérations en matière de sécurité sont généralement gérés en dehors du logiciel ArcGIS GeoAnalytics Engine, soit au niveau des sources de données, soit dans l’environnement Apache Spark. En savoir plus sur la sécurité Spark.

Performances et évolutivité

Les performances et l’évolutivité visent à optimiser l’expérience globale des utilisateurs du système, ainsi qu’à garantir que le système s’adapte à l’évolution des exigences des charges de travail. Pour plus d’informations, consultez la présentation du pilier Performances et évolutivité.

  • Les capacités de calcul distribué représentent l’un des principaux points forts des environnements basés sur Apache Spark. De nombreuses organisations ont des administrateurs d’environnements gérés dans le Cloud qui comprennent les concepts de contrôle de l’échelle des ressources de calcul utilisées par les clusters et l’analyse gérée. Il n’y a rien de fondamentalement différent en ce qui concerne l’analyse spatiale du Big Data. La réalisation d’analyses à grande échelle a un coût. Les organisations doivent effectuer une analyse coûts-bénéfices pour déterminer les ressources de calcul qu’elles souhaitent attribuer à l’analyse spatiale.

En savoir plus sur le réglage de Spark.

Automatisation

L’automatisation vise à réduire les efforts consacrés au déploiement manuel et aux tâches opérationnelles, ce qui permet d’accroître l’efficacité opérationnelle et de réduire les anomalies du système introduites par l’homme. Pour plus d’informations, consultez la présentation du pilier Automatisation.

  • L’analyse est souvent itérative, nécessitant une vérification et une intervention humaines entre les exécutions d’analyses. Cependant, il existe des situations dans lesquelles l’exécution de l’analyse doit être automatisée et/ou planifiée.
    • On fait très souvent appel aux environnements Apache Spark gérés dans le Cloud, car ils offrent des options d’automatisation supplémentaires et peuvent aider à rationaliser les opérations et l’utilisation globales.
    • Étant donné que l’application ou l’interface principale du système d’analyse de Big Data est Python et qu’Apache Spark fournit un script pour envoyer des applications au cluster, l’automatisation de l’envoi d’analyses est simple et flexible.
    • Les gestionnaires de cluster Spark prennent également en charge la planification des tâches dans les applications. Il existe différentes options pour les gestionnaires de cluster et les services Spark gérés dans le Cloud, dont beaucoup offrent des fonctionnalités différentes.

Intégration

L’intégration connecte ce système à d’autres systèmes pour fournir des services d’entreprise et améliorer la productivité de l’organisation. Pour plus d’informations, consultez la présentation du pilier Intégration.

Observabilité

L’observabilité offre une visibilité sur le système, ce qui permet au personnel d’exploitation et à d’autres rôles techniques de maintenir le système dans un état fonctionnel et stable. Pour plus d’informations, consultez la présentation du pilier Observabilité.

  • L’observabilité d’un système de gestion de Big Data sur Apache Spark exige généralement une bonne compréhension de l’utilisation et des performances de l’infrastructure sous-jacente. Une visibilité de l’état et de la progression des tâches d’analyse volumineuses traitées par lots est également nécessaire. Les approches recommandées en matière de surveillance de l’utilisation et des performances de l’infrastructure sous-jacente dépendent de l’environnement Apache Spark utilisé. Le succès des environnements gérés dans le Cloud est, en partie, lié à leurs points forts dans le domaine de l’observabilité. La surveillance des tâches Apache Spark est assurée par Apache Spark.

Autre

Les autres facteurs à prendre en compte pour la conception et l’implémentation d’un système d’analyse de Big Data sur Apache Spark sont les suivants :

  • Le succès des opérations nécessite une excellente compréhension d’Apache Spark et un fort engagement vis-à-vis de cet environnement. Une bonne connaissance des concepts de Big Data et d’analyse distribuée est également requise.

Ressources associées :

Top