Nifi ejemplos

Ejemplos de NIFInifi logo

 

Grabar en ficheros datos generados aleatoreamente

Genera secuencias de datos y las almacena en ficheros de una carpeta definida.

Prerequisitos

Definición de carpeta de salida
Se debe crear un directorio con permisos donde almacenar los datos generados

mkdir nifi_examples
chmod 777 nifi_examples
cd nifi_examples
mkdir generator_to_file
chmod 777 generator_to_file

Conexion entre procesos

nifi_generator_to_file

Detalle de procesos

GenerateFlowFile

nifi_config_generateFlowFile

PutFile

nifi_config_putfile

 

 

Transformar ficheros CSV  en JSON

Lee los ficheros CSV de una carpeta de entrada y los transforma en JSON en una carpeta de salida

Genera secuencias de datos y las almacena en ficheros de una carpeta definida.

Prerequisitos

Definición de carpeta de salida
Se debe crear un directorio con permisos donde almacenar

mkdir nifi_examples
chmod 777 nifi_examples
cd nifi_examples
mkdir in
mkdir out
chmod 777 in
chmod 777 out
cd in
vi personas.csv

Incluir el siguiente contenido en el fichero personas.csv

nombre, edad, salario
Pedro, 24, 21000
Maria, 26, 24000
Juan, 28, 25000
Luis, 35, 28000
Monica, 42, 30000
Rosa, 43, 25000
Susana, 45, 39000

 

Conexión entre procesos

Detalle de procesos

GetFile – Leer datos de directorio

GetFile

UpdateAttributes – Definir el nombre del esquema a utilizar

UpdateAttributes

ConvertRecord – Convertir de CSV a JSON

ConvertRecord

Crear dos flujos heredados de CSVReader y JsonRecordSetWriter y dentro de cada uno de ellos referenciar otro flujo en el que se defina el esquema de datos Avro, a continuación se detalla cada uno de ellos:

Demo CSVReader – Define la transformación de CSV a Avro

CSVReader

Demo AvroSchemaRegistry- Define el esquema a utilizar

AvroSchemaRegistry

{
    "name": "personas",
    "namespace": "nifi",
    "type": "record",
    "fields": [{
            "name": "nombre",
            "type": "string"
        },
        {
            "name": "edad",
            "type": "int"
        },
        {
            "name": "salario",
            "type": "int"
        }
    ]
}

Demo JsonRecordSetWriter – Define la transformación de Avro a JSON

JsonRecordSetWriter

Nota: Es necesario activar los flujos para su funcionamiento (botón rayo)

UpdateAttributes – Incluir la extensión al fichero a generar

UpdateAtributes2

PutFile – Escribir datos en directorio

PutFile

Fuente aux: Expresiones regulares para NIFI

Otros artículos que pueden ser de interés:

Autor: Diego Calvo