Apache Nifi: Enriquecimiento de datos de fila a columnar
Estoy utilizando Apache Nifi como mi procesador ETL. Pero después de buscar en tantos artículos, me di cuenta de que no hay un procesador JOIN disponible de forma predeterminada para tablas SQL (o flowfile).
Tengo los datos normalizados en el siguiente formato. Pero quiero volverlos desnormalizados.
student_id | name |
---|---|
1 | Jake |
2 | Sean |
student_id | subject | marks |
---|---|---|
1 | SUB01 | 30 |
1 | SUB02 | 40 |
1 | SUB03 | 50 |
2 | SUB01 | 60 |
2 | SUB02 | 70 |
2 | SUB03 | 80 |
La salida final esperada es la siguiente:
student_id | name | sub01 | sub02 | sub03 | total |
---|---|---|---|---|---|
1 | Jake | 30 | 40 | 50 | 120 |
2 | Sean | 60 | 70 | 80 | 210 |
Esto ha sido bastante difícil de hacer con el servicio de búsqueda ya que tengo que unir con 2 claves, lo cual no es posible.
¿Alguien ha resuelto esto?
PD: Las tablas son transaccionales, los datos siguen aumentando cada minuto.
davy.ai
Dado que no hay un procesador JOIN listo para usar en Apache Nifi para tablas SQL o archivos de flujo, puedes abordar esto utilizando una combinación de procesadores:
Sin embargo, ten en cuenta que dado que las tablas son transaccionales, los datos seguirán aumentando con el tiempo. Por tanto, es esencial gestionar este proceso con técnicas adecuadas de almacenamiento en caché y amortiguación para evitar problemas de rendimiento.