Skip To Content

Ampliar el tiempo de ejecución de un notebook

ArcGIS Notebook Server incluye dos tiempos de ejecución de notebook (recopilaciones de módulos de Python). Estos tiempos de ejecución están disponibles para los usuarios de los notebooks mediante imágenes de contenedor, que se aplican a cada contenedor ejecutado en el sitio de su servidor.

Tanto el tiempo de ejecución Standard como Advanced del notebook incluyen ArcGIS API for Python y diferentes módulos de Python que pueden utilizarse para ciencia de datos, análisis espacial, administración de contenido y administración. El tiempo de ejecución Advanced también incluye ArcPy.

Consultar la lista de bibliotecas de Python disponibles

En algunos casos, es posible que los autores de su notebook necesiten módulos o versiones específicas de los mismos que no se incluyen en estos dos tiempos de ejecución. Puede acceder a módulos adicionales de Python en ArcGIS Notebook Server de estas formas:

  • Instale un módulo de Python durante una sesión del notebook. Esto hará que el módulo esté disponible para ser utilizado en ese notebook.
  • Amplíe una imagen de contenedor de Esri para que incluya bibliotecas de Python adicionales en un tiempo de ejecución personalizado. La imagen de contenedor que cree hará que el tiempo de ejecución ampliado quede a disposición de todos los autores de notebooks de su sitio.

Instalar módulos durante una sesión

Los autores de notebooks pueden hacer que los módulos o las versiones de los módulos de Python que no se incluyen en los tiempos de ejecución estén disponibles para su uso durante una sesión del notebook mediante los sistemas de administración de paquetes de conda o pip. Le recomendamos utilizar conda, porque ArcGIS Notebook Server lo usa para administrar módulos; no obstante, algunos módulos de Python solo están disponibles en pip.

Este método instala el módulo deseado durante la sesión del notebook. Una vez que se cierra el notebook o que termina el contenedor que pertenece al usuario, el módulo deja de estar disponible. Para instalar módulos con este método, los usuarios deben poder conectarse a través de Internet con el canal conda o pip.

Nota:

Tanto conda como pip están incluidos en los dos tiempos de ejecución del notebook. y no es necesario instalarlos.

Para instalar el paquete scrapy durante una sesión, por ejemplo, ejecute una celda del notebook con uno de los siguientes comandos, en función del sistema de administración de paquetes que esté utilizando:

Uso del sistema de administración de paquetes conda

!conda install --yes scrapy

Uso del sistema de administración de paquetes pip

!pip install scrapy

Para utilizar una versión diferente de un módulo de Python en el tiempo de ejecución del notebook en el que está trabajando, indique el número de la versión en el comando.

Debe reiniciar el kernel después de ejecutar un comando conda o pip para que su nuevo paquete esté disponible.

Por ejemplo, un paquete determinado está disponible en ambos tiempos de ejecución de notebook en la versión 1.5, pero usted quiere usar una herramienta introducida en la versión 1.6. Para que la versión 1.6 del paquete esté disponible durante una sesión de notebook, ejecute una celda del notebook con uno de los siguientes comandos, en función del sistema de administración de paquetes que esté utilizando:

Uso del sistema de administración de paquetes conda

!conda install --yes <package name>==1.6

Uso del sistema de administración de paquetes pip

!pip install <package name>==1.6

Crear una imagen de contenedor personalizada

Para realizar cambios persistentes en el tiempo de ejecución de un notebook, puede crear una imagen de contenedor personalizada en un sitio. El siguiente flujo de trabajo, que necesita privilegios administrativos, crea una imagen personalizada y configura ArcGIS Notebook Server para que la utilice.

Use uno de los dos tiempos de ejecución del notebook (Standard o Advanced) como punto de partida. Cuando haya creado su tiempo de ejecución personalizado, puede registrarlo como nuevo tiempo de ejecución en su sitio.

  1. Instale y configure ArcGIS Notebook Server.
  2. Inicie sesión en el Directorio de administrador de ArcGIS Notebook Server como administrador.

    La URL está en el formato https://notebookserver.domain.com:11443/arcgis/admin/.

  3. Haga clic en notebooks > tiempos de ejecución y seleccione el tiempo de ejecución del notebook que desea ampliar para su imagen personalizada.

    En la página de recursos del tiempo de ejecución, anote el valor de imageId para este tiempo de ejecución. Deberá incluir este valor en el siguiente paso.

  4. Cree un Dockerfile que agregue los módulos de Python que desee a la imagen personalizada.

    Un Dockerfile es un archivo de texto sencillo con instrucciones para crear una imagen de contenedor de Docker. Consulte la documentación de Dockerfile para obtener información y conocer las prácticas recomendadas.

    En este ejemplo, agregará el paquete graphviz de visualización de datos de Python al tiempo de ejecución Advanced del notebook. El siguiente bloque de código en su Dockerfile ordena a Docker que acceda al tiempo de ejecución Advanced con su valor imageId y que instale graphviz en el tiempo de ejecución. El comando conda clean es una mejor práctica para reducir el tamaño del archivo.

    # Specify the existing notebook runtime imageId as FROM
    FROM aa7a1a346e5b
    
    # Use RUN to issue a command to install, then clean
    RUN conda install graphviz \
      && conda clean -y -a

    En este ejemplo, creará un tiempo de ejecución predeterminado que incluya bibliotecas de cliente de Oracle.

    ## Using a Dockerfile to build a custom notebook runtime that includes Oracle client
    FROM <replace with imageId of standard or advanced container image>
    
    ## Switch to root user for installing OS level packages. 
    USER root
    
    ## Combine OS level statements for Docker image efficiency
    RUN apt-get update && \
            apt-get install -y alien
    ## Update the url below to the desired version of Oracle client.
    RUN wget https://yum.oracle.com/repo/OracleLinux/OL8/oracle/instantclient/x86_64/getPackage/oracle-instantclient19.10-basic-19.10.0.0.0-1.x86_64.rpm
    RUN alien -i oracle-instantclient19.10-basic-19.10.0.0.0-1.x86_64.rpm
    
    ## Installing libaio1 is required only for Notebook runtimes version 5 (10.9) or earlier.  
    RUN apt-get install -y libaio1
    
    ## Switch back to arcgis user at end of the Dockerfile
    USER arcgis
  5. Guarde su Dockerfile en el equipo.
  6. Cree su nueva imagen de contenedor personalizada utilizando un comando de Docker.

    Esta imagen contendrá un nuevo tiempo de ejecución según lo especificado en el Dockerfile. Abra un terminal y ejecute un comando con la siguiente sintaxis:

    docker build -t <name of my new runtime>:v1.0 -f <path to my Dockerfile> .
    Nota:

    Asegúrese de incluir el punto al final del comando.

    Cuando se ejecute el comando, Docker crea la nueva imagen de contenedor. La última línea de la salida del comando será Successfully built <imageId> con el valor de id. abreviado de la nueva imagen. Debe indicar su sitio de ArcGIS Notebook Server con el valor completo de imageId.

  7. Ejecute el siguiente comando en su terminal para obtener el valor de Id. de imagen:

    docker inspect <imageId>

    Ahora que se ha creado la imagen personalizada y que usted tiene su valor completo de imageId, vuelva al Directorio de administrador de ArcGIS Notebook Server para registrar la nueva imagen.

  8. En el Directorio de administrador, vaya a notebooks > tiempos de ejecución. Haga clic en Registrar tiempo de ejecución.
  9. Especifique los valores adecuados para completar el registro.

    Encontrará una guía sobre estos parámetros en el tema de referencia Registrar tiempo de ejecución. Cuando tenga todo listo, registre el tiempo de ejecución con el sitio.

  10. Abra un nuevo notebook para probar esta actualización. Compruebe que los módulos o las versiones de los módulos que agregó a su imagen personalizada estén disponibles en el notebook.

Para devolver los tiempos de ejecución de su sitio de ArcGIS Notebook Server a la configuración original, utilice la operación Restaurar tiempos de ejecución de fábrica en el Directorio de administrador. Esta operación está disponible en https://notebookserver.domain.com:11443/arcgis/admin/notebooks/runtimes/restore y solo restaurará los tiempos de ejecución de fábrica de la versión actual de su sitio.