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 解压的主要内容,如果未能解决你的问题,请参考以下文章

NIFI Apache NiFI 使用技巧

Apache Nifi 组件开发

Apache NiFi 概述

Apache NiFi系统管理员指南 [ 一 ]

Apache nifi 第二篇(小白初试) nifi数据对接流程初次尝试

Apache NiFi深度扩展