Análisis de datos espaciales con Azure Synapse Analytics

Azure Synapse Analytics
Servicios de Azure AI
Azure Computer Vision
Azure Batch
Azure Storage

Esta arquitectura está diseñada para mostrar una implementación de un extremo a otro que implica extraer, cargar, transformar y analizar datos en el espacio mediante bibliotecas geoespaciales y modelos de inteligencia artificial con Azure Synapse Analytics. En este artículo también se muestra cómo integrar modelos geoespaciales específicos de Azure Cognitive Services, modelos de inteligencia artificial de asociados, modelos de tipo "bring your own-data" y modelos de inteligencia artificial que usan Azure Synapse Analytics. El público previsto para este documento son usuarios con niveles intermedios de aptitudes sobre los datos geoespaciales.

Hay disponible una implementación de esta arquitectura en GitHub.

Apache®, Apache Spark, Spark, el logotipo de Spark, Apache Sedona, Apache Incubator, el logotipo con forma de pluma de Apache y el logotipo del proyecto Apache Incubator son marcas registradas o marcas comerciales de Apache Software Foundation en los Estados Unidos y en otros países. El uso de estas marcas no implica la aprobación de Apache Software Foundation.

Architecture

Diagrama que muestra la solución de análisis de procesamiento geoespacial.

Descargue un archivo Visio de esta arquitectura.

Flujo de datos

En las secciones siguientes se describen las fases de la arquitectura.

Ingesta de datos

Los datos espaciales se extraen de orígenes de datos como Airbus, NAIP/USDA (a través de Planetary Computer API) y Maxar. Los datos se ingieren en Azure Data Lake Storage.

Azure Synapse Analytics proporciona varias canalizaciones y actividades (como actividades web, actividades de Data Flow y actividades personalizadas), para conectarse a estos orígenes y copiar los datos en Data Lake Storage.

Las actividades personalizadas de Azure Synapse ejecutan la lógica de código personalizada en un grupo de Azure Batch de máquinas virtuales o en contenedores compatibles con Docker.

Transformación de datos

Los datos se procesan y transforman en un formato que los analistas y los modelos de inteligencia artificial pueden consumir. Las bibliotecas geoespaciales, incluidas GDAL, OGR, Rasterio y GeoPandas, están disponibles para realizar la transformación.

los grupos de Spark de Azure Synapse proporcionan la capacidad de configurar y usar estas bibliotecas para realizar las transformaciones de datos. También puede usar las actividades personalizadas de Azure Synapse, que usan grupos de Azure Batch.

Un cuaderno de Azure Synapse es una interfaz web que puede usar para crear archivos que contengan código activo, visualizaciones y texto narrativo. Los cuadernos son un buen lugar para validar ideas, definir transformaciones y realizar experimentos rápidos para obtener información de sus datos y crear una canalización. En el código de ejemplo, la biblioteca GDAL se usa en un grupo de Spark para realizar transformaciones de datos. Para obtener más información, consulte la sección Código de ejemplo de este artículo.

La solución de ejemplo implementa esta canalización a partir de este paso de transformación de datos. El ejemplo se escribe según la suposición de que los datos se copian en Data Lake Storage mediante los métodos de ingesta de datos descritos anteriormente. Muestra la implementación de esta canalización para el procesamiento de datos de trama.

Análisis y ejecución de modelos de inteligencia artificial

El entorno del cuaderno de Azure Synapse analiza y ejecuta modelos de inteligencia artificial.

Los modelos de inteligencia artificial desarrollados con servicios como el modelo de Custom Vision de Cognitive Services, se han entrenado en su propio entorno y se han empaquetado como contenedores de Docker y están disponibles en el entorno de Azure Synapse.

En el entorno de Azure Synapse, también puede ejecutar modelos de inteligencia artificial que están disponibles para asociados que desempeñan diversas funcionalidades, como la detección de objetos, la detección de cambios y la clasificación de terreno. Estos modelos se entrenan en su propio entorno y se empaquetan como contenedores de Docker.

Azure Synapse puede ejecutar estos modelos de IA a través de una actividad personalizada que ejecuta código en grupos de Batch como elementos ejecutables o contenedores de Docker. La solución de ejemplo muestra cómo ejecutar un modelo de IA de Custom Vision como parte de una canalización de Azure Synapse para la detección de objetos en un área geoespacial específica.

Análisis y visualización posteriores

  • Para obtener un análisis y una visualización adicionales, la salida del análisis y la ejecución de los modelos de IA se puede almacenar en Data Lake Storage, que contiene bases de datos compatibles con datos como Azure Database for PostgreSQL o Azure Cosmos DB. En la solución de ejemplo se muestra cómo transformar la salida del modelo de IA y almacenarla como datos GeoJSON en Data Lake Storage y Azure Database for PostgreSQL. Puede recuperar y consultar la salida desde allí.
  • En cuanto a la visualización:
    • Puede usar herramientas con licencia como ArcGIS Desktop o herramientas de código abierto como QGIS.
    • Puede usar Power BI para acceder a GeoJSON desde varios orígenes de datos y visualizar los datos del sistema de información geográfica (GIS).
    • Puede usar bibliotecas geoespaciales basadas en JavaScript del lado cliente para visualizar los datos en aplicaciones web.

Componentes

Orígenes de datos

Ingesta de datos

  • Azure Synapse Analytics es un servicio de análisis ilimitado que combina la integración de datos, el almacenamiento de datos empresariales y el análisis de macrodatos. Azure Synapse incluye el mismo motor de integración de datos y experiencias que Azure Data Factory, lo que le permite crear canalizaciones de ELT a escala sin tener que salir de Azure Synapse.
  • Azure Data Lake Storage está dedicado al análisis de macrodatos y está basado en Azure Blob Storage.
  • Azure Batch le permite ejecutar y escalar un gran número de trabajos de computación por lotes en Azure. Las tareas por lotes se pueden ejecutar directamente en las máquinas virtuales (nodos) de un grupo de Batch, pero también se puede configurar un grupo de Batch para ejecutar tareas en contenedores compatibles con Docker en los nodos.
    • Una actividad personalizada de Azure Synapse ejecuta la lógica de código personalizada en un grupo de Azure Batch de máquinas virtuales o en contenedores de Docker.
  • Azure Key Vault almacena y controla el acceso a secretos como tokens, contraseñas y claves de API. Key Vault también crea y controla claves de cifrado y administra certificados de seguridad.

Transformación de datos

Las siguientes bibliotecas y paquetes geoespaciales se usan conjuntamente para las transformaciones. Estas bibliotecas y paquetes se instalan en un grupo de Spark sin servidor, que luego se adjunta a un cuaderno de Azure Synapse. Para obtener información sobre cómo instalar las bibliotecas, consulte Instalación de paquetes geoespaciales en un grupo de Spark de Azure Synapse más adelante en este artículo.

  • Bibliotecas geoespaciales
    • GDAL es una biblioteca de herramientas para manipular datos espaciales. GDAL funciona en tipos de datos de trama y vector. Es una buena herramienta saber si está trabajando con datos espaciales.
    • Rasterio es un módulo para el procesamiento de tramas. Puede usarlo para leer y escribir varios formatos de trama en Python. Rasterio se basa en GDAL. Cuando se importa el módulo, Python registra automáticamente todos los controladores GDAL conocidos para leer los formatos admitidos.
    • GeoPandas es un proyecto de código abierto que puede facilitar el trabajo con datos espaciales en Python. GeoPandas amplía los tipos de datos que usa Pandas para permitir operaciones espaciales en tipos geométricos.
    • Shapely es un paquete de Python para el análisis teorético y la manipulación de características planares. Usa (a través del módulo ctypes de Python) funciones de la biblioteca GEOS ampliamente implementada.
    • pyproj realiza transformaciones cartográficas. Convierte la longitud y la latitud en una proyección de mapa nativa con las coordenadas X e Y (y viceversa), mediante PROJ.
  • Azure Batch le permite ejecutar y escalar un gran número de trabajos de computación por lotes en Azure.
  • Los cuadernos de Synapse son una interfaz web que se usa para crear archivos que contengan código activo, visualizaciones y texto narrativo. Puede agregar cuadernos de Azure Synapse existentes a una canalización de Azure Synapse mediante la actividad de Notebook.
  • El grupo de Apache Spark proporciona la capacidad de configurar y usar bibliotecas para realizar transformaciones de datos. Puede agregar trabajos de Spark existentes a una canalización de Azure Synapse mediante la actividad de definición de trabajo de Spark.

Modelado de análisis e inteligencia artificial

  • Azure Synapse proporciona funcionalidades del aprendizaje automático.
  • Azure Batch le permite ejecutar y escalar un gran número de trabajos de computación por lotes en Azure. En esta solución, la actividad personalizada de Azure Synapse se usa para ejecutar modelos de inteligencia artificial basados en Docker en grupos de Azure Batch.
  • Azure Cognitive Services proporciona la capacidad de insertar Vision en las aplicaciones. Puede usar Custom Vision, un componente de Cognitive Services, para personalizar e insertar análisis de imágenes de última generación de Vision para dominios específicos.
  • También puede usar modelos de inteligencia artificial de tipo "bring-your-own" y modelos de inteligencia artificial de asociados de Microsoft, como blackshark.ai.

Enlaces de visualización y posteriores al análisis

  • Azure Database for PostgreSQL es un servicio de base de datos relacional completamente administrado, que está diseñado para cargas de trabajo de hiperescala. Admite datos espaciales a través de la extensión PostGIS.
  • Azure Cosmos DB admite la indexación y consulta de datos de puntos geoespaciales que se representan en GeoJSON.
  • Power BI es una herramienta de visualización de datos interactiva para crear informes y paneles. Puede obtener información sobre los datos espaciales de ArcGIS Maps de Esri.
  • QGIS es un GIS de código abierto gratuito para crear, editar, visualizar, analizar y publicar información geoespacial.
  • ArcGIS Desktop es un producto con licencia proporcionado por Esri. Puede usarlo para crear, analizar, administrar y compartir información geográfica.

Alternativas

Si quiere ejecutar modelos de inteligencia artificial en contenedor a los que puede llamar desde Azure Synapse, puede usar Azure Kubernetes Service, Azure Container Instances o Azure Container Apps.

Azure Databricks proporciona una alternativa para hospedar una canalización de análisis.

Spark en Azure HDInsight proporciona una alternativa para usar bibliotecas geoespaciales en el entorno de Apache Spark.

Estas son algunas bibliotecas y marcos alternativos que puede usar para el procesamiento de datos espaciales:

  • Apache Sedona, anteriormente denominado GeoSpark, es un sistema informático de clústeres para procesar datos espaciales a gran escala. Sedona extiende Spark y Spark SQL con conjuntos de datos espaciales listos para usar, distribuidos y resistentes y con SpatialSQL que carga, procesa y analiza de forma eficaz los datos espaciales a gran escala entre máquinas.
  • Dask para Python es una biblioteca informática paralela que escala el ecosistema de Python existente.

Detalles del escenario

La recopilación de datos espaciales es cada vez más común. Para poder aplicar la inteligencia artificial, los archivos almacenados de datos son necesarios para el aprendizaje automático. La necesidad de crear una solución basada en la nube para el análisis de datos espaciales se ha vuelto cada vez más importante, ya que permite que las empresas y los gobiernos tomen decisiones empresariales e implementen tácticas mejor fundamentadas.

Posibles casos de uso

Esta solución es ideal para los sectores aeroespaciales y de aeronaves. Aborda estos escenarios:

  • Procesamiento e ingesta de datos de trama
  • Detección de objetos mediante modelos de inteligencia artificial previamente entrenados
  • Clasificación de masas terrestres a través de modelos de inteligencia artificial
  • Supervisión de cambios en el entorno a través de modelos de inteligencia artificial
  • Conjuntos de datos derivados de conjuntos de imágenes preprocesadas
  • Visualización de vectores y consumo de un área pequeña
  • Filtrado de datos vectoriales y combinaciones entre datos

Consideraciones

Estas consideraciones implementan los pilares del marco de buena arquitectura de Azure, que es un conjunto de principios guía que se pueden usar para mejorar la calidad de una carga de trabajo. Para más información, consulte Marco de buena arquitectura de Microsoft Azure.

Excelencia operativa

Si colabora con Git para el control de código fuente, puede usar Synapse Studio para asociar su área de trabajo a un repositorio de Git, Azure DevOps o GitHub. Para más información, consulte Control de código fuente en Synapse Studio.

  • En un área de trabajo de Azure Synapse, CI/CD mueve todas las entidades de un entorno (desarrollo, prueba, producción) a otro.
  • Puede usar una canalización de lanzamiento de Azure DevOps y Acciones de GitHub para automatizar la implementación de un área de trabajo de Azure Synapse en varios entornos.

Rendimiento

  • Azure Synapse admite Apache Spark 3.1.2, que es más eficaz que sus predecesores.
  • Para obtener información sobre el escalado de grupos de Spark y los tamaños de nodo, consulte Grupos de Spark en Azure Synapse Analytics.
  • Con Azure Batch, puede escalar horizontalmente en paralelo y de forma intrínseca las transformaciones que se hayan enviado en una actividad personalizada de Azure Synapse. Azure Batch admite tamaños de VM especializados y optimizados para GPU que puede usar para ejecutar modelos de inteligencia artificial.

Confiabilidad

La confiabilidad garantiza que la aplicación pueda cumplir los compromisos contraídos con los clientes. Para más información, consulte Resumen del pilar de fiabilidad.

Para obtener información del Acuerdo de Nivel de Servicio, consulte el Acuerdo de Nivel de Servicio de Azure Synapse.

Seguridad

La seguridad proporciona garantías contra ataques deliberados y el abuso de datos y sistemas valiosos. Para más información, consulte Introducción al pilar de seguridad.

Consulte estos artículos para conocer los procedimientos recomendados de seguridad:

Optimización de costos

La optimización de costos trata de buscar formas de reducir los gastos innecesarios y mejorar las eficiencias operativas. Para más información, vea Información general del pilar de optimización de costos.

Estos recursos proporcionan información sobre los precios y la optimización de los costos:

Nota:

Para conocer los precios y los términos de licencia de los modelos de IA de asociados, consulte la documentación del asociado.

Implementación de este escenario

Hay disponible una implementación de Bicep de la solución de ejemplo. Para empezar a trabajar con esta implementación, consulte estas instrucciones.

Diagrama que demuestra la arquitectura de la solución de ejemplo implementada.

Descargue un archivo Visio de esta arquitectura.

Limitaciones

Esta arquitectura muestra una solución de geoprocesamiento y análisis de un extremo a otro que usa Azure Synapse. Esta implementación de ejemplo está destinada a un área pequeña o mediana de interés y un geoprocesamiento simultáneo limitado a los datos de trama.

Código de ejemplo

En las instrucciones siguientes se describe cómo leer, escribir y aplicar transformaciones a los datos de trama almacenados en Azure Data Lake Storage mediante un cuaderno de Synapse. La intención es demostrar el uso de las bibliotecas en cuadernos de Synapse en vez de centrarnos en la transformación.

Requisitos previos

Instrucciones

  • Imprima información de los datos de trama:

    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/ es un controlador del sistema de archivos que permite realizar una lectura aleatoria sobre la marcha de archivos que no son principalmente públicos y que están disponibles en los sistemas de archivos de Azure Data Lake Storage. No es necesario descargar antes todo el archivo. /vsiadls/ es similar a /vsiaz/. Usa las mismas opciones de configuración para la autenticación. A diferencia de /vsiaz/, /vsiadls/ proporciona una administración de directorios real y compatibilidad con ACL de estilo Unix. Para algunas características, es necesario activar la compatibilidad jerárquica en Azure Storage. Para obtener más información, consulte la /vsiadls/documentación.

    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
    
  • Convierta GeoTiff en PNG mediante 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)
    
  • Almacene imágenes de GeoTiff en Azure Data Lake Storage.

    Debido a cómo se almacenan los datos en la nube y el hecho de que los controladores de archivos /vsiaz/ y /vsiadls/ solo admiten escrituras secuenciales, es necesario usar la característica de montaje de archivos disponible en el paquete mssparkutils. Después de escribir la salida en una ubicación de montaje, cópiela en Azure Data Lake Storage, tal como se muestra en esta transformación de ejemplo:

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

    En Azure Synapse, puede agregar Azure Data Lake Storage como uno de los servicios vinculados. Para obtener instrucciones, consulte Servicios vinculados.

Solución de ejemplo

Hay disponible una implementación de esta arquitectura en GitHub.

En este diagrama se muestran los pasos de la solución de ejemplo:

Diagrama que muestra los pasos de la solución del ejemplo.

Descargue un archivo Visio de esta arquitectura.

Nota

Los datos se extraen de orígenes de datos en el espacio y se copian en Azure Data Lake Storage. La ingesta de datos no forma parte de la implementación de referencia.

  1. Una canalización de Azure Synapse lee los datos espaciales de Azure Data Lake Storage.
  2. Los datos se procesan con la biblioteca GDAL en un cuaderno de Azure Synapse.
  3. Los datos procesados se almacenan en Azure Data Lake Storage.
  4. Los datos procesados se leen desde Azure Data Lake Storage y se pasan a la detección de objetos de los modelos de IA de Custom Vision mediante una actividad personalizada de Azure Synapse. La actividad personalizada usa grupos de Azure Batch para ejecutar el modelo de detección de objetos.
  5. El modelo de detección de objetos genera una lista de objetos detectados y cuadros de límite.
  6. Los objetos detectados se convierten en GeoJSON y se almacenan en Azure Data Lake Storage.
  7. Los datos de GeoJSON se leen de Azure Data Lake Storage y se almacenan en una base de datos PostgreSQL.
  8. Los datos se leen de la base de datos PostgreSQL. Se puede visualizar con más detalle mediante herramientas como ArcGIS Pro, QGIS y Power BI.

Instalación de paquetes geoespaciales en un grupo de Spark de Azure Synapse

Debe instalar los paquetes en un grupo de Spark de Azure Synapse mediante la característica de administración de paquetes. Para obtener más información, consulte Administración de paquetes de Azure Synapse.

Para admitir cargas de trabajo de datos espaciales en Azure Synapse, necesita bibliotecas como GDAL, Rasterio y GeoPandas. Puede instalar estas bibliotecas en un grupo de Apache Spark sin servidor mediante un archivo YAML. Las bibliotecas de Anaconda están preinstaladas en el grupo de Spark.

Requisitos previos

Instrucciones

  1. Las siguientes bibliotecas y paquetes están disponibles en el archivo environment.yml. Se recomienda el uso de este archivo para instalar las bibliotecas en los grupos de Spark. Si copia el contenido siguiente, asegúrese de que no haya pestañas, ya que YAML solo permite espacios como sangría.

    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 el sistema de archivos virtual /vsiadls/ para Azure Data Lake Storage. Esta funcionalidad está disponible a partir de GDAL v3.3.0. Asegúrese de usar la versión 3.3.0 o posterior.

  2. Ir a https://web.azuresynapse.net e iniciar sesión en el área de trabajo.

  3. Seleccione Administrar en el panel de navegación y, a continuación, seleccione Grupos de Apache Spark.

  4. Seleccione la opción Paquetes en el botón de puntos suspensivos (...) que está en el grupo de Spark. Cargue el archivo environment.yml desde un entorno local y aplique la configuración del paquete.

  5. La sección de notificaciones del portal le enviará una notificación una vez completada la instalación. También puede realizar un seguimiento del progreso de la instalación mediante estos pasos:

    1. Vaya a la lista de aplicaciones de Spark en la pestaña Supervisar.
    2. Seleccione el vínculo SystemReservedJob-LibraryManagement que corresponde a la actualización de su grupo.
    3. Consulte los registros de los controladores.
  6. Ejecute el código siguiente para comprobar que tiene las versiones correctas de las bibliotecas instaladas. También se mostrarán las bibliotecas preinstaladas que instala Conda.

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

Para obtener más información, vea Administrar paquetes.

Colaboradores

Microsoft está actualizando y manteniendo este artículo. Originalmente lo escribieron los siguientes colaboradores.

Creadores de entidad de seguridad:

Colaboradores adicionales:

Pasos siguientes