2017-06-20 129 views
1

我是Apache NIFI的新手,並嘗試將流構建爲POC。我需要你的指導。Apache Nifi解壓縮

我有一個壓縮'gz'文件說'sample.gz'包含一個文件說'sample_file'。 我需要解壓縮sample.gz文件並將'sample_file'存儲在hdfs位置。

我正在使用GetFile處理器獲取sample.gz文件,CompressContent處理器處於解壓縮模式以解壓縮同一文件,PutHDFS處理器將解壓縮文件放入HDFS位置。

運行流程後,我可以發現原始sample.gz文件只複製到HDFS位置,而我需要將sample_file複製到gz文件中。所以解壓縮實際上並不適合我。

我希望我能解釋我面臨的問題。如果我需要改變我的方法,請提出建議。

+0

是什麼nifi的你使用的版本? – daggett

回答

3

我使用了相同的處理器序列,但將PutHDFS更改爲PutFile

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

在nifi v1.3.0它工作正常。

唯一要注意的:如果我把參數Update Filename = false的爲CompressContent那麼filename屬性保留解壓後和以前一樣(sample.gz)。

但是內容被解壓。

所以,如果你對文件名,然後問題:

  1. 您可以通過在CompressContent處理器設置參數Update Filename = true改變。在這種情況下,解壓縮期間sample.gz將更改爲sample
  2. 使用UpdateAttribute處理器改變filename屬性
+0

感謝您的評論..它的工作.. –