Blog

Un vistazo a la API de Trident (Storm)

El 10 de Abril Pere dió una “hackaton” de Trident/Storm en el Big Data Beers de Berlin. En la misma sesión hubo también una “hackaton” paralela de Disco (la dió Dave de Continuum Analytics). Es war viel spaß! La gente que fue tuvo la oportunidad de aprender lo básico de Trident en la sesión de Storm a la vez que lo pudo probar en el momento. En la “hackaton” se vieron los aspectos más importantes de la API, la filosofía y los casos de uso típicos de Storm e incluyó un simple ejercicio que manipulaba un flujo de tweets falsos. El proyecto, la guía de la sesión, algunos ejemplos ejecutables, así como el generador de tweets puede encontrarse en github.

BDB4-2

En este post veremos un resumen de la API de Trident que podremos ir siguiendo de forma práctica con la ayuda del proyecto github anteriormente mencionado.

Leer más…


Presentando Splout Cloud: Un servicio de consultas SQL de baja latencia en la nube.

Hemos creado Splout Cloud, un servicio en la nube de baja latencia que corre sobre Amazon AWS. A modo de resumen, Splout Cloud permite convertir cualquier conjunto de ficheros – independientemente de su tamaño – en una base de datos escalable y particionada SQL. Al contrario que otros sistemas para analítica “offline”, ofrece un alto rendimiento y es suficientemente rápido como para poder proveer queries por debajo del segundo con agregaciones en tiempo real, y ser así el motor de cualquier aplicación web o móvil.

sploutcloud-logo

Splout Cloud está basado en Splout SQL, una base de datos SQL libre para Hadoop.

Leer más…


Pig + Splout SQL para un sistema de cupones promocionales: Un romance Big Data

(Éste es el último post de una serie de tres posts presentando la integración nativa de Splout SQL 0.2.2 con las principales herramientas de procesamiento por encima de Hadoop: Cascading, Hive y Pig).

En este post presentaremos un caso de uso Big Data para una gran tienda de alimentos. Haremos un sumario de las compras individuales de cada cliente usando Apache Pig y volcaremos éste análisis a Splout SQL para poder ser capaces de lanzar consultas en tiempo real sobre él. Así, podremos combinar la información histórica de cada cliente con una lista de productos a promocionar para poder sugerir descuentos personalizados. Esta información se podría usar fácilmente por un sistema de impresión de cupones para fidelización de los clientes.

Combinar una herramienta de desarollo ágil Big Data como Pig con un sistema de consultas flexible y de baja latencia como Splout SQL nos provée una solución simple y efectiva a éste problema, que podremos simular a través de este post apenas sin esfuerzo.

Leer más…


Hive + Splout SQL para analítica sobre Twitter: Un romance Big Data

(Éste es el segundo post de una serie de tres posts presentando la integración nativa de Splout SQL 0.2.2 con Cascading, Hive y Pig).

En éste post presentaremos un ejemplo de aplicación Big Data para analizar tweets y mostrar informes consolidados, estadísticas relevantes a usuarios de Twitter a través de una webapp interactiva de baja latencia. Para eso juntaremos Hive (una solución open-source de “warehousing” que permite procesos analíticos fáciles sobre Hadoop) con Splout SQL, una base de datos SQL particionada de baja latencia para Hadoop. Construiremos un simple aunque potente y escalable panel tipo el de “Tweet archivist” y lo haremos sin escribir ni una sola línea de código. La herramienta proveerá menciones históricas, hashtags y tweets populares para cada actor en el dataset de entrada analizado.

Leer más…


Cascading + Splout SQL para analizar y servir logs: Un romance Big Data

(Éste es el primer post de una serie de tres posts presentando Splout SQL 0.2.2 y su integración nativa con Cascading, Hive y Pig).

En éste post veremos un caso de uso Big Data en el que analizaremos e indexaremos una gran cantidad de logs Apache de un supuesto website e-Commerce. Queremos ser capaces de servirlos en una aplicación web de baja latencia que necesita información detallada de grano fino para cada usuario, para poder hacer campañas de fidelización y asistencia al usuario. Para ésta aplicación juntaremos Cascading, un framework Java de alto nivel para Hadoop con Splout SQL, una base de datos particionada SQL de alto rendimiento para Hadoop. Veremos cómo desarrollar una solución totalmente escalable tanto en el procesamiento como en el servicio de los datos, y la haremos en menos de 200 líneas de código. También proveeremos un frontend sencillo JavaScript que usará la API REST de Splout SQL vía jQuery.

Leer más…


Un ejemplo de “arquitectura lambda” para el análisis en tiempo real de hashtags usando Trident, Hadoop y Splout SQL

En este post mostraremos cómo usar Trident, Hadoop y Splout SQL para construir un ejemplo de “arquitectura lambda“. Aprenderemos cosas básicas de Trident, una API de alto nivel por encima de Storm. También veremos Splout SQL, una base de datos de sólo lectura SQL para Hadoop. La arquitectura ejemplo está alojada en éste proyecto github. Lo que haremos será contar el número de apariciones de un hashtag en tweets, agrupado por fecha. El fin último es resolver este simple problema de una manera totalmente escalable, y proveer de un servicio de baja latencia para obtener la evolución de un hashtag a través del tiempo, incluyendo tanto datos en tiempo real como datos consolidados.

Así que para cualquier hashtag queremos ser capaces de hacer una query a un servicio remoto y obtener una evolución temporal parecida a:

{
  "20091022":115,
  "20091023":115,
  "20091024":158,
  "20091025":19
}

Leer más…


Presentando Splout SQL: Un conector SQL de muy baja latencia para Hadoop

Hemos estado trabajando duro los últimos meses preparando el lanzamiento de lo que pensamos es una solución nueva para servir grandes candidades de datos. Hemos cogido ideas de proyectos como Voldemort o ElephantDB para devolver SQL al mundo del servicio Big Data de baja latencia.

Motivación

La motivación para haber creado Splout SQL está bien explicada en este post.

Los principios de Splout SQL

Splout SQL es una base de datos escalable, tolerante a fallos, de sólo lectura, particionado, RESTful y SQL que se integra muy bien con Hadoop. Splout SQL se puede usar para ejecutar queries sobre datasets generados por Hadoop bajo alta carga, en tiempos de respuesta muy bajos. Ésto significa que Splout SQL es adecuado para escenarios como aplicaciones web o móviles que requieren un alto rendimiento. Por ejemplo, hemos usado Splout para servir 350GB de datos de los “Wikipedia Pagecounts“, ejecutando agrupaciones arbitrarias en tiempo real sobre ellos (ver el benchmark para más detalle).

La integración con Hadoop sigue los mismos principios de diseño que la de Elephant DB (que están muy bien explicados en éstas transparencias). A modo de resumen, los datos son indexados y particionados “offline” en un clúster Hadoop. Las estructuras de datos generadas son entonces movidas a un clúster de servicio de sólo lectura, que es el que atiende las queries de los usuarios.

Leer más…


Tuple MapReduce en el IEEE ICDM 2014

Datasalt estuvo presentando el documento de investigación Tuple MapReduce, beyond classic MapReduce en la Conferencia Internacional de Data Mining del IEEE en diciembre.

Es un placer para nosotros el compartir las siguiente presentación usada en las conferencias:


Casos de uso reales de MapReduce y Hadoop

Datasalt fue invitada a dar una charla en la Universidad de Ginebra el pasado Octubre sobre MapReduce, Tuple MapReduce y casos de usos reales de MapReduce.

La siguiente presentación contiene una introducción sobre el Big Data y más específicamente sobre MapReduce. Posteriormente, se describen casos de usos donde MapReduce ha demostrado su utilidad y finalmente se presenta el nuevo paradigma Tuple MapReduce y su implementación en Hadoop: Pangool

Los casos de uso reales de MapReduce son los siguientes:

  • Data analytics
  • Crawling
  • Full-text indexing
  • Reputation systems
  • Data mining


Extracción de valor de transacciones con tarjeta de crédito

Ya está colgado el vídeo con la presentación que hicimos en Big Data Spain sobre como extraer valor de transacciones con tarjeta de crédito usando Hadoop y sus tecnologías.

Aquí tenéis las transparencias disponibles para que lo veáis con más detalle.