Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

lL motor de Notebooks de la plataforma se basa en Zeppelin. En Zeppelin el soporte de los diferentes lenguajes se da a través de Interpretes.

Estructura de Zeppelin

Para entender el funcionamiento de Zeppelin, hay que tener en cuenta su estructura (Explicación estructura de Zeppelin).

Zeppelin tiene tres componentes principales:

  • Notebooks.
  • Managers (máquina virtual de java que gestiona las ejecuciones y donde se encuentra el contexto).
  • Intérpretes de cada lenguage

Cuando se ejecuta un párrafo, el flujo que se ejecuta es:

  1. El notebook envía el código al manager.
  2. Este manager gestiona el contexto y envía el código al intérprete correspondiente para que ejecute el código.
  3. El intérprete ejecuta el código y devuelve el resultado al manager.
  4. El manager devuelve el resultado al notebook.

Los managers y los intérpretes pueden configurarse (Interpreter Binding Mode) en función del uso que se le da (un único Data Scientists, varios, ...) y de la infraestructura de la que dispongamos.

A continuación se explica el significado de estas configuraciones.

Configuración de los intérpretes

La configuración de instancia del intérprete hace referencia a cómo se ejecutan los intérpretes dentro de la instalación.

Cada intérprete corresponde a un proceso en ejecución en el sistema, que puede ser creado de forma global (proceso único), por usuario (un proceso por cada usuario) o por note (un proceso por notebook).

A continuación se muestran las características de cada opción.

Características por instancia de intérpreteGlobally (De forma global)Per Note (Por Notebook)Per User (Por usuario)
Ejecución en paraleloNo permitida: Todos los notebooks llaman al mismo proceso del intérprete para ejecutar el código. Es decir, existe una cola de ejecución común para todos los párrafos de todos los notebooks.Permitida: Cada notebook cuenta con un proceso individual que ejecuta el código.Permitida (por usuario): Cada usuario tiene un proceso individual que ejecuta el código de todos los notebooks de ese usuario, por lo que dos notebook del mismo usuario no podrán ejecutarse en paralelo pero dos notebooks de usuarios diferentes sí.
Variables compartidasTodas las variables serán accesibles desde todos los notebooks porque todas las ejecuta el mismo proceso. Esto supone una seguridad nula entre notebooks.Las variables de cada notebook sólo serán visibles desde ese notebook. Esto supone una seguridad máxima entre notebooks.Las variables serán visibles desde todos los notebooks de cada usuario. Esto supone una seguridad media entre notebooks. Es decir, para una variable i = 6, todos los notebooks del usuario1 podrán cambiar el valor de la variable con i = 7, por ejemplo.


Configuración de los managers

La configuración de instancia del mánager hace referencia a cómo se ejecutan los managers dentro de la instalación.

Para las configuraciones Per Note y Per User existen dos posibilidades de instancia del manager:

  • Isolated per note (aislado por nota).
  • Scoped per note (alcance por nota).

Estas configuraciones hacen referencia a cómo el manager o managers gestionarán el contexto y enviarán el codigo a los intérpretes para su ejecución.

A continuación se muestran las características de cada opción.

Características por instancia de managerIsolated per noteScoped per note
Contexto compartidoContexto no compartido. Cada notebook tiene un manager que gestiona un sólo contexto y envía el código a los intérpretes. Las variables guardadas en el contexto sólo son accesibles desde dentro del mismo notebook. Si falla el manager, sólo afecta a los procesos de ese notebook.Contexto compartido entre intérpretes. Los notebooks tienen un manager común que gestiona un contexto y envía el código a los intérpretes. Si falla este manager, afecta a todos los notebooks.


Esquema visual

De forma visual, la estructura corresponde a:

Globally sharedPer Note/ User ScopedPer Note/ User Isolated

  • No labels