¿Cómo subir un fichero a HDFS, crear una tabla HIVE y convertirlo a Ontología?

En este post vamos a explicar los pasos a seguir para a partir de un fichero que tenga en local podré crear una Ontología en la BDH (Base Datos Histórica) de Sofia2.

IMPORTANTE.: la Plataforma ofrece un mecanismo alternativo para la subida de ficheros Excel/CSV a la BDTR (Base Datos Tiempo Real): https://about.sofia2.com/2015/02/16/generando-y-cargando-ontologias-desde-excel/

Subir fichero al área de Staging (HDFS) de la Plataforma

Para el ejemplo usaremos este fichero health_australia.csv en http://sofia2.org/owncloud/public.php?service=files&t=080ef9344fe62e27e9b5ce8b033956dd que contiene datos públicos de la sanidad en Australia.

Comenzaremos subiendo un fichero al HDFS de la plataforma, para eso iré al Panel de Control de Sofia2 y desde la opción Analytics > subir ficheros a Hadoop

Primero lo bajaré a local y lo arrrastraré al área para subir ficheros:

La Consola me dirá la ruta HDFS del fichero (de esta forma podría acceder a él desde los Notebooks por ejemplo):

Tras acabar lo puedo ver:

Convertir fichero en Staging HDFS a Tabla HIVE

El siguiente paso es convertir este fichero en una tabla HIVE, esto puedo hacerlo desde el Notebook Sofia2, pero es más sencillo utilizar el asistente Sofia2 que encontramos en Analytics > Crear Tabla HIVE desde ficher HDFS

En la pantalla puedo ver todos los ficheros que he cargado al área de Staging con mi usuario:

Iré completando la información que me solicitan:

A la tabla la llamaré health_australia

En la primera fila del CSV tengo los nombres de los atributos:

Indico que el delimitador de campos es un ,

Tras esto pincho en que me permite ver los atributos que componen el fichero, un valor, y el tipo de dato.

Desde aquí puedo seleccionar los atributos que quiero incluir en mi tabla HIVE y los tipos de datos.

Para que sea más sencillo cambiaré los nombres de los campos y seleccionaré que el campo real_expenditure_millions es Int dejándolo así:

Ya puedo seleccionar

Que genera esta sentencia CREATE TABLE para HIVE:

Selecciono

Crear Ontología desde Tabla HIVE

Una vez creada la tabla con el botón Crear tabla esta pantalla me lleva a la U de Creación de Ontologías desde Tabla HIVE, también puedo ir desde la opción de menú Analytics>Crear ontología desde tabla HIVE

Seleccionaré la tabla health_australia

Y seleccionando me generará el JSON-Schema de la ontología que representa esta tabla HIVE:

Tras esto iré a la pestaña Parametrización donde podrá configurar parámetros como estos, debo marcar al menos Activa:

Finalmente selecciono el botón que me ha creado la ontología que representa el fichero inicial health_australia.csv que cargamos.

Explotando la Ontología

Y una vez tengo la ontología creada ya podré consultarla desde la Consola BDTR y BDH (herramientas > Consola BDTR y BDH):

Por Ejemplo puedo sacar los Gastos por estado:

select state, sum(spending)/1000 SpendinginBillions from health_autralia group by state

order by SpendinginBillions desc

Que da:

O por categoría:

select category, sum(spending)/1000 SpendinginBillions from health_autralia

group by category

order by SpendinginBillions desc

¿Cómo subir un fichero a HDFS, crear una tabla HIVE y convertirlo a Ontología?

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s