Paradigmas BigData: El procesamiento en Tiempo Real. Algunas tecnologías.

marzo 21, 2014

Seguimos con esta serie de "paradigmas" en el mundo #bigdata

Hoy voy a hablar algo sobre tratamiento de datos en Tiempo Real, que hay detrás de este concepto y algunas cosillas de las que me he ido desmitificando. Lets GO!


A continuación tenéis la lista de Post:

- Paradigmas BigData: El procesamiento Batch
- Paradigmas BigData: El procesamiento Real Time
- Paradigmas BigData: Arquitectura Lambda

Antes de comenzar dejar claro con qué queremos decir cuando hablamos de "Tiempo Real" en #bigdata :

Con Tiempo Real nos referimos al procesamiento en streaming de datos en tiempo muy pequeños que permiten su tratamiento analítico (o de parte de ellos).

Una vez dicho esto, si alguien os dice que eso se hace instantáneamente, dudad hermanos.

He tocado alguna de las tecnologías que voy a comentar hoy, que creo que representan bien el escenario tecnológico de tratamiento de datos en Tiempo Real, aunque por supuesto hay muchas mas.

Flume

Allá por el año 2010 se Cloudera presentó Flume, programa para tratamiento e ingesta de datos masivo. Esto daba la posibilidad de crear desarrollos complejos que permitieran el tratamiento de datos masivos creados en Tiempo Real.

En Real Time se utiliza en la etapa de Obtención de Datos (para conectarnos a fuentes de datos Online).

Su arquitectura es sencilla, pues tiene tres componentes principales, muy configurables:

Source: Fuente de origen de los datos
Channel: la vía por donde se tratarán los datos
Sink: persistencia/movimiento de los datos

Flume es sencillito apriori, el problema es cuando quieres utilizarlo para obtener datos de manera paralela (o multiplexada) y además te ves en la necesidad de crear tus propios Sinks, o tus propios interceptores. Entonces la cosa cambia y hay que dedicarle algo más de tiempo.

Muy recomendada como ayuda|compañero|alternativa a herramientas como Kettle.

Kafka

Sencillamente es un servicio de commit log, particionado, replicado y distribuido.

En su arquitectura encontramos que disponemos de un modelo Productor/Consumidor, cuyos mensajes se pueden categorizar en algo llamado topics y que funciona como si fuera un cluster.

Se suele utilizar como gestor de colas.

Se utiliza en la etapa de Almacenamiento de Datos.


Storm

Es un sistema de computación distribuida y escalable para procesamiento de datos en Tiempo Real y realiza en Tiempo Real, aquello que el Hadoop|Spark realizan en Procesamiento Batch.

Se compone de tres elementos, englobados en Topology (cada nodo contiene spouts y bolts, y entre ellos hay streams de datos):

Spout: fuente de datos en stream. Simplemente lee los datos de la fuente de origen y los emite a modo de stream.
Bolt: es la unidad de proceso. Lee datos de múltiples streams, permitiendo el tratamiento de los datos y posibilitando emitir de nuevo streams.
Stream: es una secuencia de tuplas sin límites. Las tuplas pueden contener objetos serializables.

En Storm, tenemos tres demonios principales:

Nimbus: sería como el JobTracker en Hadoop
Supervisor: el TaskTracker de Hadoop
Topology: el Job de Hadoop

Hay mucha magia negra con esto y haré algún post técnico en el futuro.

Utilizado en la etapa de Análisis de Datos.

Por tanto, tendríamos un ejemplo de tecnologías en Tiempo Real utilizando tecnologías #bigdata :

Imaginemos que queremos capturar el Log de una web y tratarlo en tiempo real. Una arquitectura sería la siguiente:

Flume (vamos obteniendo datos de diversas fuentes) > Kafka (encolamos) > Storm (analizamos)

Nos vemos en la próxima ;)

You Might Also Like

1 comentarios

  1. Different sorts of rewards could be earned similar to present cards, computers, electronics or even money. For every spherical, a sure set of games is listed which the user must play find a way to} fulfill the eligibility standards. This 카지노사이트 is a recurring event and in case the user misses out on a leg, they'll attempt once more through the next game. It is crucial to know that the user must make model new} account find a way to} claim the bonus.

    ResponderEliminar

Sé respetuoso/a, en este blog caben todo tipo de opiniones con respeto y serenidad.

Contact Form :: (」゜ロ゜)」