Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Caminho absoluto do arquivo de fluxo Nifi

  • Parar o PutSQL processador e deixe os arquivos de fluxo na fila.
  • Depois de enfileirados, clique com o botão direito do mouse no success relacionamento
    entre UpdateAttribute e PutSQL e selecione List Queue .
  • Selecione qualquer arquivo de fluxo e navegue até os Attributes tab e veja se os atributos absolute.path e flowfilename existe e se
    existir, verifique se tem o valor esperado definido. No seu caso absolute.path deve ter o valor /path/in/nifi/node/to/file e flowfilename deve 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