Visualización de datos con Caravel

Desde hace años estamos inversos en una revolución tecnológica, que ha permitido cosas como el Big Data, esto es, el almacenamiento y tratamiento de grandes volúmenes de datos. Para tratar con dichos datos necesitamos potentes herramientas que nos ayuden. Pues bien, dentro de esto entra Caravel, un software especializado en gestión de datos y la creación de gráficos interactivos, creado por el equipo de desarrollo de Airbnb.

caravel-sea-650

Sobre Caravel

Es un potente plataforma de visualización de datos, open source, utiliza una licencia Apache, que proporciona una fácil exploración de estos, permitiendo crear y compartir gráficos y cuadros de mando. Su nombre original era Panoramix. Veamos sus principales caracaterísticas:

  • Un amplio conjunto de visualizaciones de datos, integrado a partir de algunas de las mejores bibliotecas de visualización
  • Crear y compartir paneles
  • Tiene un alta granulidad y modelo de permisos extensible, que permite reglas sobre quien puede acceder a ciertas características y conjuntos de datos
  • Herramientas de autentificación con integración con las principales proveedores de autentificación (Bases de datos, LDAP, OpenID, etcétera)
  • Una capa semántica sencilla, lo que permite a los usuarios controlar cómo las fuentes de datos se muestran en la interfaz de usuario, mediante la definición de los campos que debe aparecer.
  • La integración con muchos RDBMS a través SqlAlchemy
  • La integración con  Druid.io
Ejemplo gráfica Caravel

Ejemplo gráfica Caravel

Laboratorio de pruebas

Para la instalación vamos a utilizar un sistema operativo GNU Linux, concretamente CentOS, en su versión 7 Antes de nada activaremos la red utilizando la herramienta ‘nmtui‘ El requisito más importante es que utilice Python 2.7*, la versión 2.6* ya no está soportada, y la versión 3 está prevista para más adelante.

  1. yum install epel-release
  2. yum groupinstall -y 'development tools'
  3. yum upgrade python-setuptools
  4. yum install gcc libffi-devel python-devel python-pip python-wheel openssl-devel

Para comprobar la versión escribimos:

  1. python --version

En mi caso es la 2.7.5

Si no decimos lo contrario el programa utilizará como motor de base de datos sqlite, pero también tenemos disponibles formas para poder utilizar otros motores como MySQL, Oracle o PostgreSQL.

Para la instalación debemos seguir los siguientes pasos. El primero es utilizar la herramienta pip, suministrado por el equipo python, que nos permitirá descargar e instalar paquetes.

  1. pip install caravel

Creamos el usuario administrador:

  1. fabmanager create-admin --app caravel

Aquí vemos la muestra:

Creación usuario admin para Caravel

Creación usuario admin para Caravel

Iniciamos la base de datos:

  1. caravel db upgrade

Creamos los roles y permisos por defecto:

  1. caravel init

Cargamos datos de prueba:

  1. caravel load_examples

Encendemos el servidor de desarrollo:

  1. caravel runserver -d

Y ya podemos acceder desde nuestra IP y el puerto 8080

Panel administrador

Panel administrador

Anteriormente hemos cargado una serie de datos a modo de ejemplo, que podemos consultar desde «Dashboards» y allí seleccionar la que más nos interese en ese momento:

Selección desde pestaña "Dashboard"

Selección desde pestaña «Dashboards»

Tenemos dos para seleccionar, la primera relacionado con datos sobre cumpleaños y la segunda sobre los datos un supuesto «Banco Mundial de Salud»

Muestra cuadro de mando

Muestra cuadro de mando

Los datos a mostrar se pueden editar de manera fácil, al igual que los paneles se pueden colocar y mover a nuestro gusto.

Sólo hemos visto por encima todas las posibilidades de este producto, creo que se merece más artículos al respecto, para conocerlo más en detalle. Así que estad atentos 😉

Si queréis ampliar información , podéis visitar su página web o la página del proyecto GitHub

Nos leemos en la próxima!

He conocido Caravel a raíz de una noticia en LWN.net