5.10 Acerca de los Enlaces de Intérpretes y los Blocs de Notas

Un intérprete es un plugin que permite utilizar un backend de lenguaje de procesamiento de datos específico.

Para los blocs de notas de Zeppelin en la interfaz de usuario de Oracle Machine Learning, utilice los intérpretes SQL, PL/SQL, Python y R de un grupo de intérpretes de Oracle Database y el intérprete de Markdown para la sintaxis de formato de texto sin formato para que se pueda convertir a HTML. Utilice el intérprete Conda para conectarse al entorno Conda y trabajar con paquetes de biblioteca de terceros de Python.

Para utilizar estos intérpretes, debe utilizar estas directivas al principio del párrafo en un bloc de notas
  • SQL: %sql
  • PL/SQL: %script
  • Python: %python
  • R: %r
  • Rebaja - %md
  • Conda: %conda
Los blocs de notas contienen una lista interna de enlaces que definen el orden de los enlaces de intérprete en un grupo de intérpretes. El orden por defecto de los enlaces de intérprete en el grupo de intérpretes de Oracle Database es:
  • Bajo: proporciona el menor nivel de recursos para las operaciones en la base de datos, normalmente la ejecución en serie (no en paralelo). Soporta el número máximo de operaciones simultáneas en la base de datos realizadas por varios usuarios. El intérprete con baja prioridad aparece en la parte superior de la lista de intérpretes y, por lo tanto, es el valor por defecto.
  • Medio: proporciona un número fijo de CPU para ejecutar operaciones en la base de datos en paralelo, siempre que sea posible. Soporta un número limitado de usuarios simultáneos, normalmente 1,25 veces el número de CPU asignadas a la base de datos conectable.
  • Alta: proporciona el nivel más alto de CPU para ejecutar operaciones en la base de datos en paralelo, hasta el número de CPU asignadas a la base de datos conectable. Ofrece el máximo rendimiento, pero soporta el número mínimo de operaciones simultáneas en la base de datos, normalmente 3.
Con respecto a los enlaces de intérprete, puede realizar las siguientes tareas:
  • Intérpretes de enlace y desenlace: si no enlaza ningún intérprete específico al bloc de notas, aparece el mensaje de error:
    Not supported interpreter <name of interpreter>
  • Establecer y reordenar enlaces de intérprete. Es posible que desee establecer y reordenar enlaces de intérprete si desea utilizar un intérprete específico para un párrafo específico en un bloc de notas. En ese caso, debe seleccionar el intérprete específico para ese párrafo.
  • Cambiar el enlace del intérprete para cualquier párrafo específico de un bloc de notas
Debe tener en cuenta el orden de enlace del intérprete en los siguientes escenarios:
  • Creación de bloc de notas: al crear un bloc de notas, el bloc de notas hereda el orden de enlace del intérprete inicial, que es bajo (por defecto), medio y alto.
  • Importación de bloc de notas: al importar un bloc de notas, este hereda los enlaces de intérprete definidos. Sin embargo, después de importar un bloc de notas, asegúrese de comprobar el orden de los enlaces de intérprete y de seleccionar los intérpretes necesarios.
  • Exportación de bloc de notas: al exportar un bloc de notas, el bloc de notas hereda los enlaces de intérprete definidos.
  • Creación de bloc de notas a partir de plantillas: al crear un bloc de notas a partir de plantillas, el bloc de notas hereda el orden por defecto de los enlaces de intérprete.

5.10.1 Cambio de Enlaces de Intérpretes para Párrafos Específicos en un Notebook

El orden de enlace del intérprete establecido para un cuaderno se aplica a todos los párrafos de ese cuaderno. Sin embargo, puede sustituir el enlace de intérprete para intérpretes de SQL, PL/SQL, R, Python y Conda para cualquier párrafo específico del bloc de notas.

Para utilizar estos intérpretes, debe utilizar estas directivas al principio del párrafo en un bloc de notas
  • SQL: %sql
  • PL/SQL: %script
  • Python: %python
  • R: %r
  • Rebaja - %md
  • Conda: %conda

Note:

No sustituya los enlaces de intérpretes de párrafos de Python, ya que no compartirán el mismo backend del motor de Python.
Para cambiar el enlace del intérprete para un párrafo específico en un cuaderno:
  1. Abra el bloc de notas y haga clic en el icono de engranaje para ver los enlaces del intérprete y su orden.
    Opciones del editor de bloc de notas
    En este ejemplo, los tres intérpretes SQL están enlazados al bloc de notas y el intérprete con la asignación de recursos low adwpcwdp_low %sql es el valor por defecto, ya que es el primer intérprete de la lista. El intérprete de Markdown no está enlazado al bloc de notas

    Note:

    Los nombres de los intérpretes tienen el formato databasename_low, databasename_medium y databasename_high, que es el mismo que el nombre del orden de enlace del intérprete.
    En este ejemplo, los nombres de intérpretes son:
    • adwp_low % sql(default),%script, %python, %r, %conda
    • adwp_medium % sql(default),%script, %python, %r, %conda
    • adwp_high % sql(default), %script,%python, %r, %conda
    • med. %md(default)

    Figura 5-9 Enlaces de Intérprete

    Enlaces de intérprete
    El primer intérprete de Python de la lista se utiliza para ejecutar todos los párrafos de Python en el bloc de notas. Por ejemplo, si se selecciona el enlace low, todos los párrafos de Python se ejecutan mediante el intérprete de Python de enlace low. Todos los demás párrafos con enlaces de intérprete SQL y Script se ejecutan mediante el servicio de nombres de base de datos low, es decir, adwp_low. Si algún script de Python ejecuta consultas en la base de datos, esas consultas se ejecutan mediante el servicio de nombres de base de datos low, es decir, adwp_low en este ejemplo.
  2. Para cambiar el orden de los enlaces de intérprete de un párrafo concreto en el cuaderno:
    • Desplácese hasta el párrafo para el que desea cambiar el intérprete
    • Llame al intérprete con el enlace específico
    • Ejecutar el párrafo
    Por ejemplo, llame al intérprete con asignación de recursos medios escribiendo %adwp_medium para el primer párrafo en el bloc de notas y ejecute el párrafo. En este ejemplo, adwp es el nombre de la base de datos.
    Orden de enlace de intérprete modificado
    Observe que el primer párrafo se ejecuta sin ningún error después de cambiar el enlace del intérprete. El segundo párrafo de este bloc de notas tiene el enlace por defecto.
  3. Valide el enlace del intérprete para el primer párrafo de este bloc de notas escribiendo la sentencia SQL SELECT SYS_CONTEXT ('USERENV', 'SERVICE_NAME') FROM DUAL;
    La sentencia SQL devuelve la siguiente información sobre el intérprete con enlace de medio:
    LGKFDTOOBOQK48I_CWDP_medium.adwc.oraclecloud.com
    Validar enlace de intérprete de un párrafo después del cambio
    En este ejemplo, con referencia a la captura de pantalla:
    • LGKFDTOOBOQK48I es el nombre del cliente
    • CWDP es el nombre de la base de datos
    • medium es el nombre del servicio
    • adwc.oraclecloud.com es el dominio

    Note:

    Para el resto de los párrafos de este bloc de notas, el enlace de intérprete es el valor por defecto. Puede validar los enlaces para cada párrafo ejecutando el paso 3.
    Esta acción finaliza la tarea de cambiar el enlace del intérprete para un párrafo concreto en el bloc de notas. El resto de los párrafos del bloc de notas tienen el enlace por defecto para el intérprete.

5.10.2 Definición de Enlaces de Intérprete para Blocs de Notas

Debe enlazar un bloc de notas a un intérprete para recuperar datos de la base de datos o de cualquier origen de datos. Hay disponible un juego por defecto de enlaces de intérprete.

Puede establecer el orden de los enlaces de intérprete si tiene más de un juego disponible. Para establecer el orden de los enlaces de intérprete:
  1. En la página Libro de notas, haga clic en el bloc de notas para el que desea definir los enlaces del intérprete.
    El bloc de notas se abre en modo de edición.
  2. Haga clic en el icono de engranaje en el panel superior.
    Opciones de editor de NB
    Se abre el panel Configuración, que muestra los enlaces de intérprete para el bloc de notas.
  3. Arrastre y suelte los intérpretes para reordenar los enlaces de intérprete. El primer intérprete de la lista es el predeterminado. El orden de los enlaces de intérprete es:
    • Bajo (valor por defecto): proporciona el menor nivel de recursos para las operaciones en la base de datos, normalmente la ejecución en serie (no en paralelo). Soporta el número máximo de operaciones simultáneas en la base de datos realizadas por varios usuarios. El intérprete con baja prioridad aparece en la parte superior de la lista de intérpretes y, por lo tanto, es el valor por defecto.
    • Medio: proporciona un número fijo de CPU para ejecutar operaciones en la base de datos en paralelo, siempre que sea posible. Soporta un número limitado de usuarios simultáneos, normalmente 1,25 veces el número de CPU asignadas a la base de datos conectable.
    • Alto: proporciona el nivel más alto de CPU para ejecutar operaciones en la base de datos en paralelo, hasta el número de CPU asignadas a la base de datos conectable. Ofrece el máximo rendimiento, pero soporta el número mínimo de operaciones simultáneas en la base de datos, normalmente 3.
    Este es el orden vinculante inicial de los intérpretes. Puede cambiar el orden de los enlaces de intérprete.
  4. Haga clic en Guardar.

5.10.3 Verificación de Enlaces de Intérpretes

Después de definir y cambiar el orden de los enlaces de intérprete, puede verificar los enlaces de intérprete si utiliza intérpretes SQL, PL/SQL, R o Python en un bloc de notas determinado. Utilice una sentencia SQL para ver y verificar la información de enlace del intérprete sobre el bloc de notas.

Para los blocs de notas de Python, el enlace de intérprete se utiliza para todos los párrafos de python.

Note:

Para los blocs de notas de Python, no sustituya el enlace de intérprete en el nivel de párrafo.
Para verificar el enlace de intérprete de los blocs de notas:
  1. Abra el bloc de notas para el que desea comprobar el enlace del intérprete.
  2. Ejecute la siguiente sentencia SQL:
    %sql
    SELECT SYS_CONTEXT ('USERENV', 'SERVICE_NAME') FROM DUAL;

    La sentencia SQL proporciona el nombre del servicio al que está conectada una sesión determinada.

  3. Haga clic en Ejecutar.
    La sentencia SQL devuelve la información sobre el intérprete, el orden del enlace y el nombre del servicio. El resultado se muestra con el siguiente formato tenantname__databasename_ servicename.domain. Aquí:
    • HDY7RUSKGDMPHN2 es el nombre del cliente
    • PDB1 es el nombre de la base de datos
    • low es el orden de enlace del intérprete
    • adwc.oraclecloud.com es el nombre de dominio
    Validación de enlace de intérprete