Modifier

Analyse de données spatiales avec Azure Synapse Analytics

Azure Synapse Analytics
Azure AI services
Vision par ordinateur Azure
Azure Batch
Stockage Azure

Cette architecture est conçue pour montrer une implémentation de bout en bout qui implique l’extraction, le chargement, la transformation et l’analyse des données spatiales à l’aide de bibliothèques géospatiales et de modèles d’IA avec Azure Synapse Analytics. Cet article explique également comment intégrer des modèles Azure Cognitive Services spécifiques à la géospatiale, des modèles d’IA de partenaires, des modèles BYOD (bring-your-own-data) et des modèles d’IA qui utilisent Azure Synapse Analytics. Le public concerné pour ce document sont les utilisateurs disposant de niveaux de compétence intermédiaires dans l’utilisation de données géospatiales ou spatiales.

Une implémentation de cette architecture est disponible sur GitHub.

Apache, Apache® Spark, Spark, le logo Spark, Apache Sedona, Apache Incubator, le logo plume d’Apache et le logo de projet d’Apache Incubator sont des marques déposées ou non d’Apache Software Foundation aux États-Unis et/ou dans d’autres pays. L’utilisation de ces marques n’implique aucune approbation de l’Apache Software Foundation.

Architecture

Diagramme illustrant la solution analytique de traitement géospatial.

Téléchargez un fichier Visio de cette architecture.

Dataflow

Les sections suivantes décrivent les étapes de l’architecture.

Ingestion de données

Les données spatiales sont extraites de sources de données telles que Airbus, NAIP/USDA (via l’API Planetary Computer) et Maxar. Les données sont ingérées dans Azure Data Lake Storage.

Azure Synapse Analytics fournit différents pipelines et activités, comme l’activité web, l’activité Data Flow et les activités personnalisées, pour la connexion à ces sources et la copie des données dans Data Lake Storage.

Les activités personnalisées Azure Synapse exécutent votre logique de code personnalisée sur un pool Azure Batch de machines virtuelles ou dans des conteneurs compatibles Docker.

Transformation des données

Les données sont traitées et transformées dans un format que les analystes et les modèles d’IA peuvent consommer. Les bibliothèques géospatiales, notamment GDAL, OGR, Rasterio et GeoPandas, sont disponibles pour effectuer la transformation.

Les pools Azure Synapse Spark permettent de configurer et d’utiliser ces bibliothèques pour effectuer les transformations de données. Vous pouvez également utiliser les activités personnalisées Azure Synapse, qui utilisent des pools Azure Batch.

Un notebook Azure Synapse est une interface web que vous pouvez utiliser pour créer des fichiers contenant du code, des visualisations et du texte descriptif dynamiques. Les notebooks constituent un bon endroit où valider des idées, définir des transformations et effectuer des expérimentations rapides pour extraire des insights à partir de vos données et développer un pipeline. Dans l’exemple de code, la bibliothèque GDAL est utilisée dans un pool Spark pour effectuer des transformations de données. Pour plus d’informations, consultez la section Exemple de code de cet article.

L’exemple de solution implémente ce pipeline à partir de cette étape de transformation de données. L’exemple est écrit en partant du principe que les données sont copiées dans Data Lake Storage par les méthodes d’ingestion de données décrites précédemment. Il illustre l’implémentation de ce pipeline pour le traitement des données raster.

Analyse et exécution des modèles d’IA

L’environnement de notebook Azure Synapse analyse et exécute des modèles d’IA.

Les modèles d’IA développés avec des services tels que le modèle Cognitive Services Custom Vision, entraînés dans leur propre environnement et empaquetés en tant que conteneurs Docker sont disponibles dans l’environnement Azure Synapse.

Dans l’environnement Azure Synapse, vous pouvez également exécuter des modèles d’IA disponibles auprès de partenaires pour différentes fonctionnalités telles que la détection d’objets, la détection de modifications et la classification terrestre. Ces modèles sont entraînés dans leur propre environnement et empaquetés en tant que conteneurs Docker.

Azure Synapse peut exécuter ces modèles d’IA via une activité personnalisée qui exécute du code dans des pools Batch en tant qu’exécutables ou conteneurs Docker. L’exemple de solution montre comment exécuter un modèle d’IA Custom Vision dans le cadre d’un pipeline Azure Synapse pour la détection d’objets sur une zone géospatiale spécifique.

Post-analyse et visualisation

  • Pour une analyse et une visualisation supplémentaires, la sortie de l’analyse et de l’exécution des modèles d’IA peut être stockée dans Data Lake Storage, des bases de données prenant en charge les données telles qu’Azure Database pour PostgreSQL ou Azure Cosmos DB. L’exemple de solution montre comment transformer la sortie du modèle d’IA et la stocker en tant que données GeoJSON dans Data Lake Storage et Azure Database pour PostgreSQL. Vous pouvez récupérer et interroger la sortie à partir de là.
  • Pour la visualisation :
    • Vous pouvez utiliser des outils sous licence comme ArcGIS Desktop ou des outils open source comme QGIS.
    • Vous pouvez utiliser Power BI pour accéder à GeoJSON à partir de différentes sources de données et visualiser les données du système d’information géographique (GIS).
    • Vous pouvez utiliser des bibliothèques JavaScript géospatiales côté client pour visualiser les données dans des applications web.

Composants

Sources de données

Ingestion de données

  • Azure Synapse Analytics est un service d’analytique illimité, qui réunit l’intégration de données, l’entreposage de données d’entreprise et des fonctionnalités analytiques pour le Big Data. Azure Synapse contient le même moteur et les mêmes expériences d’intégration des données qu’Azure Data Factory, de telle sorte que vous pouvez créer des pipelines ETL à grande échelle sans quitter Azure Synapse.
  • Azure Data Lake Storage est un ensemble de fonctionnalités dédiées à l’analytique du Big Data et basées sur le Stockage Blob Azure.
  • Azure Batch vous permet d’exécuter et de mettre à l’échelle de nombreux travaux Batch Computing sur Azure. Les tâches Batch peuvent être exécutées directement sur des machines virtuelles (nœuds) dans un pool Batch, mais vous pouvez également configurer un pool Batch pour exécuter des tâches dans des conteneurs compatibles Docker sur les nœuds.
    • Une activité personnalisée Azure Synapse exécute votre logique de code personnalisée sur un pool Azure Batch de machines virtuelles ou dans des conteneurs Docker.
  • Azure Key Vault stocke et contrôle l’accès aux secrets tels que les jetons, mots de passe et clés API. Key Vault crée et contrôle également des clés de chiffrement et gère les certificats de sécurité.

Transformation des données

Les bibliothèques et packages géospatiaux suivants sont utilisés ensemble pour les transformations. Ces bibliothèques et packages sont installés dans un pool Spark serverless, qui est ensuite attaché à un notebook Azure Synapse. Pour plus d’informations sur l’installation des bibliothèques, consultez Installer des packages géospatiaux dans un pool Azure Synapse Spark, plus loin dans cet article.

  • Bibliothèques géospatiales
    • GDAL est une bibliothèque d’outils permettant de manipuler des données spatiales. La bibliothèque GDAL fonctionne sur les types de données raster et vectorielles. Il s’agit d’un bon outil pour savoir si vous travaillez avec des données spatiales.
    • Rasterio est un module pour le traitement des données raster. Vous pouvez l’utiliser pour lire et écrire plusieurs formats raster différents dans Python. Rasterio est basé sur GDAL. Lorsque le module est importé, Python inscrit automatiquement tous les pilotes GDAL connus pour la lecture des formats pris en charge.
    • GeoPandas est un projet open source qui peut faciliter l’utilisation des données spatiales dans Python. GeoPandas étend les types de données utilisés par Pandas pour autoriser les opérations spatiales sur les types géométriques.
    • Shapely est un package Python pour l’analyse théorétique et la manipulation des caractéristiques planaires. Il utilise (via le module ctypes de Python) des fonctions de la bibliothèque GEOS largement déployée.
    • pyproj effectue des transformations cartographiques. Il effectue des conversions de longitude et latitude en coordonnées x, y de projection de carte native, et vice versa, à l’aide de PROJ.
  • Azure Batch vous permet d’exécuter et de mettre à l’échelle de nombreux travaux Batch Computing sur Azure.
  • Les notebooks Azure Synapse sont une interface web permettant de créer des fichiers contenant du code, des visualisations et du texte descriptif dynamiques. Vous pouvez ajouter des notebooks Azure Synapse existants à un pipeline Azure Synapse à l’aide de l’activité Notebook.
  • Le pool Apache Spark permet de configurer et d’utiliser des bibliothèques pour effectuer des transformations de données. Vous pouvez ajouter des travaux Spark existants à un pipeline Azure Synapse à l’aide de l’activité Définition de travail Spark.

Analyse et modélisation d’IA

  • Azure Synapse fournit des fonctionnalités de Machine Learning.
  • Azure Batch vous permet d’exécuter et de mettre à l’échelle de nombreux travaux Batch Computing sur Azure. Dans cette solution, l’activité personnalisée Azure Synapse est utilisée pour exécuter des modèles d’IA basés sur Docker sur des pools Azure Batch.
  • Azure Cognitive Services offre la possibilité d’incorporer la vision dans vos applications. Vous pouvez utiliser Custom Vision, un composant de Cognitive Services, pour personnaliser et incorporer l’analyse d’images Vision par ordinateur de pointe pour des domaines spécifiques.
  • Vous pouvez également utiliser vos propres modèles d’IA et des modèles d’IA de partenaires Microsoft comme blackshark.ai.

Liens de post-analyse et de visualisation

  • Azure Database pour PostgreSQL est un service de base de données relationnelle complètement managé conçu pour les charges de travail hyperscale. Il prend en charge les données spatiales via l’extension PostGIS.
  • Azure Cosmos DB prend en charge l’indexation et l’interrogation des données de point géospatiales représentées dans GeoJSON.
  • Power BI est un outil interactif de visualisation des données qui permet de créer des rapports et des tableaux de bord. Vous pouvez obtenir des informations sur les données spatiales d’Esri ArcGIS Maps.
  • QGIS est un GIS open source gratuit pour la création, la modification, la visualisation, l’analyse et la publication d’informations géospatiales.
  • ArcGIS Desktop est un produit sous licence fourni par Esri. Vous pouvez l’utiliser pour créer, analyser, gérer et partager des informations géographiques.

Autres solutions

Si vous souhaitez exécuter des modèles d’IA conteneurisés que vous pouvez appeler à partir d’Azure Synapse, vous pouvez utiliser Azure Kubernetes Service, Azure Container Instances ou Azure Container Apps.

Azure Databricks offre une alternative à l’hébergement d’un pipeline d’analytique.

Spark dans Azure HDInsight offre une alternative à l’utilisation de bibliothèques géospatiales dans l’environnement Apache Spark.

Voici quelques bibliothèques et infrastructures alternatives que vous pouvez utiliser pour le traitement spatial :

  • Apache Sedona, anciennement nommé GeoSpark, est un système informatique de cluster pour le traitement des données spatiales à grande échelle. Sedona étend Spark et Spark SQL avec des jeux de données distribués résilients spatiaux et SpatialSQL prêts à l’emploi qui chargent, traitent et analysent efficacement les données spatiales à grande échelle entre les machines.
  • Dask pour Python est une bibliothèque de calcul parallèle qui met à l’échelle l’écosystème Python existant.

Détails du scénario

La collecte de données spatiales est de plus en plus courante. Pour l’application de l’intelligence artificielle, les archives stockées de données sont nécessaires pour le Machine Learning. La nécessité de créer une solution basée sur le cloud pour l’analyse spatiale des données est devenue plus importante pour permettre aux entreprises et aux gouvernements de prendre des décisions commerciales et tactiques plus éclairées.

Cas d’usage potentiels

Cette solution est idéale pour les secteurs de l’aérospatiale et de l’aviation. Elle couvre ces scénarios :

  • ingestion et traitement des données raster ;
  • détection d’objets via des modèles IA préentraînés ;
  • classification de masses terrestres via des modèles d’IA ;
  • surveillance des modifications dans l’environnement via des modèles d’IA ;
  • jeux de données dérivés de jeux d’imagerie prétraités ;
  • visualisation vectorielle/consommation en petite zone ;
  • filtrage de données vectorielles et jointures entre données.

Considérations

Ces considérations implémentent les piliers d’Azure Well-Architected Framework qui est un ensemble de principes directeurs qui permettent d’améliorer la qualité d’une charge de travail. Pour plus d’informations, consultez Microsoft Azure Well-Architected Framework.

Excellence opérationnelle

Si vous collaborez à l’aide de Git pour le contrôle de code source, vous pouvez utiliser Synapse Studio pour associer votre espace de travail à un référentiel Git, Azure DevOps ou GitHub. Pour plus d’informations, consultez Contrôle de code source dans Synapse Studio.

  • Dans un espace de travail Azure Synapse, la CI/CD déplace toutes les entités d’un environnement (développement, test, production) vers un autre environnement.
  • Vous pouvez utiliser des pipelines de mise en production Azure DevOps et GitHub Actions pour automatiser le déploiement d’un espace de travail Azure Synapse dans plusieurs environnements.

Performances

  • Azure Synapse prend en charge Apache Spark 3.1.2, qui est plus performant que ses prédécesseurs.
  • Pour plus d’informations sur la mise à l’échelle des pools Spark et des tailles de nœuds, consultez Pools Spark dans Azure Synapse Analytics.
  • Avec Azure Batch, vous pouvez effectuer un scale-out intrinsèquement parallèle pour les transformations soumises dans une activité personnalisée Azure Synapse. Azure Batch prend en charge les tailles de machines virtuelles optimisées par GPU spécialisées que vous pouvez utiliser pour exécuter des modèles d’IA.

Fiabilité

La fiabilité permet de s’assurer que votre application tient vos engagements auprès de vos clients. Pour plus d’informations, consultez la page Vue d’ensemble du pilier de fiabilité.

Pour plus d’informations sur le contrat SLA, consultez SLA Azure Synapse.

Sécurité

La sécurité fournit des garanties contre les attaques délibérées, et contre l’utilisation abusive de vos données et systèmes importants. Pour plus d’informations, consultez Vue d’ensemble du pilier Sécurité.

Consultez les articles suivants pour connaître les meilleures pratiques de sécurité :

Optimisation des coûts

L’optimisation des coûts consiste à examiner les moyens de réduire les dépenses inutiles et d’améliorer l’efficacité opérationnelle. Pour plus d’informations, consultez Vue d’ensemble du pilier d’optimisation des coûts.

Ces ressources fournissent des informations sur la tarification et l’optimisation des coûts :

Notes

Pour connaître les tarifs et les termes du contrat de licence pour les modèles d’IA de partenaire, consultez la documentation du partenaire.

Déployer ce scénario

Un déploiement Bicep de l’exemple de solution est disponible. Pour commencer à utiliser ce déploiement, consultez ces instructions.

Diagramme illustrant l’architecture de l’exemple de solution déployée.

Téléchargez un fichier Visio de cette architecture.

Limites

Cette architecture illustre une solution de géotraitement et d’analytique de bout en bout qui utilise Azure Synapse. Cet exemple d’implémentation est ciblé pour une zone d’intérêt petite à moyenne et un géotraitement simultané limité des données raster.

Exemple de code

Les instructions suivantes décrivent la lecture, l’écriture et l’application des transformations aux données raster stockées dans Azure Data Lake Storage à l’aide d’un notebook Synapse. L’intention est plus de démontrer l’utilisation de bibliothèques dans les notebooks Synapse que de démontrer la transformation.

Prérequis

Instructions

  • Imprimez des informations à partir des données raster :

    from osgeo import gdal
    gdal.UseExceptions()
    access_key = TokenLibrary.getSecret('<key-vault-name>','<secret-name>')
    gdal.SetConfigOption('AZURE_STORAGE_ACCOUNT', '<storage_account_name>')
    gdal.SetConfigOption('AZURE_STORAGE_ACCESS_KEY', access_key)
    dataset_info = gdal.Info('/vsiadls/aoa/input/sample_image.tiff')  #/vsiadls/<container_name>/path/to/image
    print(dataset_info)
    

    Notes

    /vsiadls/ est un gestionnaire de système de fichiers qui permet une lecture aléatoire à la volée de fichiers essentiellement non publics disponibles dans les systèmes de fichiers Azure Data Lake Storage. Le téléchargement antérieur de l’intégralité du fichier n’est pas requis. /vsiadls/ est semblable à /vsiaz/. Il utilise les mêmes options de configuration pour l’authentification. Contrairement à /vsiaz/, /vsiadls/ fournit une prise en charge réelle de la gestion des répertoires et des listes de contrôle d’accès au style Unix. Pour certaines fonctionnalités, la prise en charge hiérarchique doit être activée dans le stockage Azure. Pour plus d’informations, consultez la documentation /vsiadls/.

    Driver: GTiff/GeoTIFF
    Files: /vsiadls/naip/input/sample_image.tiff
    Size is 6634, 7565
    Coordinate System is:
    PROJCRS["NAD83 / UTM zone 16N",
        BASEGEOGCRS["NAD83",
            DATUM["North American Datum 1983",
                ELLIPSOID["GRS 1980",6378137,298.257222101,
                    LENGTHUNIT["metre",1]]],
            PRIMEM["Greenwich",0,
                ANGLEUNIT["degree",0.0174532925199433]],
            ID["EPSG",4269]],
        CONVERSION["UTM zone 16N",
            METHOD["Transverse Mercator",
                ID["EPSG",9807]],
            PARAMETER["Latitude of natural origin",0,
                ANGLEUNIT["degree",0.0174532925199433],
                ID["EPSG",8801]],
            PARAMETER["Longitude of natural origin",-87,
                ANGLEUNIT["degree",0.0174532925199433],
                ID["EPSG",8802]],
            PARAMETER["Scale factor at natural origin",0.9996,
                SCALEUNIT["unity",1],
                ID["EPSG",8805]],
            PARAMETER["False easting",500000,
                LENGTHUNIT["metre",1],
                ID["EPSG",8806]],
            PARAMETER["False northing",0,
                LENGTHUNIT["metre",1],
                ID["EPSG",8807]]],
        CS[Cartesian,2],
            AXIS["(E)",east,
                ORDER[1],
                LENGTHUNIT["metre",1]],
            AXIS["(N)",north,
                ORDER[2],
                LENGTHUNIT["metre",1]],
        USAGE[
            SCOPE["Engineering survey, topographic mapping."],
            AREA["North America - between 90°W and 84°W - onshore and offshore. Canada - Manitoba; Nunavut; Ontario. United States (USA) - Alabama; Arkansas; Florida; Georgia; Indiana; Illinois; Kentucky; Louisiana; Michigan; Minnesota; Mississippi; Missouri; North Carolina; Ohio; Tennessee; Wisconsin."],
            BBOX[23.97,-90,84,-84]],
        ID["EPSG",26916]]
    Data axis to CRS axis mapping: 1,2
    Origin = (427820.000000000000000,3395510.000000000000000)
    Pixel Size = (1.000000000000000,-1.000000000000000)
    Metadata:
      AREA_OR_POINT=Area
    Image Structure Metadata:
      COMPRESSION=DEFLATE
      INTERLEAVE=PIXEL
      LAYOUT=COG
      PREDICTOR=2
    Corner Coordinates:
    Upper Left  (  427820.000, 3395510.000) ( 87d45'13.12"W, 30d41'24.67"N)
    Lower Left  (  427820.000, 3387945.000) ( 87d45'11.21"W, 30d37'18.94"N)
    Upper Right (  434454.000, 3395510.000) ( 87d41' 3.77"W, 30d41'26.05"N)
    Lower Right (  434454.000, 3387945.000) ( 87d41' 2.04"W, 30d37'20.32"N)
    Center      (  431137.000, 3391727.500) ( 87d43' 7.54"W, 30d39'22.51"N)
    Band 1 Block=512x512 Type=Byte, ColorInterp=Red
      Overviews: 3317x3782, 1658x1891, 829x945, 414x472
    Band 2 Block=512x512 Type=Byte, ColorInterp=Green
      Overviews: 3317x3782, 1658x1891, 829x945, 414x472
    Band 3 Block=512x512 Type=Byte, ColorInterp=Blue
      Overviews: 3317x3782, 1658x1891, 829x945, 414x472
    Band 4 Block=512x512 Type=Byte, ColorInterp=Undefined
      Overviews: 3317x3782, 1658x1891, 829x945, 414x472
    
  • Convertissez GeoTiff en PNG à l’aide de la bibliothèque GDAL :

    from osgeo import gdal
    gdal.UseExceptions()
    access_key = TokenLibrary.getSecret('<key-vault-name>','<secret-name>')
    gdal.SetConfigOption('AZURE_STORAGE_ACCOUNT', '<storage_account_name>')
    gdal.SetConfigOption('AZURE_STORAGE_ACCESS_KEY', access_key)
    tiff_in = "/vsiadls/aoa/input/sample_image.tiff" #/vsiadls/<container_name>/path/to/image
    png_out = "/vsiadls/aoa/input/sample_image.png" #/vsiadls/<container_name>/path/to/image
    options = gdal.TranslateOptions(format='PNG')
    gdal.Translate(png_out, tiff_in, options=options)
    
  • Stockez des images GeoTiff dans Azure Data Lake Storage.

    En raison de la façon dont les données sont stockées dans le cloud et du fait que les gestionnaires de fichiers /vsiaz/ et /vsiadls/ prennent en charge uniquement les écritures séquentielles, nous utilisons la fonctionnalité de montage de fichiers disponible dans le package mssparkutils. Une fois la sortie écrite dans un emplacement de montage, copiez-la dans Azure Data Lake Storage comme indiqué dans cet exemple de transformation :

    import shutil
    import sys
    from osgeo import gdal
    from notebookutils import mssparkutils
    
    mssparkutils.fs.mount(
        "abfss://<container_name>@<storage_account_name>.dfs.core.windows.net",
        "/<mount_path>",
        {"linkedService":"<linked_service_name>"}
    )
    
    access_key = TokenLibrary.getSecret('<key-vault-name>','<secret-name>')
    gdal.SetConfigOption('AZURE_STORAGE_ACCOUNT', '<storage_account_name>')
    gdal.SetConfigOption('AZURE_STORAGE_ACCESS_KEY', access_key)
    
    options = gdal.WarpOptions(options=['tr'], xRes=1000, yRes=1000)
    gdal.Warp('dst_img.tiff', '/vsiadls/<container_name>/path/to/src_img.tiff', options=options)
    
    jobId = mssparkutils.env.getJobId()
    
    shutil.copy("dst_img.tiff", f"/synfs/{jobId}/<mount_path>/path/to/dst_img.tiff")
    

    Dans Azure Synapse, vous pouvez ajouter Azure Data Lake Storage comme l’un des services liés. Pour obtenir des instructions, consultez Services liés.

Exemple de solution

Une implémentation de cette architecture est disponible sur GitHub.

Ce diagramme montre les étapes de l’exemple de solution :

Diagramme illustrant les étapes de l’exemple de solution.

Téléchargez un fichier Visio de cette architecture.

Notes

Les données sont extraites des sources de données spatiales et copiées dans Azure Data Lake Storage. L’ingestion des données ne fait pas partie de l’implémentation de référence.

  1. Un pipeline Azure Synapse lit les données spatiales à partir d’Azure Data Lake Storage.
  2. Les données sont traitées avec la bibliothèque GDAL dans un notebook Azure Synapse.
  3. Les données traitées sont stockées dans Azure Data Lake Storage.
  4. Les données traitées sont lues à partir d’Azure Data Lake Storage et passées aux modèles d’IA Custom Vision de détection d’objets par une activité personnalisée Azure Synapse. L’activité personnalisée utilise des pools Azure Batch pour exécuter le modèle de détection d’objets.
  5. Le modèle de détection d’objets génère une liste d’objets détectés et de rectangles englobants.
  6. Les objets détectés sont convertis en GeoJSON et stockés dans Azure Data Lake Storage.
  7. Les données GeoJSON sont lues à partir d’Azure Data Lake Storage et stockées dans une base de données PostgreSQL.
  8. Les données sont lues à partir de la base de données PostgreSQL. Elles peuvent être visualisées davantage dans des outils tels qu’ArcGIS Pro, QGIS et Power BI.

Installer des packages géospatiaux dans un pool Spark Azure Synapse

Vous devez installer les packages dans un pool Spark Azure Synapse à l’aide de la fonctionnalité de gestion des packages. Pour plus d’informations, consultez Gestion des packages Azure Synapse.

Pour prendre en charge les charges de travail spatiales sur Azure Synapse, vous avez besoin de bibliothèques telles que GDAL, Rasterio et GeoPandas. Vous pouvez installer ces bibliothèques sur un pool Apache Spark serverless à l’aide d’un fichier YAML. Les bibliothèques Anaconda sont préinstallées sur le pool Spark.

Prérequis

Instructions

  1. Les bibliothèques et packages suivants sont disponibles dans le fichier environment.yml. Nous vous recommandons d’utiliser ce fichier pour installer les bibliothèques dans les pools Spark. Si vous copiez le contenu ci-dessous, assurez-vous qu’il n’y a pas d’onglets, car YAML autorise uniquement les espaces comme mise en retrait.

    name: aoi-env
    channels:
      - conda-forge
      - defaults
    dependencies:
      - azure-storage-file-datalake
      - gdal=3.3.0
      - libgdal
      - pip>=20.1.1
      - pyproj
      - shapely
      - pip:
        - rasterio
        - geopandas
    

    Notes

    GDAL utilise le système de fichiers virtuel /vsiadls/ pour Azure Data Lake Storage. Cette fonctionnalité est disponible à partir de GDAL v3.3.0. Veillez à utiliser la version 3.3.0 ou ultérieure.

  2. Accédez à https://web.azuresynapse.net et connectez-vous à votre espace de travail.

  3. Sélectionnez Gérer dans le volet de navigation, puis Pools Apache Spark.

  4. Sélectionnez Packages en sélectionnant le bouton représentant des points de suspension (...) sur le pool Spark. Chargez le fichier environment.yml à partir de local et appliquez les paramètres du package.

  5. La section de notification du portail vous avertit lorsque l’installation est terminée. Vous pouvez également suivre la progression de l’installation en procédant comme suit :

    1. Accédez à la liste des applications Spark dans l’onglet Surveiller.
    2. Sélectionnez le lien SystemReservedJob-LibraryManagement qui correspond à la mise à jour de votre pool.
    3. Affichez les journaux d’activités des pilotes.
  6. Exécutez le code suivant pour vérifier que les versions correctes des bibliothèques sont installées. Les bibliothèques préinstallées que Conda installe sont également répertoriées.

    import pkg_resources
    for d in pkg_resources.working_set:
       print(d)
    

Pour plus d’informations, consultez Gérer les packages.

Contributeurs

Cet article est mis à jour et géré par Microsoft. Il a été écrit à l’origine par les contributeurs suivants.

Auteurs principaux :

Autres contributeurs :

Étapes suivantes