Editar

Análise de dados spaceborne com o Azure Synapse Analytics

Azure Synapse Analytics
Azure AI services
Azure Computer Vision
Azure Batch
Azure Storage

Esta arquitetura foi concebida para mostrar uma implementação ponto a ponto que envolve extrair, carregar, transformar e analisar dados espaciais através da utilização de bibliotecas geoespaciais e modelos de IA com o Azure Synapse Analytics. Este artigo também mostra como integrar modelos geoespaciais específicos dos Serviços Cognitivos do Azure, modelos de IA de parceiros, modelos bring-your-own-data e IA que utilizam o Azure Synapse Analytics. A audiência pretendida para este documento é utilizadores com níveis de competência intermédios no trabalho com dados geoespaciais ou espaciais.

Está disponível uma implementação desta arquitetura no GitHub.

Apache®, Apache Spark, Spark, o logótipo do Spark, Apache Sedona, Apache Incubator, o logótipo da pena Apache e o logótipo do projeto Apache Incubator são marcas registadas ou marcas registadas da Apache Software Foundation no Estados Unidos e/ou noutros países. A utilização destas marcas não implica o endosso da Apache Software Foundation.

Arquitetura

Diagrama que mostra a solução de análise de processamento geoespacial.

Transfira um ficheiro do Visio desta arquitetura.

Fluxo de dados

As secções seguintes descrevem as fases da arquitetura.

Ingestão de dados

Os dados espaciais são extraídos de origens de dados como Airbus, NAIP/USDA (através da API de Computador Planetário) e Maxar. Os dados são ingeridos em Azure Data Lake Storage.

Azure Synapse Analytics fornece vários pipelines e atividades, como atividade Web, atividade Fluxo de Dados e Atividades personalizadas, para ligar a estas origens e copiar os dados para Data Lake Storage.

Azure Synapse Atividades personalizadas executam a lógica de código personalizada num conjunto de Azure Batch de máquinas virtuais ou em contentores compatíveis com o Docker.

Transformação de dados

Os dados são processados e transformados num formato que os analistas e os modelos de IA podem consumir. As bibliotecas geoespaciais, incluindo GDAL, OGR, Rasterio e GeoPandas, estão disponíveis para realizar a transformação.

Azure Synapse conjuntos do Spark permitem configurar e utilizar estas bibliotecas para realizar as transformações de dados. Também pode utilizar Azure Synapse Atividades personalizadas, que utilizam conjuntos de Azure Batch.

Um bloco de notas Azure Synapse é uma interface Web que pode utilizar para criar ficheiros que contenham código dinâmico, visualizações e texto narrativo. Os blocos de notas são um bom local para validar ideias, definir transformações e fazer experiências rápidas para obter informações dos seus dados e criar um pipeline. No código de exemplo, a biblioteca GDAL é utilizada num conjunto do Spark para realizar transformações de dados. Para obter mais informações, veja a secção de código de exemplo deste artigo.

A solução de exemplo implementa este pipeline a partir deste passo de transformação de dados. O exemplo é escrito com o pressuposto de que os dados são copiados em Data Lake Storage pelos métodos de ingestão de dados descritos anteriormente. Demonstra a implementação deste pipeline para processamento de dados raster.

Análise e execução de modelos de IA

O Azure Synapse ambiente do bloco de notas analisa e executa modelos de IA.

Os modelos de IA desenvolvidos com serviços como os Serviços Cognitivos Visão Personalizada modelo, preparados no seu próprio ambiente e empacotados à medida que os contentores do Docker estão disponíveis no ambiente Azure Synapse.

No ambiente de Azure Synapse, também pode executar modelos de IA disponíveis a partir de parceiros para várias capacidades, como deteção de objetos, deteção de alterações e classificação de terras. Estes modelos são preparados no seu próprio ambiente e embalados como contentores do Docker.

Azure Synapse pode executar esses modelos de IA através de uma atividade Personalizada que executa código em conjuntos do Batch como executáveis ou contentores do Docker. A solução de exemplo demonstra como executar um modelo de IA Visão Personalizada como parte de um pipeline de Azure Synapse para deteção de objetos numa área geoespacial específica.

Pós-análise e visualização

  • Para uma análise e visualização mais aprofundadas, os resultados da análise e execução dos modelos de IA podem ser armazenados em bases de dados com suporte para dados Data Lake Storage, como Base de Dados do Azure para PostgreSQL ou no Azure Cosmos DB. A solução de exemplo mostra como transformar a saída do modelo de IA e armazená-la como dados GeoJSON em Data Lake Storage e Base de Dados do Azure para PostgreSQL. Pode obter e consultar o resultado a partir daí.
  • Para visualização:
    • Pode utilizar ferramentas licenciadas, como o ArcGIS Desktop ou ferramentas open source, como o QGIS.
    • Pode utilizar o Power BI para aceder ao GeoJSON a partir de várias origens de dados e visualizar os dados do sistema de informação geográfica (GIS).
    • Pode utilizar bibliotecas baseadas em JavaScript geoespaciais do lado do cliente para visualizar os dados em aplicações Web.

Componentes

Origens de dados

Ingestão de dados

  • Azure Synapse Analytics é um serviço de análise ilimitado que reúne integração de dados, armazenamento de dados empresariais e análise de macrodados. Azure Synapse contém o mesmo motor de Integração de Dados e experiências que Azure Data Factory, para que possa criar pipelines ETL em escala sem sair Azure Synapse.
  • Azure Data Lake Storage é dedicado à análise de macrodados e baseia-se em Armazenamento de Blobs do Azure.
  • Azure Batch permite-lhe executar e dimensionar um grande número de tarefas de computação em lotes no Azure. As tarefas do Batch podem ser executadas diretamente em máquinas virtuais (nós) num conjunto do Batch, mas também pode configurar um conjunto do Batch para executar tarefas em contentores compatíveis com o Docker nos nós.
    • Uma atividade personalizada Azure Synapse executa lógica de código personalizada num conjunto de Azure Batch de máquinas virtuais ou em contentores do Docker.
  • O Azure Key Vault armazena e controla o acesso a segredos como tokens, palavras-passe e chaves de API. Key Vault também cria e controla chaves de encriptação e gere certificados de segurança.

Transformação de dados

As seguintes bibliotecas e pacotes geoespaciais são utilizados em conjunto para transformações. Estas bibliotecas e pacotes são instalados num conjunto do Spark sem servidor, que é depois anexado a um bloco de notas Azure Synapse. Para obter informações sobre como instalar as bibliotecas, consulte Instalar pacotes geoespaciais num conjunto do Azure Synapse Spark, mais adiante neste artigo.

  • Bibliotecas geoespaciais
    • A GDAL é uma biblioteca de ferramentas para manipular dados espaciais. A GDAL funciona em tipos de dados de raster e vetor. É uma boa ferramenta para saber se está a trabalhar com dados espaciais.
    • Rasterio é um módulo para processamento de rasteres. Pode utilizá-lo para ler e escrever vários formatos de raster diferentes no Python. Rasterio baseia-se na GDAL. Quando o módulo é importado, o Python regista automaticamente todos os controladores GDAL conhecidos para ler formatos suportados.
    • O GeoPandas é um projeto open source que pode facilitar o trabalho com dados espaciais no Python. O GeoPandas expande os tipos de dados utilizados pelo Pandas para permitir operações espaciais em tipos geométricos.
    • Shapely é um pacote Python para análise teoresa de conjunto e manipulação de funcionalidades planar. Utiliza funções (através do módulo ctypes) do Python a partir da biblioteca GEOS amplamente implementada.
    • pyproj executa transformações cartográficas. Converte-se de longitude e latitude em projeção de mapa nativo x, coordenadas y e vice-versa com PROJ.
  • Azure Batch permite-lhe executar e dimensionar um grande número de tarefas de computação em lotes no Azure.
  • Azure Synapse blocos de notas é uma interface Web para criar ficheiros que contenham código dinâmico, visualizações e texto narrativo. Pode adicionar blocos de notas Azure Synapse existentes a um pipeline de Azure Synapse com a atividade Bloco de Notas.
  • O conjunto do Apache Spark proporciona a capacidade de configurar e utilizar bibliotecas para realizar transformações de dados. Pode adicionar tarefas do Spark existentes a um pipeline de Azure Synapse com a atividade Definição de Tarefas do Spark.

Análise e modelação de IA

  • Azure Synapse fornece capacidades de machine learning.
  • Azure Batch permite-lhe executar e dimensionar um grande número de tarefas de computação em lotes no Azure. Nesta solução, a atividade personalizada Azure Synapse é utilizada para executar modelos de IA baseados no Docker em conjuntos de Azure Batch.
  • Os Serviços Cognitivos do Azure permitem incorporar a visão nas suas aplicações. Pode utilizar Visão Personalizada, um componente dos Serviços Cognitivos, para personalizar e incorporar análises de imagens de imagem digitalizada de última geração para domínios específicos.
  • Também pode utilizar modelos de IA bring-your-own e modelos de IA parceiros da Microsoft, como blackshark.ai.

Ligações de pós-análise e visualização

  • Base de Dados do Azure para PostgreSQL é um serviço de base de dados relacional totalmente gerido concebido para cargas de trabalho de hiperescala. Suporta dados espaciais através da extensão PostGIS .
  • O Azure Cosmos DB suporta a indexação e a consulta de dados de pontos geoespaciais representados no GeoJSON.
  • O Power BI é uma ferramenta de visualização de dados interativa para criar relatórios e dashboards. Pode obter informações sobre dados espaciais do Esri ArcGIS Maps.
  • O QGIS é um GIS open source gratuito para criar, editar, visualizar, analisar e publicar informações geoespaciais.
  • O ArcGIS Desktop é um produto licenciado fornecido pela Esri. Pode utilizá-la para criar, analisar, gerir e partilhar informações geográficas.

Alternativas

Se quiser executar modelos de IA em contentores que pode chamar a partir de Azure Synapse, pode utilizar Azure Kubernetes Service, Azure Container Instances ou Azure Container Apps.

O Azure Databricks fornece uma alternativa para alojar um pipeline de análise.

O Spark no Azure HDInsight fornece uma alternativa para utilizar bibliotecas geoespaciais no ambiente do Apache Spark.

Seguem-se algumas bibliotecas e arquiteturas alternativas que pode utilizar para o processamento de dados espaciais:

  • O Apache Sedona, anteriormente denominado GeoSpark, é um sistema de computação de clusters para processamento de dados espaciais em larga escala. O Sedona expande o Spark e o Spark SQL com Conjuntos de Dados Distribuídos Resilientes Geográficos e SpatialSQL que carregam, processam e analisam dados espaciais em grande escala em computadores de forma eficiente.
  • O Dask para Python é uma biblioteca de computação paralela que dimensiona o ecossistema Python existente.

Detalhes do cenário

A recolha de dados spaceborne é cada vez mais comum. Para a aplicação de inteligência artificial, os arquivos armazenados de dados são necessários para machine learning. A necessidade de criar uma solução baseada na cloud para análise de dados espaciais tornou-se mais importante para permitir que empresas e governos impulsionem decisões empresariais e táticas mais informadas.

Potenciais casos de utilização

Esta solução é ideal para as indústrias aeroespacial e de aeronaves. Aborda estes cenários:

  • Ingestão e processamento de dados rasterados
  • Deteção de objetos através de modelos de IA pré-preparados
  • Classificação de massas terrestres através de modelos de IA
  • Monitorizar alterações no ambiente através de modelos de IA
  • Conjuntos de dados derivados de conjuntos de imagens pré-processados
  • Visualização de vetor/consumo de área pequena
  • Filtragem de dados de vetor e associações de dados cruzados

Considerações

Estas considerações implementam os pilares do Azure Well-Architected Framework, que é um conjunto de princípios orientadores que podem ser utilizados para melhorar a qualidade de uma carga de trabalho. Para obter mais informações, veja Microsoft Azure Well-Architected Framework.

Excelência operacional

Se colaborar com o Git para controlo de código fonte, pode utilizar Synapse Studio para associar a sua área de trabalho a um repositório Git, ao Azure DevOps ou ao GitHub. Para obter mais informações, veja Controlo de código fonte no Synapse Studio.

  • Numa área de trabalho Azure Synapse, a CI/CD move todas as entidades de um ambiente (desenvolvimento, teste, produção) para outro ambiente.
  • Pode utilizar pipelines de versão do Azure DevOps e GitHub Actions para automatizar a implementação de uma área de trabalho Azure Synapse em vários ambientes.

Desempenho

  • Azure Synapse suporta o Apache Spark 3.1.2, que é mais eficaz do que os seus antecessores.
  • Para obter informações sobre o dimensionamento de conjuntos do Spark e tamanhos de nós, veja Conjuntos do Spark no Azure Synapse Analytics.
  • Com Azure Batch, pode aumentar horizontalmente em paralelo para transformações submetidas numa atividade personalizada Azure Synapse. Azure Batch suporta tamanhos de VM especializados otimizados para GPU que pode utilizar para executar modelos de IA.

Fiabilidade

A fiabilidade garante que a sua aplicação cumpre os compromissos assumidos com os seus clientes. Para obter mais informações, veja Descrição geral do pilar de fiabilidade.

Para obter informações sobre o SLA, veja Azure Synapse SLA.

Segurança

A segurança fornece garantias contra ataques deliberados e abuso dos seus valiosos dados e sistemas. Para obter mais informações, veja Descrição geral do pilar de segurança.

Veja estes artigos para obter as melhores práticas de segurança:

Otimização de custos

A otimização de custos consiste em procurar formas de reduzir despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, veja Descrição geral do pilar de otimização de custos.

Estes recursos fornecem informações sobre preços e otimização de custos:

Nota

Para obter os preços e os termos de licenciamento para modelos de IA de parceiros, veja a documentação do parceiro.

Implementar este cenário

Está disponível uma implementação bicep da solução de exemplo. Para começar a utilizar esta implementação, veja estas instruções.

Diagrama que demonstra a arquitetura da solução de exemplo implementada.

Transfira um ficheiro do Visio desta arquitetura.

Limitações

Esta arquitetura demonstra uma solução de análise e geoprocessamento ponto a ponto que utiliza Azure Synapse. Esta implementação de exemplo destina-se a uma área de interesse pequena a média e a geoprocessamento simultâneo limitado de dados rasterados.

Código de exemplo

As instruções seguintes descrevem como ler, escrever e aplicar transformações a dados rasterizadores armazenados no Azure Data Lake Storage através de um bloco de notas do Synapse. A intenção é demonstrar mais a utilização de bibliotecas em blocos de notas do Synapse do que demonstrar a transformação.

Pré-requisitos

Instruções

  • Imprima informações a partir dos dados de rasterização:

    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/é um processador do sistema de ficheiros que permite a leitura aleatória no local de ficheiros principalmente não públicos que estão disponíveis em sistemas de ficheiros Azure Data Lake Storage. A transferência prévia de todo o ficheiro não é necessária. /vsiadls/ é semelhante a /vsiaz/. Utiliza as mesmas opções de configuração para autenticação. Ao contrário /vsiaz/do , /vsiadls/ fornece gestão de diretórios real e suporte de ACL de estilo Unix. Para algumas funcionalidades, o suporte hierárquico tem de ser ativado no armazenamento do Azure. Para obter mais informações, veja a /vsiadls/ documentação.

    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
    
  • Converta GeoTiff em PNG com a 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)
    
  • Armazene imagens GeoTiff em Azure Data Lake Storage.

    Devido à forma como os dados são armazenados na cloud e ao facto de os processadores de ficheiros /vsiaz/ e /vsiadls/ suportarem apenas escritas sequenciais, utilizamos a funcionalidade de montagem de ficheiros disponível no pacote mssparkutils. Depois de a saída ser escrita numa localização de montagem, copie-a para Azure Data Lake Storage conforme mostrado nesta transformação de exemplo:

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

    No Azure Synapse, pode adicionar Azure Data Lake Storage como um dos serviços ligados. Para obter instruções, consulte Serviços ligados.

Solução de exemplo

Está disponível uma implementação desta arquitetura no GitHub.

Este diagrama mostra os passos na solução de exemplo:

Diagrama que mostra os passos na solução de exemplo.

Transfira um ficheiro do Visio desta arquitetura.

Nota

Os dados são extraídos de origens de dados espaciais e copiados para Azure Data Lake Storage. A ingestão de dados não faz parte da implementação de referência.

  1. Um pipeline de Azure Synapse lê os dados espaciais de Azure Data Lake Storage.
  2. Os dados são processados com a biblioteca GDAL num bloco de notas Azure Synapse.
  3. Os dados processados são armazenados no Azure Data Lake Storage.
  4. Os dados processados são lidos a partir de Azure Data Lake Storage e transmitidos para a deteção de objetos Visão Personalizada modelos de IA por uma atividade personalizada Azure Synapse. A atividade Personalizada utiliza conjuntos de Azure Batch para executar o modelo de deteção de objetos.
  5. O modelo de deteção de objetos produz uma lista de objetos detetados e caixas delimitadoras.
  6. Os objetos detetados são convertidos em GeoJSON e armazenados em Azure Data Lake Storage.
  7. Os dados GeoJSON são lidos a partir de Azure Data Lake Storage e armazenados numa base de dados PostgreSQL.
  8. Os dados são lidos a partir da base de dados PostgreSQL. Pode ser visualizado ainda mais em ferramentas como o ArcGIS Pro, QGIS e Power BI.

Instalar pacotes geoespaciais num conjunto do Azure Synapse Spark

Tem de instalar os pacotes num conjunto Azure Synapse Spark com a funcionalidade de gestão de pacotes. Para obter mais informações, veja Azure Synapse gestão de pacotes.

Para suportar cargas de trabalho de dados espaciais em Azure Synapse, precisa de bibliotecas como gDAL, Rasterio e GeoPandas. Pode instalar estas bibliotecas num conjunto do Apache Spark sem servidor através de um ficheiro YAML. As bibliotecas anaconda estão pré-instaladas no conjunto do Spark.

Pré-requisitos

Instruções

  1. As seguintes bibliotecas e pacotes estão disponíveis no ficheiro environment.yml . Recomendamos que utilize este ficheiro para instalar as bibliotecas nos conjuntos do Spark. Se copiar o conteúdo abaixo, certifique-se de que não existem separadores, uma vez que o YAML só permite espaços como avanço.

    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

    A GDAL utiliza o sistema /vsiadls/ de ficheiros virtual para Azure Data Lake Storage. Esta funcionalidade está disponível a partir da GDAL v3.3.0. Certifique-se de que utiliza a versão 3.3.0 ou posterior.

  2. Aceda a https://web.azuresynapse.net e inicie sessão na sua área de trabalho.

  3. Selecione Gerir no painel de navegação e, em seguida, selecione Conjuntos do Apache Spark.

  4. Selecione Pacotes ao selecionar o botão de reticências (...) no conjunto do Spark. Carregue o ficheiro environment.yml a partir do local e aplique as definições do pacote.

  5. A secção de notificação do portal notifica-o quando a instalação estiver concluída. Também pode controlar o progresso da instalação ao seguir estes passos:

    1. Aceda à lista de aplicações do Spark no separador Monitorizar .
    2. Selecione a ligação SystemReservedJob-LibraryManagement que corresponde à atualização do conjunto.
    3. Ver os registos do controlador.
  6. Execute o seguinte código para verificar se as versões corretas das bibliotecas estão instaladas. As bibliotecas pré-instaladas que o Conda instala também serão listadas.

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

Para obter mais informações, veja Gerir pacotes.

Contribuidores

Este artigo está a ser atualizado e mantido pela Microsoft. Foi originalmente escrito pelos seguintes contribuidores.

Principais autores:

Contribuidores adicionais:

Passos seguintes