Apache Nifi decompression



我是Apache NIFI的新手,并试图将流构建为POC。我需要你的指导。

我有一个压缩的"gz"文件说"样本.gz"包含一个文件说"sample_file"。我需要解压缩样本.gz文件并将"sample_file"存储在 hdfs 位置。

我正在使用GetFile处理器来获取示例.gz文件,在解压缩模式下使用CompressContent处理器来解压缩相同的文件,并使用PutHDFS处理器将解压缩的文件放在HDFS位置。

运行流程后,我发现原始样本.gz文件仅复制到 HDFS 位置,而我需要将sample_file复制到 gz 文件中。所以减压实际上对我不起作用。

我希望我能解释我面临的问题。如果我需要改变我的方法,请提出建议。

我使用相同的处理器序列,但PutHDFS更改为PutFile

GetFile --> CompressContent(decompress) --> PutFile

在 nifi v1.3.0 中,它工作正常。

唯一的注意事项:如果我将参数保留在 for CompressContent Update Filename = false,那么解压缩后 filename 属性与以前相同(sample.gz (。

但是内容是解压缩的。

因此,如果您对文件名有疑问,那么:

  1. 您可以通过在处理器中设置参数Update Filename = true来更改CompressContent在这种情况下,解压缩期间sample.gz将更改为sample
  2. 使用UpdateAttribute处理器更改filename属性

最新更新