Partekatu honen bidez:


Administración de bibliotecas para grupos de Apache Spark en Azure Synapse Analytics

Cuando haya identificado los paquetes de Scala, Java R (versión preliminar) o Python que le gustaría usar o actualizar para la aplicación Spark, puede instalarlos en un grupo de Spark o quitarlos de este. Las bibliotecas de nivel de grupo están disponibles para todos los cuadernos y todos los trabajos que se ejecutan en el grupo.

Hay dos maneras principales de instalar una biblioteca en un grupo de Spark:

  • Instalar una biblioteca de área de trabajo que se haya cargado como un paquete de área de trabajo.
  • Para actualizar bibliotecas de Python, proporcione una especificación de entorno requirements.txt o environment.yml de Conda para instalar paquetes desde repositorios como PyPI, Conda-Forge, etc. Para más información, lea la sección sobre la especificación del entorno.

Después de guardar los cambios, un trabajo de Spark ejecutará la instalación y almacenará en caché el entorno resultante para reutilizarlo más adelante. Una vez completado el trabajo, los nuevos trabajos o sesiones de cuaderno de Spark usarán las bibliotecas de grupos actualizadas.

Importante

  • Si el paquete que va a instalar es de gran tamaño o tarda mucho tiempo en instalarse, afectará al tiempo de inicio de la instancia de Spark.
  • No se admite la modificación de la versión de PySpark, Python, Scala/Java, .NET, R o Spark.
  • La instalación de paquetes de repositorios externos como PyPI, Conda-Forge o los canales Conda predeterminados no se admiten en áreas de trabajo habilitadas para la protección de la filtración de datos.

Administración de paquetes desde Synapse Studio o Azure Portal

Las bibliotecas de grupos de Spark se pueden administrar desde Synapse Studio o Azure Portal.

Para actualizar o agregar bibliotecas a un grupo de Spark:

  1. Navegue hasta el área de trabajo de Azure Synapse Analytics desde Azure Portal.

    Si va a actualizar desde Azure Portal:

    • En la sección Synapse resources (Recursos de Synapse), seleccione la pestaña Apache Spark pools y seleccione un grupo de Spark en la lista.

    • Seleccione Paquetes en la sección Configuración del grupo de Spark. Captura de pantalla que resalta el botón de carga de un archivo de configuración de entorno.

    Si va a actualizar desde Synapse Studio:

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

    • Seleccione la sección Paquetes de un grupo de Spark específico. Captura de pantalla que resalta los registros de la instalación de la biblioteca.

  2. Para las bibliotecas de fuente de Python, cargue el archivo de configuración del entorno mediante el selector de archivos en la sección Paquetes de la página.

  3. También puede seleccionar otros paquetes de área de trabajo para agregar archivos Jar o Wheel o Tar.gz al grupo.

  4. Además, puede quitar los paquetes en desuso de la sección Paquetes del área de trabajo, y el grupo ya no asociará estos paquetes.

  5. Después de guardar los cambios, se desencadenará un trabajo del sistema para instalar y almacenar en caché las bibliotecas especificadas. Este proceso ayuda a reducir el tiempo general de inicio de sesión.

  6. Una vez que el trabajo se haya completado correctamente, todas las sesiones nuevas seleccionarán las bibliotecas de grupos actualizadas.

Importante

Al seleccionar la opción para forzar configuración nueva, finalizarán todas las sesiones actuales del grupo de Spark seleccionado. Una vez finalizadas las sesiones, tendrá que esperar a que el grupo se reinicie.

Si esta opción no está seleccionada, tendrá que esperar a que la sesión de Spark actual finalice o detenerla manualmente. Una vez finalizada la sesión, deberá dejar que el grupo se reinicie.

Seguimiento del progreso de la instalación

Cada vez que se actualiza un grupo con un nuevo conjunto de bibliotecas, se inicia un trabajo de Spark reservado para el sistema. Este trabajo de Spark ayuda a supervisar el estado de la instalación de las bibliotecas. Si se produce un error en la instalación debido a conflictos de la biblioteca u otros problemas, el grupo de Spark volverá a su estado anterior o predeterminado.

Además, los usuarios pueden inspeccionar los registros de instalación para identificar conflictos de dependencia o ver qué bibliotecas se instalaron durante la actualización del grupo.

Para consultar estos registros:

  1. Vaya a la lista de aplicaciones de Spark en la pestaña Supervisar.
  2. Seleccione el trabajo del sistema de la aplicación de Spark que corresponde a la actualización del grupo. Estos trabajos del sistema se ejecutan con el nombre SystemReservedJob-LibraryManagement. Captura de pantalla que resalta el trabajo de biblioteca reservado para el sistema.
  3. Cambie para ver los registros del controlador y de stdout.
  4. En los resultados, verá los registros relacionados con la instalación de las dependencias. Captura de pantalla que resalta los resultados del trabajo de biblioteca reservado para el sistema.

Formatos de especificación de entorno

requirements.txt de PIP

Se puede usar un archivo requirements.txt (salida del comando pip freeze) para actualizar el entorno. Cuando se actualiza un grupo, los paquetes enumerados en este archivo se descargan desde PyPI. Después, las dependencias completas se almacenan en caché y se guardan para reutilizar el grupo más adelante.

En el fragmento de código siguiente se muestra el formato del archivo de requisitos. Se enumera el nombre del paquete PyPI, junto con una versión exacta. Este archivo sigue el formato descrito en la documentación de referencia de pip freeze.

Este ejemplo fija una versión específica.

absl-py==0.7.0
adal==1.2.1
alabaster==0.7.10

Formato YML

También puede proporcionar un archivo environment.yml para actualizar el entorno del grupo. Los paquetes que se enumeran en este archivo se descargan de los canales predeterminados de Conda, de Conda-Forge y de PyPI. Puede especificar otros canales o quitar los canales predeterminados mediante las opciones de configuración.

En este ejemplo se especifican los canales y las dependencias de Conda y PyPI.

name: stats2
channels:
- defaults
dependencies:
- bokeh
- numpy
- pip:
  - matplotlib
  - koalas==1.7.0

Para obtener más información, consulte cómo crear un entorno desde un archivo environment.yml.

Pasos siguientes