CompressContent 프로세서
CompressContent 프로세서
이 문서는 Snowflake OpenFlow의 CompressContent 프로세서에 대한 참조 문서예요. FlowFile의 내용을 지정한 압축 알고리즘으로 압축하거나 해제하고, 그에 맞게 mime.type 속성을 갱신할 수 있어요.
출처: Snowflake 문서
본문
기능 — 일반 제공 (Generally Available)
Openflow Snowflake 배포는 AWS, Azure, GCP Commercial 리전의 모든 계정에서 사용할 수 있어요.
Openflow BYOC 배포는 AWS Commercial 리전의 모든 계정에서 사용할 수 있어요.
번들 (Bundle)
| 그룹 | NAR |
|---|---|
| org.apache.nifi | nifi-standard-nar |
설명 (Description)
사용자가 지정한 압축 알고리즘을 사용해 FlowFile의 내용을 압축하거나 해제하고, 그에 맞게 mime.type 속성을 갱신해요. 일반적인 패턴은 CompressContent 앞에 IdentifyMimeType을 두고 Mode='decompress' 및 Compression Format='use mime.type attribute'로 구성하는 거예요. 이렇게 사용하면 MIME 타입이 자동으로 감지되고 필요하면 데이터가 해제돼요. 해제가 필요 없다면 데이터는 'success' 관계로 전달돼요. 이 프로세서는 메모리를 매우 효율적으로 사용해서 힙 크기를 훨씬 넘는 대용량 객체도 일반적으로 처리 가능해요.
태그 (Tags)
brotli, bzip2, compress, content, decompress, deflate, gzip, lz4-framed, lzma, snappy, snappy framed, snappy-hadoop, xz-lzma2, zstd
입력 요구사항 (Input Requirement)
REQUIRED
민감한 동적 속성 지원 (Supports Sensitive Dynamic Properties)
아니요 (false)
속성 (Properties)
| 속성 | 설명 |
|---|---|
| Compression Format | 사용할 압축 형식이에요. 유효한 값: GZIP, Deflate, ZSTD, BZIP2, XZ-LZMA2, LZMA, Brotli, Snappy, Snappy Hadoop, Snappy Framed, LZ4-Framed |
| Compression Level | 사용할 압축 레벨이에요. gzip, deflate 또는 xz-lzma2 압축을 사용할 때만 유효해요. 값이 낮을수록 처리가 빠르지만 압축률은 떨어져요. 값 0은 gzip의 경우 압축 없음(단순 아카이빙), xz-lzma2의 경우 최소 압축을 의미해요. 레벨이 높을수록(예: xz-lzma/2의 레벨 7-9) 메모리 사용량이 크게 늘어날 수 있으므로 힙 크기에 주의해야 해요. |
| Mode | 프로세서가 내용을 압축할지 해제할지를 나타내요. 'compress' 또는 'decompress' 중 하나여야 해요. |
| Update Filename | true이면 데이터를 해제할 때 파일 확장자를 제거하고(확장자가 해당 압축 형식을 가리키는 경우에만), 데이터를 압축할 때는 적절한 확장자를 추가해요. |
관계 (Relationships)
| 이름 | 설명 |
|---|---|
| failure | 압축/해제에 실패한 FlowFile은 failure 관계로 전달돼요. |
| success | 압축 또는 해제에 성공한 FlowFile은 success 관계로 전달돼요. |
기록하는 속성 (Writes attributes)
| 이름 | 설명 |
|---|---|
| mime.type | Mode 속성이 compress면 적절한 MIME 타입이 설정돼요. Mode 속성이 decompress이고 파일이 성공적으로 해제되면 MIME 타입을 더 이상 알 수 없으므로 이 속성은 제거돼요. |
사용 사례 (Use cases)
- FlowFile의 내용 압축
- FlowFile의 내용 해제
다른 구성 요소와 관련된 사용 사례 (Use Cases Involving Other Components)
- FlowFile이 압축되어 있는지 확인하고, 압축되어 있다면 해제해요.