Integrando un panel con soporte escalable de consultas, BigQuery

Una de las tradicionales tareas en gran cantidad de escenarios corporativos tiene que ver con el análisis de datos y su visualización en modo panel. En esta oportunidad les voy a compartir el inicio de la integración para un panel basado en BigQuery.

El objetivo propone encontrar el mecanismo que nos permita minar millones de filas en determinadas tablas. En este ejemplo iniciamos el desarrollo utilizando App Engine con Python como plataforma de trabajo y aplicamos la integración por API de Bigquery.

En el proyecto utilizaremos webapp2 como manejador principal y jinja2 para el trabajo de las plantillas HTML. La Fig.1 muestra el entorno de desarrollo completo y la arquitectura básica de la aplicación.

Fig. 1 Entorno de desarrollo utilizado
Tendremos que realizar la operación en 3 pasos generales:
  1. Vamos a tener que consultar los datos a Bigquery.
  2. Tendremos que formatear estos datos para insertarlo en un Google Chart.
  3. Tendremos que integrar estos datos para el render en el HTML.
#Creación de la consulta al banco de datos.
Fig.2 Creación de la consulta al banco de datos
#Formatear los datos.
Fig.3 Manipulación de datos para insertar en el gráfico
#Integrar los datos mediante Jinja2 al HTML.
Fig.4 Manejo de la plantilla jinja2
Finalmente vamosa  visualizar una gráfica como la que muestra la Fig.5. Iniciamos con una integración básica pero podemos varios los gráficos y desarrollar un panel con múltiples opciones.

El proyecto completo lo pueden consultar aquí. (GitHub - Licencia Apache 2.0).

Creative Commons License
Integrando un panel con soporte escalable de consultas, BigQuery is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Based on a work at http://nbortolotti.blogspot.com.ar/.

Entradas más populares de este blog

TensorFlow, una simple aproximación al calculo numérico en Python

7 arquetipos #Polymer 1.0 puntos esenciales prácticos

Iniciando la representación de una mobile-web-page pensando en el rendimiento - Parte 1