- Parar o
PutSQLprocessador e deixe os arquivos de fluxo na fila. - Depois de enfileirados, clique com o botão direito do mouse no
successrelacionamento
entreUpdateAttributeePutSQLe selecioneList Queue. - Selecione qualquer arquivo de fluxo e navegue até os
Attributestab e veja se os atributosabsolute.patheflowfilenameexiste e se
existir, verifique se tem o valor esperado definido. No seu casoabsolute.pathdeve ter o valor/path/in/nifi/node/to/fileeflowfilenamedeve ter o valor/data.csv
Pergunta para você:você está configurando esses atributos usando
UpdateAttribute , o motivo é que o NiFi não gera um atributo chamado flowfilename , ele gera um com o nome filename . Mais uma coisa, certifique-se de que o valor de
absolute.path termina com um / no final ou o valor de flowfilename começa com um / . Caso contrário, eles serão anexados e o resultado será /path/in/nifi/node/to/filedata.csv . Você pode tentar o append função que @Mahendra sugeriu, senão você pode simplesmente usar ${absolute.path}/${flowfilename} . Atualizar
Acabei de perceber que
absolute.path é um atributo central como filename , filesize , mime.type , etc. Alguns processadores usam todos os atributos principais, enquanto alguns usam muito poucos que são necessários. GenerateTableFetch escreve absolute.path mas não define nada para isso. É por isso que tem ./ que é o valor padrão. Portanto, minha sugestão para sua abordagem de trabalho é que você pode definir/substituir manualmente
absolute.path atributo usando UpdateAttribute (assim como você sobrescreveu filename ) e defina o valor desejado que é /path/in/nifi/node/to/file