Apache Flume: Introducción

Última actualización: 04/10/2020

En esta entrada realizamos una introducción a Apache Flume y repasamos sus aspectos clave. En qué consiste esta herramienta de ingesta Big Data y su arquitectura.

Que es Apache Flume

Aspectos clave

Apache Flume es una herramienta de software distribuida y open source. Se encarga de recopilar, agregar y mover datos desde diversas fuentes hasta almacenamientos de datos.

En el esquema podemos observar que el agente de Flume se compone de tres piezas: Source, Channel y Sink. Como ejemplo, los datos son recibidos en el sistema de un servidor web externo con la finalidad de escribirlos en HDFS (Hadoop Distributed File System) como almacenamiento persistente distribuido.

Componentes de Apache Flume

A continuación, listamos los componentes más importantes:

  • Evento: Son las unidades de datos transportadas por el agente de Flume. Implementado como un array de bytes.
  • Agente: Contenedor para alojar subcomponentes que permiten mover los eventos.
  • Source: Receptor de eventos
  • Interceptor: Transformador de eventos
  • Channel: Buffer de eventos
  • Sink: Toma eventos del canal y los transmite hacia el siguiente componente
Esquema Apache Flume
Esquema de componentes de Apache Flume

Apache Flume proporciona componentes específicos que incluye en su distribución de modo nativo para interaccionar con otros sistemas. A continuación, se listan algunos de los más conocidos:

  • Source Spool-dir directory
  • Syslog Source
  • Apache Kafka Sink
  • Timestamp Interceptor
  • Morphline Interceptor

En Flume los mensajes pueden llegar duplicados pero nunca perderse. A esta propiedad o garantía de entrega se le denomina at-least-once delivery.

Preguntas Frecuentes Flume – FAQ

¿Para qué se usa Apache Flume?

Flume es una herramienta Big Data usada para mover y agregar datos desde diversas fuentes hacia almacenamientos de datos centralizados

¿Qué diferencias existen entre Apache Flume y Apache Kafka?

Aunque ambos sistemas son muy versátiles, Apache Kafka se usa más frecuentemente como broker de mensajería en streaming. Flume, por otra parte, se usa en entornos Hadoop y Big Data para ingestar y agregar grandes cantidades de datos hacia un almacenamiento centralizado.


A continuación el vídeo-resumen. ¡No te lo pierdas!


¡Echa un ojo a mi lista de reproducción de Big Data en Youtube!

Si te ayuda el contenido del blog, por favor considera unirte a la lista de correo para reconocer el trabajo!

Deja una respuesta