Apache NiFi: qué es y para qué sirve
Apache NiFi
¿Qué es?
Apache NiFi es una herramienta de código abierto para automatizar y gestionar el flujo de datos entre sistemas. Su rasgo distintivo es que el flujo se diseña de forma visual, arrastrando y conectando cajas en una interfaz web, sin escribir código. Nació en la NSA (con el nombre “Niagara Files”) y se liberó como proyecto Apache.
Está pensado para mover datos de un sitio a otro de forma fiable: capturarlos de una fuente, encaminarlos, transformarlos ligeramente por el camino y entregarlos a uno o varios destinos, con control del flujo en cada paso.
Cómo funciona
El modelo de NiFi se apoya en tres piezas:
- FlowFile: cada porción de dato que circula por el sistema, con su contenido y sus metadatos (atributos).
- Procesador: una caja que hace algo con los FlowFiles: leerlos de una fuente, transformarlos, enrutarlos según una condición o escribirlos en un destino. NiFi trae cientos de procesadores listos para usar.
- Conexión: los enlaces entre procesadores, que funcionan como colas con control de presión (back pressure) para que un cuello de botella no desborde el sistema.
NiFi garantiza la procedencia de los datos (data provenance): registra el recorrido completo de cada FlowFile, lo que permite auditar de dónde vino y por dónde pasó cada dato.
Para qué sirve
- Ingesta de datos desde fuentes muy diversas: ficheros, APIs, colas, bases de datos, sensores IoT.
- Enrutamiento y mediación: dirigir cada dato al destino adecuado según su contenido o sus atributos.
- Transformaciones ligeras en tránsito: cambios de formato, enriquecimiento, filtrado.
- Integración entre sistemas heterogéneos sin construir integraciones a medida para cada par.
NiFi encaja especialmente bien en la captura y el movimiento de datos; para el procesamiento analítico pesado se combina con otras piezas, por ejemplo entregando los datos a Apache Kafka para su distribución en streaming.
NiFi frente a otras herramientas de integración
NiFi no es un orquestador de tareas al estilo de Airflow o Prefect (que programan pipelines de trabajos), sino una herramienta de flujo de datos continuo orientada al movimiento y la mediación. Frente a un ETL clásico, su fuerte es la ingesta visual desde muchas fuentes y el control fino del flujo en tiempo real. Es habitual verlo como capa de ingesta que alimenta un pipeline posterior.
Más información
- Apache Kafka — la plataforma de streaming a la que NiFi suele entregar datos
- Data pipeline — el flujo de datos que NiFi ayuda a construir
- ETL — el patrón clásico de integración con el que se compara
- Airflow, Prefect, dbt, NiFi y Kafka: comparativa práctica — capítulo de la guía práctica de arquitectura de datos de Dataprix.
Para elegir entre las distintas herramientas de integración de datos, el directorio de software de integración de datos de Dataprix recoge fichas y análisis de cada opción.
Contenido elaborado con asistencia de inteligencia artificial — Equipo Editorial Dataprix. Verifica la información antes de tomar decisiones.