Apache Nifi 解压

SAR*_*OSH 2 compression apache-nifi

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

我有一个压缩的“gz”文件说“sample.gz”,其中包含一个说“sample_file”的文件。我需要解压缩 sample.gz 文件并将“sample_file”存储在 hdfs 位置。

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

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

我希望我能解释我面临的问题。请建议我是否需要改变我的方法。

dag*_*ett 5

我使用的处理器相同的序列,但改变 PutHDFSPutFile

GetFile --> CompressContent(decompress) --> PutFile
Run Code Online (Sandbox Code Playgroud)

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

唯一的注意事项:如果我保留参数Update Filename = falseforCompressContent那么filename解压后的属性保持不变(sample.gz)。

但是内容是解压的。

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

  1. 您可以通过Update Filename = trueCompressContent处理器中设置参数来更改。在这种情况下sample.gzsample在减压期间更改为。
  2. 使用UpdateAttribute处理器更改filename属性