Apache Flume - Introducción
¿Qué es Flume?
Apache Flume es una herramienta / servicio / mecanismo de ingesta de datos para recopilar, agregar y transportar grandes cantidades de datos de transmisión, como archivos de registro, eventos (etc.) de varias fuentes a un almacén de datos centralizado.
Flume es una herramienta altamente confiable, distribuida y configurable. Está diseñado principalmente para copiar datos de transmisión (datos de registro) de varios servidores web a HDFS.
Aplicaciones de Flume
Suponga que una aplicación web de comercio electrónico desea analizar el comportamiento del cliente de una región en particular. Para hacerlo, necesitarían mover los datos de registro disponibles a Hadoop para su análisis. Aquí, Apache Flume viene a nuestro rescate.
Flume se utiliza para mover los datos de registro generados por los servidores de aplicaciones a HDFS a mayor velocidad.
Ventajas de Flume
Estas son las ventajas de usar Flume:
Usando Apache Flume podemos almacenar los datos en cualquiera de las tiendas centralizadas (HBase, HDFS).
Cuando la tasa de datos entrantes excede la tasa a la que se pueden escribir datos en el destino, Flume actúa como mediador entre los productores de datos y los almacenes centralizados y proporciona un flujo constante de datos entre ellos.
Flume proporciona la característica de contextual routing.
Las transacciones en Flume se basan en canales donde se mantienen dos transacciones (un remitente y un receptor) para cada mensaje. Garantiza la entrega de mensajes confiable.
Flume es confiable, tolerante a fallas, escalable, manejable y personalizable.
Características de Flume
Algunas de las características notables de Flume son las siguientes:
Flume ingiere datos de registro de varios servidores web en un almacén centralizado (HDFS, HBase) de manera eficiente.
Con Flume, podemos obtener los datos de varios servidores inmediatamente en Hadoop.
Junto con los archivos de registro, Flume también se utiliza para importar grandes volúmenes de datos de eventos producidos por sitios de redes sociales como Facebook y Twitter, y sitios web de comercio electrónico como Amazon y Flipkart.
Flume admite un gran conjunto de tipos de fuentes y destinos.
Flume admite flujos de múltiples saltos, flujos de entrada y salida, enrutamiento contextual, etc.
El canal se puede escalar horizontalmente.