Analisi dei dati spaziali con Azure Synapse Analytics

Azure Synapse Analytics
Servizi di intelligenza artificiale di Azure
Visione artificiale di Azure
Azure Batch
Archiviazione di Azure

Questa architettura è progettata per mostrare un'implementazione end-to-end che prevede l'estrazione, il caricamento, la trasformazione e l'analisi dei dati spaziali usando librerie geospaziali e modelli di intelligenza artificiale con Azure Synapse Analytics. Questo articolo illustra anche come integrare modelli geospaziali specifici di Servizi cognitivi di Azure, modelli di intelligenza artificiale di partner, modelli bring-your-own-data e modelli di intelligenza artificiale che usano Azure Synapse Analytics. Il pubblico destinato a questo documento è costituito dagli utenti con livelli di competenza intermedi nell'uso dei dati geospaziali o spaziali.

Un'implementazione di questa architettura è disponibile in GitHub.

Apache®, Apache Spark, Spark, il logo Spark, Apache Sedona, Apache Incubator, il logo apache feather e il logo del progetto Apache Apache Sono marchi registrati o marchi di Apache Software Foundation nei Stati Uniti e/o in altri paesi. L'uso di questi marchi non implica alcuna approvazione da parte di Apache Software Foundation.

Architettura

Diagramma che mostra la soluzione di analisi di elaborazione geospaziale.

Scaricare un file di Visio di questa architettura.

Flusso di dati

Le sezioni seguenti descrivono le fasi dell'architettura.

Inserimento dati

I dati spaziali vengono estratti da origini dati come Airbus, NAIP/USDA (tramite l'API Planetary Computer) e Maxar. I dati vengono inseriti in Azure Data Lake Storage.

Azure Synapse Analytics offre diverse pipeline e attività, ad esempio attività Web, attività Flusso di dati e Attività personalizzate, per connettersi a queste origini e copiare i dati in Data Lake Storage.

Le attività personalizzate di Azure Synapse eseguono la logica del codice personalizzata in un pool di macchine virtuali di Azure Batch o in contenitori compatibili con Docker.

Trasformazione dei dati

I dati vengono elaborati e trasformati in un formato che gli analisti e i modelli di intelligenza artificiale possono usare. Le librerie geospaziali, tra cui GDAL, OGR, Rasterio e GeoPandas, sono disponibili per eseguire la trasformazione.

I pool di Spark di Azure Synapse offrono la possibilità di configurare e usare queste librerie per eseguire le trasformazioni dei dati. È anche possibile usare le attività personalizzate di Azure Synapse, che usano pool di Azure Batch.

Un notebook di Azure Synapse è un'interfaccia Web che è possibile usare per creare file contenenti codice, visualizzazioni e testo narrativo in tempo reale. I notebook sono un buon posto per convalidare idee, definire trasformazioni ed eseguire esperimenti rapidi per ottenere informazioni dettagliate dai dati e creare una pipeline. Nel codice di esempio la libreria GDAL viene usata in un pool di Spark per eseguire trasformazioni dei dati. Per altre informazioni, vedere la sezione relativa al codice di esempio di questo articolo.

La soluzione di esempio implementa questa pipeline da questo passaggio di trasformazione dei dati. L'esempio viene scritto presupponendo che i dati vengano copiati in Data Lake Storage dai metodi di inserimento dati descritti in precedenza. Illustra l'implementazione di questa pipeline per l'elaborazione dei dati raster.

Analisi ed esecuzione di modelli di intelligenza artificiale

L'ambiente notebook di Azure Synapse analizza ed esegue modelli di intelligenza artificiale.

I modelli di intelligenza artificiale sviluppati con servizi come il modello di servizi cognitivi Visione personalizzata, sottoposti a training nel proprio ambiente e inseriti in un pacchetto come contenitori Docker sono disponibili nell'ambiente Azure Synapse.

Nell'ambiente Azure Synapse è anche possibile eseguire modelli di intelligenza artificiale disponibili dai partner per diverse funzionalità, ad esempio il rilevamento degli oggetti, il rilevamento delle modifiche e la classificazione dei terreni. Questi modelli vengono sottoposti a training nel proprio ambiente e inseriti in un pacchetto come contenitori Docker.

Azure Synapse può eseguire tali modelli di intelligenza artificiale tramite un'attività personalizzata che esegue codice nei pool di Batch come file eseguibili o contenitori Docker. La soluzione di esempio illustra come eseguire un modello di intelligenza artificiale Visione personalizzata come parte di una pipeline di Azure Synapse per il rilevamento degli oggetti in un'area geospaziale specifica.

Post-analisi e visualizzazione

  • Per un'ulteriore analisi e visualizzazione, l'output dell'analisi e dell'esecuzione dei modelli di intelligenza artificiale può essere archiviato in Data Lake Storage, in database con riconoscimento dei dati come Database di Azure per PostgreSQL o Azure Cosmos DB. La soluzione di esempio illustra come trasformare l'output del modello di intelligenza artificiale e archiviarlo come dati GeoJSON in Data Lake Storage e Database di Azure per PostgreSQL. È possibile recuperare ed eseguire query sull'output da questa posizione.
  • Per la visualizzazione:
    • È possibile usare strumenti con licenza come ArcGIS Desktop o strumenti open source come QGIS.
    • È possibile usare Power BI per accedere a GeoJSON da varie origini dati e visualizzare i dati del sistema informativo geografico (GIS).
    • È possibile usare librerie geospaziali basate su JavaScript sul lato client per visualizzare i dati nelle applicazioni Web.

Componenti

Origini dati

Inserimento dati

  • Azure Synapse Analytics è un servizio di analisi illimitato che riunisce l'integrazione dei dati, il data warehousing aziendale e l'analisi dei Big Data. Azure Synapse contiene gli stessi Integrazione dei dati motore ed esperienze di Azure Data Factory, in modo da poter creare pipeline ETL su larga scala senza uscire da Azure Synapse.
  • Azure Data Lake Storage è dedicato all'analisi dei Big Data ed è basato su Archiviazione BLOB di Azure.
  • Azure Batch consente di eseguire e ridimensionare un numero elevato di processi di elaborazione batch in Azure. Le attività batch possono essere eseguite direttamente in macchine virtuali (nodi) in un pool di Batch, ma è anche possibile configurare un pool di Batch per eseguire attività nei contenitori compatibili con Docker nei nodi.
    • Un'attività personalizzata di Azure Synapse esegue logica di codice personalizzata in un pool di macchine virtuali di Azure Batch o in contenitori Docker.
  • Azure Key Vault archivia e controlla l'accesso a segreti come token, password e chiavi API. Key Vault crea e controlla anche le chiavi di crittografia e gestisce i certificati di sicurezza.

Trasformazione dei dati

Le librerie e i pacchetti geospaziali seguenti vengono usati insieme per le trasformazioni. Queste librerie e pacchetti vengono installati in un pool di Spark serverless, che viene quindi collegato a un notebook di Azure Synapse. Per informazioni sull'installazione delle librerie, vedere Installare pacchetti geospaziali in un pool di Spark di Azure Synapse più avanti in questo articolo.

  • Librerie geospaziali
    • GDAL è una libreria di strumenti per la manipolazione dei dati spaziali. GDAL funziona sui tipi di dati raster e vector. È un buon strumento per sapere se si lavora con i dati spaziali.
    • Rasterio è un modulo per l'elaborazione raster. È possibile usarlo per leggere e scrivere diversi formati raster in Python. Rasterio si basa su GDAL. Quando il modulo viene importato, Python registra automaticamente tutti i driver GDAL noti per la lettura dei formati supportati.
    • GeoPandas è un progetto open source che può semplificare l'uso dei dati spaziali in Python. GeoPandas estende i tipi di dati usati da Pandas per consentire operazioni spaziali sui tipi geometrici.
    • Shapely è un pacchetto Python per l'analisi set-theoretic e la manipolazione delle funzionalità planari. Usa (tramite il modulo ctypes) di Python dalla libreria GEOS ampiamente distribuita.
    • pyproj esegue trasformazioni cartografiche. Converte da longitudine e latitudine alla proiezione della mappa nativa x, coordinate y e viceversa tramite PROJ.
  • Azure Batch consente di eseguire e ridimensionare un numero elevato di processi di elaborazione batch in Azure.
  • I notebook di Azure Synapse sono un'interfaccia Web per la creazione di file che contengono codice live, visualizzazioni e testo narrativo. È possibile aggiungere notebook di Azure Synapse esistenti a una pipeline di Azure Synapse usando l'attività Notebook.
  • Il pool di Apache Spark consente di configurare e usare librerie per eseguire trasformazioni dei dati. È possibile aggiungere processi Spark esistenti a una pipeline di Azure Synapse usando l'attività Definizione processo Spark.

Modellazione di analisi e intelligenza artificiale

  • Azure Synapse offre funzionalità di Machine Learning.
  • Azure Batch consente di eseguire e ridimensionare un numero elevato di processi di elaborazione batch in Azure. In questa soluzione, l'attività personalizzata di Azure Synapse viene usata per eseguire modelli di intelligenza artificiale basati su Docker nei pool di Azure Batch.
  • Servizi cognitivi di Azure offre la possibilità di incorporare la visione nelle app. È possibile usare Visione personalizzata, un componente di Servizi cognitivi, per personalizzare e incorporare analisi delle immagini di visione artificiale all'avanguardia per domini specifici.
  • È anche possibile usare modelli di intelligenza artificiale bring your own e modelli di intelligenza artificiale partner Microsoft come blackshark.ai.

Collegamenti post-analisi e visualizzazione

  • Database di Azure per PostgreSQL è un servizio di database relazionale completamente gestito progettato per carichi di lavoro con iperscalabilità. Supporta i dati spaziali tramite l'estensione PostGIS .
  • Azure Cosmos DB supporta l'indicizzazione e l'esecuzione di query sui dati dei punti geospaziali rappresentati in GeoJSON.
  • Power BI è uno strumento di visualizzazione dei dati interattivo per la creazione di report e dashboard. È possibile ottenere informazioni dettagliate sui dati spaziali da Esri ArcGIS Maps.
  • QGIS è un gis open source gratuito per la creazione, la modifica, la visualizzazione, l'analisi e la pubblicazione di informazioni geospaziali.
  • ArcGIS Desktop è un prodotto concesso in licenza da Esri. È possibile usarlo per creare, analizzare, gestire e condividere informazioni geografiche.

Alternative

Se si vogliono eseguire modelli di intelligenza artificiale in contenitori che è possibile chiamare da Azure Synapse, è possibile usare servizio Azure Kubernetes, Istanze di Azure Container o App Azure Container.

Azure Databricks offre un'alternativa per l'hosting di una pipeline di analisi.

Spark in Azure HDInsight offre un'alternativa all'uso di librerie geospaziali nell'ambiente Apache Spark.

Ecco alcune librerie e framework alternativi che è possibile usare per l'elaborazione dei dati spaziali:

  • Apache Sedona, denominato in precedenza GeoSpark, è un sistema di elaborazione cluster per l'elaborazione di dati spaziali su larga scala. Sedona estende Spark e Spark SQL con set di dati spaziali resilienti predefiniti e SpatialSQL che caricano, elaborano e analizzano in modo efficiente i dati spaziali su larga scala tra computer.
  • Dask per Python è una libreria di elaborazione parallela che ridimensiona l'ecosistema Python esistente.

Dettagli dello scenario

La raccolta di dati spaceborne è sempre più comune. Per l'applicazione dell'intelligenza artificiale, sono necessari archivi di dati archiviati per l'apprendimento automatico. La necessità di creare una soluzione basata sul cloud per l'analisi dei dati spaziali è diventata più importante per consentire alle aziende e ai governi di guidare decisioni aziendali e tattiche più informate.

Potenziali casi d'uso

Questa soluzione è ideale per le industrie aerospaziali e aeree. Risolve questi scenari:It addresses these scenarios:

  • Inserimento ed elaborazione di dati raster
  • Rilevamento di oggetti tramite modelli di intelligenza artificiale con training preliminare
  • Classificazione delle masse terrestri tramite modelli di intelligenza artificiale
  • Monitoraggio delle modifiche nell'ambiente tramite modelli di intelligenza artificiale
  • Set di dati derivati da set di immagini pre-elaborati
  • Visualizzazione vettoriale/consumo di area ridotta
  • Filtro dei dati vettoriali e join tra dati

Considerazioni

Queste considerazioni implementano i pilastri di Azure Well-Architected Framework, che è un set di set di principi guida che possono essere usati per migliorare la qualità di un carico di lavoro. Per altre informazioni, vedere Framework ben progettato di Microsoft Azure.

Eccellenza operativa

Se si collabora usando Git per il controllo del codice sorgente, è possibile usare Synapse Studio per associare l'area di lavoro a un repository Git, Azure DevOps o GitHub. Per altre informazioni, vedere Controllo del codice sorgente in Synapse Studio.

  • In un'area di lavoro di Azure Synapse, CI/CD sposta tutte le entità da un ambiente (sviluppo, test, produzione) a un altro ambiente.
  • È possibile usare le pipeline di versione di Azure DevOps e GitHub Actions per automatizzare la distribuzione di un'area di lavoro di Azure Synapse in più ambienti.

Prestazioni

  • Azure Synapse supporta Apache Spark 3.1.2, che è più efficiente rispetto ai predecessori.
  • Per informazioni sul ridimensionamento del pool spark e sulle dimensioni dei nodi, vedere Pool di Spark in Azure Synapse Analytics.
  • Con Azure Batch è possibile aumentare il numero di istanze intrinsecamente parallele per le trasformazioni inviate in un'attività personalizzata di Azure Synapse. Azure Batch supporta dimensioni di MACCHINE virtuali ottimizzate per GPU specializzate che è possibile usare per eseguire modelli di intelligenza artificiale.

Affidabilità

L'affidabilità garantisce che l'applicazione possa soddisfare gli impegni che l'utente ha preso con i clienti. Per altre informazioni, vedere Panoramica del pilastro dell'affidabilità.

Per informazioni sul contratto di servizio, vedere Contratto di servizio di Azure Synapse.

Sicurezza

La sicurezza offre garanzie contro attacchi intenzionali e l'abuso di dati e sistemi preziosi. Per altre informazioni, vedere Panoramica del pilastro della sicurezza.

Vedere questi articoli per le procedure consigliate per la sicurezza:

Ottimizzazione dei costi

L'ottimizzazione dei costi riguarda l'analisi dei modi per ridurre le spese non necessarie e migliorare l'efficienza operativa. Per altre informazioni, vedere Panoramica del pilastro di ottimizzazione dei costi.

Queste risorse forniscono informazioni sui prezzi e sull'ottimizzazione dei costi:

Nota

Per i prezzi e le condizioni di licenza per i modelli di intelligenza artificiale partner, vedere la documentazione del partner.

Distribuire lo scenario

È disponibile una distribuzione Bicep della soluzione di esempio. Per iniziare a usare questa distribuzione, vedere queste istruzioni.

Diagramma che illustra l'architettura della soluzione di esempio distribuita.

Scaricare un file di Visio di questa architettura.

Limiti

Questa architettura illustra una soluzione end-to-end di elaborazione geografica e analisi che usa Azure Synapse. Questa implementazione di esempio è destinata a un'area di interesse da piccola a media e a un processo geografico simultaneo limitato di dati raster.

Codice di esempio

Le istruzioni seguenti descrivono come leggere, scrivere e applicare trasformazioni ai dati raster archiviati in Azure Data Lake Storage usando un notebook synapse. L'intenzione è più di illustrare l'uso delle librerie nei notebook di Synapse che di illustrare la trasformazione.

Prerequisiti

Istruzioni

  • Stampare le informazioni dai dati 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)
    

    Nota

    /vsiadls/ è un gestore del file system che consente la lettura casuale on-the-fly di file principalmente non pubblici disponibili nei file system di Azure Data Lake Storage. Il download precedente dell'intero file non è obbligatorio. /vsiadls/ è simile a /vsiaz/. Usa le stesse opzioni di configurazione per l'autenticazione. A differenza di /vsiaz/, /vsiadls/ offre il supporto di ACL in stile Unix e di gestione delle directory reali. Per alcune funzionalità, il supporto gerarchico deve essere attivato in Archiviazione di Azure. Per altre informazioni, vedere la documentazione di /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
    
  • Convertire GeoTiff in PNG usando 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)
    
  • Archiviare immagini GeoTiff in Azure Data Lake Storage.

    A causa della modalità di archiviazione dei dati nel cloud e del fatto che i gestori /vsiaz/ di file e /vsiadls/ supportano solo scritture sequenziali, viene usata la funzionalità di montaggio dei file disponibile nel pacchetto mssparkutils. Dopo aver scritto l'output in una posizione di montaggio, copiarlo in Azure Data Lake Storage, come illustrato in questa trasformazione di esempio:

    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")
    

    In Azure Synapse è possibile aggiungere Azure Data Lake Storage come uno dei servizi collegati. Per istruzioni, vedere Servizi collegati.

Soluzione di esempio

Un'implementazione di questa architettura è disponibile in GitHub.

Questo diagramma illustra i passaggi della soluzione di esempio:

Diagramma che mostra i passaggi della soluzione di esempio.

Scaricare un file di Visio di questa architettura.

Nota

I dati vengono estratti da origini dati spaziali e copiati in Azure Data Lake Storage. L'inserimento dati non fa parte dell'implementazione di riferimento.

  1. Una pipeline di Azure Synapse legge i dati spaziali da Azure Data Lake Storage.
  2. I dati vengono elaborati con la libreria GDAL in un notebook di Azure Synapse.
  3. I dati elaborati vengono archiviati in Azure Data Lake Storage.
  4. I dati elaborati vengono letti da Azure Data Lake Storage e passati al rilevamento degli oggetti Visione personalizzata modelli di intelligenza artificiale da un'attività personalizzata di Azure Synapse. L'attività Personalizzata usa i pool di Azure Batch per eseguire il modello di rilevamento oggetti.
  5. Il modello di rilevamento oggetti restituisce un elenco di oggetti rilevati e rettangoli di selezione.
  6. Gli oggetti rilevati vengono convertiti in GeoJSON e archiviati in Azure Data Lake Storage.
  7. I dati GeoJSON vengono letti da Azure Data Lake Storage e archiviati in un database PostgreSQL.
  8. I dati sono letti dal database PostgreSQL. Può essere visualizzato ulteriormente in strumenti come ArcGIS Pro, QGIS e Power BI.

Installare pacchetti geospaziali in un pool di Spark di Azure Synapse

È necessario installare i pacchetti in un pool di Spark di Azure Synapse usando la funzionalità di gestione dei pacchetti. Per altre informazioni, vedere Gestione pacchetti di Azure Synapse.

Per supportare carichi di lavoro di dati spaziali in Azure Synapse, sono necessarie librerie come GDAL, Rasterio e GeoPandas. È possibile installare queste librerie in un pool di Apache Spark serverless usando un file YAML. Le librerie Anaconda sono preinstallate nel pool di Spark.

Prerequisiti

Istruzioni

  1. Nel file di environment.yml sono disponibili le librerie e i pacchetti seguenti. È consigliabile usare questo file per installare le librerie nei pool di Spark. Se si copia il contenuto seguente, assicurarsi che non siano presenti schede, perché YAML consente solo gli spazi come rientro.

    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
    

    Nota

    GDAL usa il file system /vsiadls/ virtuale per Azure Data Lake Storage.

  2. Passare a https://web.azuresynapse.net e accedere all'area di lavoro.

  3. Selezionare Gestisci nel riquadro di spostamento e quindi selezionare Pool di Apache Spark.

  4. Selezionare Pacchetti selezionando il pulsante con i puntini di sospensione (...) nel pool di Spark. Caricare il file environment.yml da locale e applicare le impostazioni del pacchetto.

  5. La sezione di notifica del portale notifica quando l'installazione è stata completata. È anche possibile tenere traccia dello stato di avanzamento dell'installazione eseguendo questa procedura:

    1. Passare all'elenco delle applicazioni Spark nella scheda Monitoraggio .
    2. Selezionare il collegamento SystemReservedJob-LibraryManagement corrispondente all'aggiornamento del pool.
    3. Visualizzare i log del driver.
  6. Eseguire il codice seguente per verificare che le versioni corrette delle librerie installate. Verranno elencate anche le librerie preinstallate installate da Conda.

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

Per altre informazioni, vedere Gestire i pacchetti.

Collaboratori

Questo articolo viene aggiornato e gestito da Microsoft. Originariamente è stato scritto dai seguenti contributori.

Autori principali:

Collaboratori aggiuntivi:

Passaggi successivi