Manual de Diseño y Desarrollo de Flujos con NiFi
Procesadores y Componentes
Los procesadores son las unidades fundamentales de trabajo en Apache NiFi. Cada procesador realiza una acción específica en el flujo de datos y se puede configurar para adaptarse a tus necesidades.
Tipos de Procesadores
- GetFile:
- Propósito: Lee archivos de un directorio local y los agrega al flujo.
- Configuración:
- Directorio: Ruta al directorio desde el que se leerán los archivos.
- Ejemplo:
- Configura el procesador para leer archivos desde
/ruta/entrada.
- PutDatabaseRecord:
- Propósito: Inserta, actualiza o elimina registros en una base de datos.
- Configuración:
- Controlador de Servicio de BD: Selecciona el controlador de base de datos.
- Consulta SQL: Define la consulta que interactuará con la base de datos.
- Ejemplo:
- Conecta NiFi a una base de datos MySQL y utiliza el procesador para insertar registros en una tabla "clientes".
- RouteText:
- Propósito: Enruta el flujo basado en contenido de texto.
- Configuración:
- Text: Contenido de texto en el flujo a evaluar.
- Ejemplo:
- Si el contenido contiene "URGENTE", enruta a la relación "urgente"; de lo contrario, a la relación "normal".
- MergeContent:
- Propósito: Combina múltiples flujos en uno.
- Configuración:
- Strategy: Estrategia de combinación (binario, demarcado, etc.).
- Ejemplo:
- Fusiona dos flujos: uno con datos CSV y otro con datos JSON.
Configuración y Uso de Procesadores
- Arrastra un procesador de la paleta y colócalo en el canvas.
- Doble clic en el procesador para abrir el panel de configuración.
- Ajusta las propiedades según sea necesario, como rutas de archivos, consultas SQL o patrones de enrutamiento.
- Conecta los procesadores arrastrando conexiones desde las relaciones de salida a las relaciones de entrada de otros procesadores.
Gestión de Flujo y Enrutamiento
Una gestión efectiva del flujo y el enrutamiento en NiFi permite un control preciso sobre cómo los datos se mueven y se direccionan a través del sistema.
Enrutamiento Condicional
- Utiliza el procesador "RouteText" para evaluar contenido de texto.
- Configuración:
- Text: Define el contenido de texto en el flujo a evaluar.
- Expression Language: Utiliza expresiones regulares o condiciones para evaluar el contenido.
- Establece relaciones de salida basadas en los resultados de la evaluación.
Estrategias de Manejo de Errores