sql >> Base de Datos >  >> RDS >> Mysql

Ruta absoluta del archivo de flujo Nifi

  • Detener el PutSQL procesador y deje que los archivos de flujo se pongan en cola.
  • Una vez que estén en cola, haga clic derecho en success relación
    entre UpdateAttribute y PutSQL y seleccione List Queue .
  • Seleccione cualquier archivo de flujo y navegue hasta Attributes pestaña y ver si los atributos absolute.path y flowfilename existe y si
    existen, verifique si tienen el valor esperado establecido. En tu caso absolute.path debe tener el valor /path/in/nifi/node/to/file y flowfilename debe 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