- Detener el
PutSQLprocesador y deje que los archivos de flujo se pongan en cola. - Una vez que estén en cola, haga clic derecho en
successrelación
entreUpdateAttributeyPutSQLy seleccioneList Queue. - Seleccione cualquier archivo de flujo y navegue hasta
Attributespestaña y ver si los atributosabsolute.pathyflowfilenameexiste y si
existen, verifique si tienen el valor esperado establecido. En tu casoabsolute.pathdebe tener el valor/path/in/nifi/node/to/fileyflowfilenamedebe tener el valor/data.csv
Pregunta para usted:¿Está configurando estos atributos usted mismo usando UpdateAttribute , la razón es que NiFi no genera un atributo llamado flowfilename , genera uno con el nombre filename .
Una cosa más, asegúrese de que el valor de absolute.path termina con un / al final o el valor de flowfilename comienza con / . De lo contrario, se agregarán y el resultado será /path/in/nifi/node/to/filedata.csv . Puedes probar el append función que sugirió @Mahendra, de lo contrario, simplemente puede usar ${absolute.path}/${flowfilename} .
Actualizar
Me acabo de dar cuenta de que absolute.path es un atributo central como filename , filesize , mime.type , etc. Algunos procesadores usan todos los atributos principales, mientras que otros usan muy pocos de los que se necesitan. GenerateTableFetch escribe absolute.path pero no establece nada para ello. Por eso tiene ./ que es el valor predeterminado.
Entonces, mi sugerencia para su enfoque de trabajo es que puede configurar/sobrescribir manualmente absolute.path atributo usando UpdateAttribute (al igual que ha sobrescrito filename ) y establezca el valor deseado que es /path/in/nifi/node/to/file