我是Apache的新手,并试图将流构建为POC。我也需要你的指导。
我有一个压缩的'gz‘文件,比如'sample.gz’,其中包含一个名为'sample_ file‘的文件。我需要解压缩sample.gz文件并将'sample_file‘存储在hdfs位置。
我使用GetFile处理器获取sample.gz文件,使用解压缩模式的CompressContent处理器解压缩相同的文件,使用PutHDFS处理器将解压缩文件放置在HDFS位置。
运行流程后,我可以发现原始的sample.gz文件只被复制到HDFS位置,而我需要在gz文件中复制sample_file。所以减压实际上对我没用。
我希望我能解释我面临的问题。如果我需要改变我的方法,请提出建议。
发布于 2017-06-20 13:25:05
我使用了相同的处理器序列,但将PutHDFS更改为PutFile。
GetFile --> CompressContent(decompress) --> PutFile在nifi v1.3.0中,它工作得很好。
唯一要注意的是:如果我将参数Update Filename = false保留为for CompressContent,那么filename属性在解压缩后与以前(sample.gz)保持不变。
但内容被解压缩了。
那么,如果您对文件名的问题是:
Update Filename = true处理器中设置参数CompressContent来更改。在这种情况下,sample.gz将在解压缩过程中更改为sample。UpdateAttribute处理器更改filename属性https://stackoverflow.com/questions/44652827
复制相似问题