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 Removed
Image Added










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

Image Modified

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 Removed
Image 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 Removed

Image Removed
Image 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 Removed
Image 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.

Image ModifiedModo debug

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

Image Modified

Introducir credenciales

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

Image Removed
Image Added

Hacer un query

Un ejemplo de query SQL:

Image Modified

Un ejemplo de query NATIVE:

Image Modified

Consultar los datos como tabla

Para realizar una consulta de datos que Zeppelin puede interpretar:

Image Removed
Image 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 Modified
Image Modified

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 Modified

Un ejemplo de consulta y guardado en una variable:

Image Modified


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 Modified

Modo debug

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

Image Modified

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 Modified

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).

Image Removed
Image Added

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 Modified

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 Modified

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 Modified