Introducción

Contexto

CARTO [1] es una plataforma de Location Intelligence que permite resolver problemas geoespaciales con los mejores datos y análisis.

Actualmente, las organizaciones que utilizan CARTO como herramienta de análisis geoespacial tienen multitud de fuentes de información y aplicaciones ya instaladas que generan continuamente nuevos datos.

Uno de los valores de CARTO para estas organizaciones es el de conectarse con esas fuentes de información (datos de CRM, ERP, hojas de cálculo, archivos con contenido geoespacial, bases de datos relacionales, etc.) a través de una interfaz sencilla e intuitiva, para generar nueva información de valor añadido para su negocio mediante análisis geoespaciales y visualizaciones.

En determinadas organizaciones, especialmente de tamaño medio o grande, ocurre que diversos equipos gestionan sus datos con sistemas de información heterogéneos que utilizan repositorios de datos tales como:

  • Hojas de cálculo y archivos CSV (valores separados por comas)
  • Documentos de Google Drive [2]
  • CRMs tales como Salesforce [3]
  • Herramientas de marketing digital como Mailchimp [4]
  • Servidores de datos geoespaciales como ArcGIS [5]
  • Bases de datos operacionales (relacionales o NoSQL)
  • Sistemas de ficheros distribuidos HDFS
  • Otros sistemas (Twitter [6], Dropbox [7], etc.)

Definición del problema

Estas organizaciones utilizan CARTO para importar sus datos y analizar la información que generan los distintos departamentos de manera conjunta, respondiendo a sus preguntas de negocio y encontrando además respuesta a otras preguntas que no se habían planteado en un principio.

CARTO ofrece un flujo de trabajo formado por cinco pasos:

Flujo de trabajo en CARTO
  1. Ingestión de datos

Consiste en llevar los datos de negocio, provenientes de distintas fuentes a la plataforma, a través de APIs e interfaces de usuario intuitivas.

Ingestión de datos
  1. Enriquecimiento de los datos

CARTO cuenta con un catálogo de datos previamente analizados y curados de diferente tipología (demográficos, económicos, movilidad, puntos de interés, …) que son clave para añadir nueva información a los datos de negocio y relacionar variables para buscar respuesta a preguntas complejas tales como: ¿de dónde vienen los visitantes de mis tiendas físicas? ¿cuál es su perfil demográfico? ¿cuál es su poder adquisitivo? etc.

Enriquecimiento de datos Enriquecimiento de datos
  1. Análisis

APIs y soluciones orientadas al análisis espacial

Análisis de datos Análisis de datos
  1. Soluciones y visualización

Librerías, SDKs, APIs y herramientas específicas que permiten crear soluciones y exponer de manera visual los resultados obtenidos en los análisis

Soluciones Soluciones
  1. Integraciones

Otros flujos para dar salida a los resultados obtenidos hacia la plataforma del cliente.

Integraciones

CARTO cuenta con la posibilidad de importar datos desde diversas fuentes de datos, pero carece de soporte nativo para conectar a muchos de estos sistemas de almacenamiento Big Data usados generalmente para almacenar datos operacionales o secuencias de datos temporales.

Objetivo

El objetivo de este trabajo final de máster, está centrado en la primera fase del flujo de trabajo descrito previamente la ingestión de datos. Más concretamente, consiste en el desarrollo de conectores para CARTO que permitan incluir en los cuadros de mandos (dashboard), información proveniente de los siguientes sistemas de almacenamiento y/o procesamiento Big Data.

Ingestión de datos

El objetivo es encontrar un mecanismo fácilmente reproducible que permita en el futuro integrar otros sistemas de almacenamiento. Para el actual trabajo, el objetivo consiste en integrar al menos:

  • Google BigQuery

Y describir un proceso que permitiera la integración de otros sistemas tales como:

  • Apache Hive
  • Impala
  • MongoDB
  • Amazon Redshift
  • Cassandra
  • SparkSQL
  • Amazon Aurora
  • Oracle

Los «conectores Big Data para CARTO» permitirán a las organizaciones mantener sus actuales flujos de ingestión y procesamiento de información, además de aprovechar lo mejor de dos mundos: el almacenamiento y procesamiento distribuido que ofrecen algunas de estas herramientas orientadas a Big Data y la visualiación y análisis geoespacial de CARTO.

Cabe destacar que los resultados de este trabajo no son de carácter teórico, sino que consiste en código fuente y herramientas que se incluirán en la distribución on-premise de CARTO

Organización de este trabajo final de máster

Este trabajo final de máster está organizado en capítulos, siguiendo la siguiente estructura:

  1. Estado del arte: Se repasan las herramientas de almacenamiento y procesamiento Big Data con las que se va a trabajar y se definen algunos de los conceptos teóricos que sirven de fundamentación para el trabajo.
  2. Metodología y plan de trabajo: Definición de una metodología de trabajo sistemática y desglose en tareas del trabajo a realizar.
  3. Desarrollo del trabajo y resultados obtenidos: Descripción de la implementación de cada uno de los conectores, demostración de uso, etc.
  4. Espías en el cielo: Analizando con CARTO datos de vuelos almacenados en BigQuery: Un caso de uso para entender mejor desde el punto de vista de un usuario de la plataforma, del valor de contar con los conectores desarrollados en el trabajo.
  5. Conclusiones
  6. Bibliografía
  7. Anexos
  8. Glosario

Palabras clave: BASH, Docker, Vagrant, Location Intelligence, AWS, HDFS, Hadoop, BigQuery, Hive, Impala, Spark, NoSQL, Cassandra, MongoDB, CARTO, dashboards, análisis geoespacial

[1]https://www.carto.com - mayo 2019
[2]https://drive.google.com - mayo 2019
[3]https://www.salesforce.com - mayo 2019
[4]https://mailchimp.com - mayo 2019
[5]https://www.arcgis.com - mayo 2019
[6]https://www.twitter.com - mayo 2019
[7]https://www.dropbox.com - mayo 2019