Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents


En este tutorial se realiza un ejemplo de uso del grupo de intérpretes %onesaitplatform desde los Notebooks.

Para conocer más en profundidad las funcionalidades de los intérpretes se puede consultar las referencias: (Notebooks) (ES) %onesaitplatform Referencia de intérpretes.

Contenidos

Antes de comenzar

Antes de comenzar hay que tener en cuenta los siguientes puntos:

  • Este tutorial se basa en la base de datos Restaurants disponible por defecto en la plataforma.

  • Se creará una ontología denominada RestaurantTutorialDB para realizar las inserciones.

  • Se creará un Digital Client denominado RestaurantTutorialClient de comunicación con las ontologías Restaurant y RestaurantTutorialDB.

  • Se creará un API REST denominada RestaurantTutorialAPI sobre la ontología RestaurantTutorial.

Si los componentes ya existen, deben borrarse en el siguiente orden: RestaurantTutorialClient, RestaurantTutorialAPI y  RestaurantTutorialDB.

  • Se recomienda encarecidamente que el tutorial no se haga con un usuario administrador.

  • El usuario debe tener el rol ANALYTICS para disponer del módulo de Notebooks.

Creación de elementos necesarios

Creación de la ontología RestaurantTutorialDB 

El primer paso es crear la ontología RestaurantTutorialDB con el mismo esquema que la ontología Restaurants. Se puede copiar y pegar el esquema siguiente para definir el esquema de la ontología:

{"$schema": "http://json-schema.org/draft-04/schema#","title": "Restaurants","type": "object","required": ["Restaurant"],"properties": {"Restaurant": {"type": "string","$ref": "#/datos"}},"datos": {"description": "Info Restaurant","type": "object","required": ["address"],"properties": {"address": {"type": "object","required": ["building"],"properties": {"building": {"type": "string"},"coordinates": {"type": "object","required": ["coordinates","type"],"properties": {"coordinates": {"type": "object","properties": {"latitude": {"type": "number"},"longitude": {"type": "number"}}},"type": {"type": "string","enum": ["Point"]}}},"street": {"type": "string"},"zipcode": {"type": "string"}}},"borough": {"type": "string"},"cuisine": {"type": "string"},"grades": {"type": "array","properties": {"date": {"type": "object","properties": {"$date": {"type": "string","format": "date-time"}}},"grade": {"type": "string"},"score": {"type": "number"}}},"name": {"type": "string"},"restaurant_id": {"type": "string"}}},"description": "Ontology Restaurants for testing","additionalProperties": true}

Image RemovedImage Added

De esta forma ya tenemos una ontología nueva con el mismo esquema que Restaurants.

Image RemovedImage Added

Creación del Digital Client RestaurantTutorialClient 

A continuación se crea un Digital Client con acceso a las ontologías Restaurants y RestaurantTutorialDB para consultar e insertar datos. El token será nuestro DIGITAL_CLIENT_TOKEN en el Notebook.

Image RemovedImage Added

Ya tenemos un Client de comunicación con el Digital-Broker de la plataforma.

Creación de la API REST RestaurantTutorialAPI 

Por último, se crea una API REST para consultar los datos de la ontología por REST. Establecemos dos tipos de operaciones: all e {id}

Image RemovedImage RemovedImage AddedImage Added

Ya está disponible una API REST de consulta sobre los datos que se inserten.

Set variables necesarias

Con los elementos creados, entramos en el Notebook denominado OnesaitPlatformZeppelinInterpretes o creamos una copia.

En las primeras celdas, se establecen las variables necesarias obtenidas de la creación de los elementos y del usuario.

Se introducen en el contexto Zeppelin (serán accesibles desde todas las celdas, independientemente del intérprete).

Image RemovedImage Added

Cómo utilizar el intérprete %onesaitplatform

A continuación se muestra un ejemplo de intercambio de datos con la plataforma (queries e inserts).

Mostrar help

La ayuda se muestra si se introduce la palabra help o una expresión no reconocible.

Modo debug

El modo debug permite ver la traza de ejecución del código.

Introducir credenciales

Se puede observar la traza de debug cuando el modo debug está activo para la ejecución de initConnection().

Hacer

un

una query

Un ejemplo de query SQL:

Image RemovedImage Added

Un ejemplo de query NATIVE:

Image RemovedImage Added

Consultar los datos como tabla

Para realizar una consulta de datos que Zeppelin puede interpretar:

Image RemovedImage Added

Hacer un insert de datos

Para hacer un insert de datos, primero se deben guardar los objetos serializados en el contexto, desde donde se recuperarán en la función insert:

Image RemovedImage RemovedImage AddedImage Added

Hacer una query paginada (batch)

En los casos en los que se hace queries de gran tamaño para descargar datos en crudo, se recomienda utilizar las queries paginadas, que descargan los datos en batches. La configuración de los batches de datos se puede cambiar en el gestor de intérpretes:

Image RemovedImage Added

Un ejemplo de consulta y guardado en una variable:

Image RemovedImage Added


Cómo utilizar el intérprete %onesaitplatform.apimanager

A continuación se muestra un ejemplo de llamadas al API- Manager de la plataforma.

Mostrar help

La ayuda se muestra si se introduce la palabra help o una expresión no reconocible.

Image RemovedImage Added

Modo debug

El modo debug permite ver la traza de ejecución del código.

Introducir credenciales

Se establece el token que se utilizará para las peticiones. En esta version %onesaitplatform.apimanager se pueden pasar expresiones z.get() para todos los argumentos de sus funciones.

Image RemovedImage Added

Listar todas las APIs del usuario

Se listan las APIs de nuestro usuario para obtener la información básica de la API. También se pueden listar las APIs de otro usuarios (públicas y compartidas con el usuario correspondiente al token utilizado).

En el contexto se guardan objectos lista de java, por lo que hay que acceder a la lista para obtener los resultados mediante índices.

Image RemovedImage Added

Obtener más información sobre una API

Si se quiere obtener una información más amplia de una API se utiliza la siguiente expresión.

Image RemovedImage Added

Hacer una petición a la API

Se realiza una llamada a la API creada para listar los elementos que hemos insertado en los pasos anteriores.

Image RemovedImage Added