Skip to main content

ModifyCompression

Description

Changes the compression algorithm used to compress the contents of a FlowFile by decompressing the contents of FlowFiles using a user-specified compression algorithm and recompressing the contents using the specified compression format properties. This processor operates in a very memory efficient way so very large objects well beyond the heap size are generally fine to process

Tags

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

Properties

In the list below required Properties are shown with an asterisk (*). Other properties are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.

Display NameAPI NameDefault ValueAllowable ValuesDescription
Input Compression Strategy *Input Compression Strategyno compression
  • no compression
  • use mime.type attribute
  • gzip
  • deflate
  • bzip2
  • xz-lzma2
  • lzma
  • snappy
  • snappy-framed
  • lz4-framed
  • zstd
  • brotli
The strategy to use for decompressing input FlowFiles
Output Compression Strategy *Output Compression Strategyno compression
  • no compression
  • gzip
  • deflate
  • bzip2
  • xz-lzma2
  • lzma
  • snappy
  • snappy-hadoop
  • snappy-framed
  • lz4-framed
  • zstd
  • brotli
The strategy to use for compressing output FlowFiles
Output Compression Level *Output Compression Level1
  • 0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
The compression level for output FlowFiles for supported formats. A lower value results in faster processing but less compression; a value of 0 indicates no (that is, simple archiving) for gzip or minimal for xz-lzma2 compression. Higher levels can mean much larger memory usage such as the case with levels 7-9 for xz-lzma/2 so be careful relative to heap size.

This property is only considered if:
  • the property Output Compression Strategy has a value of zstd or use mime.type attribute or deflate or brotli or gzip or xz-lzma2
Output Filename Strategy *Output Filename StrategyUpdated
  • Original
  • Updated
Processing strategy for filename attribute on output FlowFiles

Dynamic Properties

This component does not support dynamic properties.

Relationships

NameDescription
failureFlowFiles will be transferred to the failure relationship on compression modification errors
successFlowFiles will be transferred to the success relationship on compression modification success

Reads Attributes

NameDescription
mime.typeIf the Decompression Format is set to 'use mime.type attribute', this attribute is used to determine the decompression type. Otherwise, this attribute is ignored.

Writes Attributes

NameDescription
mime.typeThe appropriate MIME Type is set based on the value of the Compression Format property. If the Compression Format is 'no compression' this attribute is removed as the MIME Type is no longer known.

State Management

This component does not store state.

Restricted

This component is not restricted.

Input Requirement

This component requires an incoming relationship.

System Resource Considerations

ScopeDescription
CPUAn instance of this component can cause high usage of this system resource. Multiple instances or high concurrency settings may result a degradation of performance.

See Also