Apache Nifi 2.x处理器:CompressContent 2.2.0

Apache Nifi 2.x处理器:CompressContent 2.2.0

经验文章nimo972025-03-08 14:02:5212A+A-


Bundle
org.apache.nifi | nifi--standard--nar

描述
使用用户指定的压缩算法对FlowFile内容进行压缩或解压缩,并更新mime.type属性。常用模式是在CompressContent前配置IdentifyMimeType处理器,并设置Mode='decompress'且Compression Format='use mime.type attribute'。此模式下,MIME类型会自动检测并按需解压数据。若无需解压,数据将直接通过success关系传递。本处理器内存效率极高,可处理远超堆内存大小的超大对象。

标签
brotli, bzip2, compress, content, decompress, deflate, gzip, lz4--framed, lzma, snappy, snappy framed, snappy--hadoop, xz--lzma2, zstd

输入要求
REQUIRED
支持敏感动态属性
false


属性配置

压缩格式

  • 显示名称:压缩格式
  • 描述:使用的压缩格式。有效值包括:GZIP、Deflate、ZSTD、BZIP2、XZ--LZMA2、LZMA、Brotli、Snappy、Snappy Hadoop、Snappy Framed、LZ4--Framed。
  • API名称:Compression Format
  • 默认值:use mime.type attribute
  • 允许值
    • use mime.type attribute
    • gzip
    • deflate
    • bzip2
    • xz-lzma2
    • lzma
    • snappy
    • snappy-hadoop
    • snappy framed
    • lz4-framed
    • zstd
    • brotli
  • 表达式语言支持:不支持
  • 敏感:false
  • 必填:true

压缩级别

  • 显示名称:压缩级别
  • 描述:压缩级别(仅适用于gzip、deflate或xz-lzma2)。数值越小处理越快但压缩率越低。0表示无压缩(gzip)或最小压缩(xz-lzma2)。高级别(如xz-lzma2的7-9级)可能导致内存占用激增,需谨慎设置。
  • API名称:Compression Level
  • 默认值:1
  • 允许值:0至9
  • 表达式语言支持:不支持
  • 敏感:false
  • 必填:true
  • 依赖条件
    • 压缩格式为zstd、use mime.type attribute、deflate、brotli、gzip或xz-lzma2
    • 模式为compress

模式

  • 显示名称:模式
  • 描述:指定处理器应压缩或解压缩内容。必须为compress或decompress。
  • API名称:Mode
  • 默认值:compress
  • 允许值:compress、decompress
  • 表达式语言支持:不支持
  • 敏感:false
  • 必填:true

更新文件名

  • 显示名称:更新文件名
  • 描述:若为true,解压时将删除文件名中表示压缩格式的扩展名,压缩时添加对应扩展名。
  • API名称:Update Filename
  • 默认值:false
  • 允许值:true、false
  • 表达式语言支持:不支持
  • 敏感:false
  • 必填:true

系统资源消耗

资源

描述

CPU

单个实例可能占用较高CPU资源。多实例或高并发设置可能导致性能下降。

内存

单个实例可能占用较高内存资源。多实例或高并发设置可能导致性能下降。


关系

名称

描述

success

压缩或解压成功的FlowFile将传输至此关系。

failure

压缩或解压失败的FlowFile将传输至此关系。


读取属性

属性名

描述

mime.type

若压缩格式设为use mime.type attribute,此属性用于确定压缩类型;否则忽略。


写入属性

属性名

描述

mime.type

若模式为compress,设置对应的MIME类型;若模式为decompress且解压成功,则移除此属性(因MIME类型不再明确)。


用例

压缩FlowFile内容

描述:压缩FlowFile内容。
配置

  1. 模式 = compress
  2. 压缩格式 = 指定需使用的压缩算法(如gzip)。

解压FlowFile内容

描述:解压FlowFile内容。
配置

  1. 模式 = decompress
  2. 压缩格式 = 指定原始压缩算法(如gzip)。

结合其他组件的用例

描述:检查FlowFile是否压缩,若压缩则解压。
步骤

  1. 使用IdentifyMimeType检测MIME类型。若内容未压缩,CompressContent将直接传递FlowFile至success。
  2. 将IdentifyMimeType的success关系连接至CompressContent。
  3. CompressContent配置
    • 模式 = decompress
    • 压缩格式 = use mime.type attribute
点击这里复制本文地址 以上内容由nimo97整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

尼墨宝库 © All Rights Reserved.  蜀ICP备2024111239号-7