Apache Nifi 解压
Posted
技术标签:
【中文标题】Apache Nifi 解压【英文标题】:Apache Nifi decompression 【发布时间】:2017-06-20 12:17:02 【问题描述】:我是 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 文件中。所以解压实际上对我不起作用。
我希望我能解释我所面临的问题。请建议我是否需要改变我的方法。
【问题讨论】:
你用的是什么版本的nifi? 【参考方案1】:我使用了相同的处理器序列,但将PutHDFS
更改为PutFile
。
GetFile --> CompressContent(decompress) --> PutFile
在 nifi v1.3.0 中运行良好。
唯一需要注意的是:如果我将参数Update Filename = false
保留为CompressContent
,那么在解压后filename
属性与之前一样(sample.gz
)。
但是内容是解压的。
所以,如果您对文件名有疑问:
-
您可以通过在
CompressContent
处理器中设置参数Update Filename = true
来更改。在这种情况下sample.gz
会在解压过程中变为sample
。
使用UpdateAttribute
处理器改变filename
属性
【讨论】:
以上是关于Apache Nifi 解压的主要内容,如果未能解决你的问题,请参考以下文章