Ejemplos de NIFI
Grabar en ficheros datos generados aleatoreamente
Genera secuencias de datos y las almacena en ficheros de una carpeta definida.
- Tener instalada la Máquina Virtual HortonWorks DataFlow
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
Detalle de procesos
GenerateFlowFile
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.
- Tener instalada la Máquina Virtual HortonWorks DataFlow
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
UpdateAttributes – Definir el nombre del esquema a utilizar
ConvertRecord – Convertir de CSV a JSON
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
Demo AvroSchemaRegistry- Define el esquema a utilizar
{ "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
Nota: Es necesario activar los flujos para su funcionamiento (botón rayo)
UpdateAttributes – Incluir la extensión al fichero a generar
PutFile – Escribir datos en directorio
Fuente aux: Expresiones regulares para NIFI
0 comentarios