Análise de dados espaciais com o Azure Synapse Analytics

Azure Synapse Analytics
Serviços de IA do Azure
Pesquisa Visual Computacional do Azure
Lote do Azure
Armazenamento do Azure

Essa arquitetura foi criada para mostrar uma implementação de ponta a ponta, que envolve extração, carregamento, transformação e análise de dados espaciais usando bibliotecas e modelos de IA geoespaciais com o Azure Synapse Analytics. Este artigo também mostra como integrar modelos de serviços cognitivos do Azure geoespaciais específicos, modelos de IA de parceiros, traga seus próprios dados e modelos de IA que usam o Azure Synapse Analytics. O público-alvo deste documento são usuários com níveis intermediários de habilidade em trabalhar com dados geoespaciais ou espaciais.

Há uma implantação dessa arquitetura disponível no GitHub.

Apache®, Apache Spark, Spark, o logotipo Spark, Apache Sedona, Apache Incubator, o logotipo Apache feather e o logotipo do projeto Apache Incubator são marcas registradas ou marcas comerciais da Apache Software Foundation nos Estados Unidos e/ou em outros países. O uso desta marca não implica aprovação por parte da Apache Software Foundation.

Arquitetura

Diagram that shows the geospatial processing analytics solution.

Baixe um Arquivo Visio dessa arquitetura.

Fluxo de dados

As seções a seguir descrevem os estágios na arquitetura.

Ingestão de dados

Os dados espaciais são extraídos de fontes de dados como Airbus, NAIP/USDA (por meio da API Planetary Computer) e Maxar. Os dados são ingeridos no Azure Data Lake Storage.

O Azure Synapse Analytics fornece vários pipelines e atividades, como atividade da Web, atividade de fluxo de dados e atividades personalizadas, para se conectar a essas fontes e copiar os dados para o Data Lake Storage.

As atividades personalizadas do Azure Synapse executam sua lógica de código personalizada em um pool de máquinas virtuais de lotes do Azure ou em contêineres compatíveis com Docker.

Transformação de dados

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

Os pools do Azure Synapse Spark fornecem a capacidade de configurar e usar essas bibliotecas para executar as transformações de dados. Você também pode usar as atividades personalizadas do Azure Synapse, que usam pools de lotes do Azure.

Um notebook do Azure Synapse é uma interface da Web para você criar arquivos que contêm código, visualizações e texto de narração em tempo real. Os notebooks são um bom lugar para validar ideias, definir transformações e fazer experimentos rápidos para obter insights de seus dados e criar um pipeline. No código de exemplo, a biblioteca GDAL é usada em um pool do Spark para executar transformações de dados. Para obter mais informações, consulte a seção Código de exemplo deste artigo.

A solução de exemplo implementa esse pipeline a partir dessa etapa de transformação de dados. O exemplo é escrito com a suposição de que os dados serão copiados no Data Lake Storage pelos métodos de ingestão de dados descritos anteriormente. Ele demonstra a implementação desse pipeline para processamento de dados rasterizados.

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

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

Os modelos de IA desenvolvidos com serviços como o modelo de visão personalizada dos serviços cognitivos, treinados em seu próprio ambiente e colocados em pacote como contêineres do Docker estão disponíveis no ambiente do Azure Synapse.

No ambiente do Azure Synapse, você também pode executar modelos de IA disponíveis em parceiros para vários recursos, como detecção de objetos, detecção de alterações e classificação de terrenos. Esses modelos são treinados em seu próprio ambiente e colocados em pacote como contêineres do Docker.

O Azure Synapse pode executar esses modelos de IA por meio de uma atividade personalizada que executa código em pools de lotes como executáveis ou contêineres do Docker. A solução de exemplo demonstra como executar um modelo de IA de visão personalizada como parte de um pipeline do Azure Synapse para detecção de objetos em uma área geoespacial específica.

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

  • Para análise e visualização adicionais, o resultado da análise e a execução dos modelos de IA podem ser armazenadas no Data Lake Storage, em bancos de dados com reconhecimento de dados, como o Banco de Dados do Azure para PostgreSQL ou o Azure Cosmos DB. A solução de exemplo mostra como transformar o resultado do modelo de IA e armazená-lo como dados GeoJSON no Data Lake Storage e no banco de dados do Azure para PostgreSQL. Você pode recuperar e consultar a saída a partir daí.
  • Para visualização:
    • Você pode utilizar ferramentas licenciadas como ArcGIS Desktop ou ferramentas de código aberto como QGIS.
    • Você pode usar o Power BI para acessar o GeoJSON de várias fontes de dados e visualizar os dados do GIS (geographic information system, sistema de informações geográficas).
    • Você pode usar bibliotecas geoespaciais baseadas em JavaScript do lado do cliente para visualizar os dados em aplicativos Web.

Componentes

Fontes de dados

Ingestão de dados

  • O Azure Synapse Analytics é um serviço de análise ilimitado que reúne integração de dados, armazenamento de dados corporativos e análise de Big Data. O Azure Synapse contém o mesmo mecanismo de integração de dados e as mesmas experiências do Azure Data Factory, permitindo que você crie pipelines de ETL em escala sem sair do Azure Synapse.
  • O Azure Data Lake Storage é dedicado à análise de Big Data e foi criado com base no Armazenamento de Blobs do Azure.
  • O Lote do Azure permite executar e dimensionar muitos trabalhos de computação em lote no Azure. Tarefas em lote podem ser executadas diretamente em máquinas virtuais (nós) em um pool em lote, mas também é possível configurar um pool em lote para executar tarefas em Contêineres compatíveis com o Docker nos nós.
    • Uma atividade personalizada do Azure Synapse executa lógica de código personalizada em um pool de máquinas virtuais do Lote do Azure ou em contêineres do Docker.
  • O Azure Key Vault armazena e controla o acesso a segredos, como tokens, senhas e chaves de API. O Key Vault também cria e controla chaves de criptografia e gerencia certificados de segurança.

Transformação de dados

As bibliotecas e os pacotes geoespaciais a seguir são usados juntos para transformações. Essas bibliotecas e pacotes são instalados em um pool do Spark sem servidor, que é anexado a um notebook do Azure Synapse. Para obter informações sobre como instalar as bibliotecas, consulte Instalar pacotes geoespaciais em um pool do Azure Synapse Spark, mais adiante neste artigo.

  • Bibliotecas geoespaciais
    • A GDAL é uma biblioteca de ferramentas para manipulação de dados espaciais. A GDAL funciona em tipos de dados de varredura e vetor. É uma boa ferramenta para se conhecer se você estiver trabalhando com dados espaciais.
    • O Rasterio é um módulo para processamento de varredura. Você pode usá-lo para ler e gravar vários formatos de varredura diferentes no Python. O Rasterio tem base no GDAL. Quando o módulo é importado, o Python registra automaticamente todos os drivers GDAL conhecidos para ler formatos com suporte.
    • GeoPandas é um projeto de código aberto que pode facilitar o trabalho com dados espaciais em Python. O GeoPandas amplia os tipos de dados usados pelos Pandas para permitir operações espaciais em tipos geométricos.
    • Shapely é um pacote Python para análise e manipulação de recursos planar com base na teoria dos conjuntos. Ele usa funções (por meio do módulo ctypes do Python) da biblioteca GEOS amplamente implantada.
    • pyproj executa transformações cartográficas. Ele converte de longitude e latitude em coordenadas x, y de projeção de mapa nativo, e vice-versa, usando PROJ.
  • O Lote do Azure permite executar e dimensionar muitos trabalhos de computação em lote no Azure.
  • Notebooks Azure Synapse é uma interface da Web para criação de arquivos que contêm código, visualizações e texto narrativo em tempo real. Você pode adicionar notebooks existentes do Azure Synapse a um pipeline do Azure Synapse, usando a atividade Notebook.
  • O pool do Apache Spark fornece a capacidade de configurar e usar bibliotecas para executar transformações de dados. Você pode adicionar trabalhos existentes do Spark a um pipeline do Azure Synapse usando a atividade definição de trabalho do Spark.

Análise e modelagem de IA

  • O Azure Synapse fornece recursos de aprendizado de máquina.
  • O Lote do Azure permite executar e dimensionar muitos trabalhos de computação em lote no Azure. Nessa solução, a atividade personalizada do Azure Synapse é usada para executar modelos de IA baseados em Docker em pools de lotes do Azure.
  • Os serviços cognitivos do Azure fornecem a capacidade de incorporar visão em seus aplicativos. Você pode usar a visão personalizada, um componente dos serviços cognitivos, para personalizar uma análise de imagem de visão computacional de ponta para domínios específicos.
  • Você também pode usar Trazer seus próprios e modelos de IA de parceiros da Microsoft, como blackshark.ai.

Links pós-análise e de visualização

  • O banco de dados do Azure para PostgreSQL é um serviço de banco de dados relacional totalmente gerenciado projetado para cargas de trabalho de hiperescala. Ele suporta dados espaciais pela extensão PostGIS .
  • O Azure Cosmos DB oferece suporte à indexação e à consulta de dados de pontos geoespaciais, que está representado no GeoJSON.
  • O Power BI é uma ferramenta interativa de visualização de dados para criar relatórios e painéis. Você pode obter insights sobre dados espaciais do Esri ArcGIS Maps.
  • O QGIS é um GIS de código aberto gratuito para criar, editar, visualizar, analisar e publicar informações geoespaciais.
  • O ArcGIS Desktop é um produto licenciado fornecido pela Esri. Você pode usá-lo para criar, analisar, gerenciar e compartilhar informações geográficas.

Alternativas

Se você quiser executar modelos de IA em contêineres que podem chamar do Azure Synapse, poderá usar o serviço de Kubernetes do Azure, as instâncias de de contêiner do Azure ou os aplicativos de contêiner do Azure.

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

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

Aqui estão algumas bibliotecas e estruturas alternativas que você pode usar para processamento de dados espaciais:

  • Apache Sedona, anteriormente chamado GeoSpark, é um sistema de computação em cluster para processamento de dados espaciais em larga escala. O Sedona amplia o Spark e o Spark SQL com conjuntos de dados distribuídos resilientes espaciais prontos para uso e SpatialSQL que carregam, processam e analisam dados espaciais em grande escala com eficiência em todas as máquinas.
  • Dask for Python é uma biblioteca de computação paralela que dimensiona o ecossistema Python existente.

Detalhes do cenário

A coleta de dados espaciais é cada vez mais comum. Para a aplicação da inteligência artificial, arquivos armazenados de dados são necessários para o aprendizado de máquina. A necessidade de criar uma solução baseada em nuvem para análise de dados espaciais tornou-se mais importante para permitir que empresas e governos conduzam decisões táticas e de negócios mais bem informadas.

Possíveis casos de uso

Essa solução é ideal para as indústrias aeronáutica e aeroespacial. Aborda estes cenários:

  • Processamento e ingestão de dados rasterizados
  • Detecção de objetos por meio de modelos de IA pré-treinados
  • Classificação de massas de terra via modelos de IA
  • Monitorar mudanças no ambiente por meio de modelos de IA
  • Conjuntos de dados derivados de conjuntos de imagens pré-processados
  • Visualização vetorial / consumo em pequena área
  • Filtragem de dados vetoriais e associações de dados cruzados

Considerações

Essas considerações implementam os pilares do Azure Well-Architected Framework, que é um conjunto de princípios de orientação que podem ser usados para aprimorar a qualidade de uma carga de trabalho. Para obter mais informações, confira Microsoft Azure Well-Architected Framework.

Excelência operacional

Se tiver uma necessidade de colaboração usando o Git para controle do código-fonte, você pode usar o Synapse Studio para associar seu workspace a um repositório Git, ao Azure DevOps ou ao GitHub. Para obter mais informações, confira Controle do código-fonte no Synapse Studio.

  • Em um workspace do Azure Synapse, a CI/CD move todas as entidades de um ambiente (desenvolvimento, teste, produção) para outro ambiente.
  • Você pode usar os pipelines de versão do Azure DevOps e do GitHub Actions para automatizar a implantação de um workspace do Azure Synapse em vários ambientes.

Desempenho

  • O Azure Synapse oferece suporte ao Apache Spark 3.1.2, que tem melhor desempenho do que seus antecessores.
  • Para obter informações sobre dimensionamento de pool do Spark e de tamanhos de nós, confira as Pools do Spark no Azure Synapse Analytics.
  • Com o Lote do Azure, você pode dimensionar intrinsecamente paralelo para transformações enviadas em uma atividade personalizada do Azure Synapse. O Lote do Azure dá suporte a tamanhos de VM especializados otimizados para GPU que você pode usar para executar modelos de IA.

Confiabilidade

A confiabilidade garante que seu aplicativo possa cumprir os compromissos que você assume com seus clientes. Para obter mais informações, confira Visão geral do pilar de confiabilidade.

Para obter informações sobre SLA, consulte SLA do Azure Synapse.

Segurança

A segurança fornece garantias contra ataques deliberados e o abuso de seus dados e sistemas valiosos. Para saber mais, confira Visão geral do pilar de segurança.

Consulte estes artigos para obter as práticas recomendadas de segurança:

Otimização de custo

A otimização de custos é a análise de maneiras de reduzir as despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, confira Visão geral do pilar de otimização de custo.

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

Observação

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

Implantar este cenário

Uma implantação Bicep da solução de exemplo está disponível. Para começar com essa implantação, consulte estas instruções.

Diagram that demonstrates the architecture of the deployed sample solution.

Baixe um Arquivo Visio dessa arquitetura.

Limitações

Essa arquitetura demonstra uma solução de análise e de geoprocessamento de ponta a ponta que usa o Azure Synapse. Essa implementação de amostra é direcionada para uma área pequena a média de interesse e de geoprocessamento limitado simultâneo de dados rasterizados.

Código de exemplo

As instruções a seguir descrevem como ler, gravar e aplicar transformações a dados rasterizados armazenados no Azure Data Lake Storage usando um notebook do Synapse. A intenção é mais demonstrar o uso de bibliotecas em notebooks Synapse do que demonstrar a transformação.

Pré-requisitos

Instruções

  • Imprima informações dos dados rasterizados:

    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)
    

    Observação

    /vsiadls/ é um manipulador de sistema de arquivos que permite a leitura aleatória instantânea de arquivos principalmente não públicos que estão disponíveis nos sistemas de arquivos do Azure Data Lake Storage. Não é necessário o download prévio de todo o arquivo. /vsiadls/ é semelhante a /vsiaz/. Usa as mesmas opções de configuração para autenticação. Ao contrário do /vsiaz/, o /vsiadls/ fornece gerenciamento de diretório real e suporte a ACL no estilo Unix. Para alguns recursos, o suporte hierárquico precisa ser ativado no armazenamento do Azure. Para obter mais informações, confira a documentação /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
    
  • Converter GeoTiff para 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)
    
  • Armazene imagens GeoTiff no Azure Data Lake Storage.

    Devido à forma como os dados são armazenados na nuvem e ao fato de que os manipuladores de arquivos /vsiaz/ suportam /vsiadls/ apenas gravações sequenciais, usamos o recurso de montagem de arquivo disponível no pacote mssparkutils. Depois que o resultado é gravado em um local de montagem, copie-o para o 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, você pode adicionar o Azure Data Lake Storage como um dos serviços vinculados. Para obter instruções, consulte Serviços vinculados.

Solução de exemplo

Há uma implantação dessa arquitetura disponível no GitHub.

Este diagrama mostra as etapas na solução de exemplo:

Diagram that shows the steps in the sample solution.

Baixe um Arquivo Visio dessa arquitetura.

Observação

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

  1. Um pipeline do Azure Synapse lê os dados espaciais do Azure Data Lake Storage.
  2. Os dados são processados com a biblioteca GDAL em um notebook do Azure Synapse.
  3. Os dados processados são armazenados no Azure Data Lake Storage.
  4. Os dados processados são lidos do Azure Data Lake Storage e passados para modelos de IA de visão personalizada de detecção de objetos por uma atividade personalizada do Azure Synapse. A atividade personalizada usa pools do Lote do Azure para executar o modelo de detecção de objeto.
  5. O modelo de detecção de objeto gera uma lista de objetos detectados e de caixas delimitadoras.
  6. Os objetos detectados são convertidos em GeoJSON e armazenados no Azure Data Lake Storage.
  7. Os dados GeoJSON são lidos do Azure Data Lake Storage e armazenados em um banco de dados PostgreSQL.
  8. Os dados são lidos a partir do banco de dados do PostgreSQL. Eles podem ser visualizados em mais detalhes em ferramentas como ArcGIS Pro, QGIS e Power BI.

Instalar pacotes geoespaciais em um pool do Azure Synapse Spark

Você precisa instalar os pacotes em um pool do Azure Synapse Spark usando o recurso de gerenciamento de pacotes. Para obter mais informações, consulte Gerenciamento de pacotes do Azure Synapse.

Para dar suporte a cargas de trabalho de dados espaciais no Azure Synapse, você precisa de bibliotecas como GDAL, Rasterio e GeoPandas. Você pode instalar essas bibliotecas em um pool do Apache Spark sem servidor usando um arquivo YAML. As bibliotecas Anaconda são pré-instaladas no pool do Spark.

Pré-requisitos

Instruções

  1. As seguintes bibliotecas e pacotes estão disponíveis no arquivo environment.yml. Recomendamos usar esse arquivo para instalar as bibliotecas nos pools do Spark. Se você copiar o conteúdo abaixo, verifique se não há guias, pois o YAML só permite espaços como recuo.

    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
    

    Observação

    O GDAL usa o sistema de arquivos virtuais /vsiadls/ para o Azure Data Lake Storage. Essa funcionalidade está disponível a partir do GDAL v3.3.0. Certifique-se de usar a versão 3.3.0 ou superior.

  2. Acesse https://web.azuresynapse.net e entre no seu workspace.

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

  4. Escolha Pacotes selecionando o botão de reticências (...) no pool do Spark. Carregue o arquivo de environment.yml do local e aplique as configurações do pacote.

  5. A seção de notificação do portal o notifica quando a instalação tiver sido concluída. Você também pode acompanhar o progresso da instalação executando estas etapas:

    1. Navegue até a lista de aplicativos Spark na guia Monitorar.
    2. Selecione o link SystemReservedJob-LibraryManagementque corresponde à atualização do pool.
    3. Exibir os logs de driver.
  6. Execute o código a seguir 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, consulte Gerenciar pacotes.

Colaboradores

Este artigo está sendo atualizado e mantido pela Microsoft. Ele foi originalmente escrito pelos colaboradores a seguir.

Principais autores:

Colaboradores adicionais:

Próximas etapas