FetchDistributedMapCache 2025.10.9.21 — 분산 맵 캐시 가져오기 프로세서
FetchDistributedMapCache 2025.10.9.21 — 분산 맵 캐시 가져오기 프로세서
FetchDistributedMapCache 프로세서는 들어오는 각 FlowFile에 대해 FlowFile 속성에서 캐시 키를 계산하고, 각 키와 연결된 분산 맵 캐시(Distributed Map Cache)에서 값을 가져와요.
출처: Snowflake 문서
본문
기능 — 일반 공개 (Generally Available)
Openflow Snowflake 배포는 AWS, Azure, GCP의 상용 리전에서 모든 계정에 제공돼요.
Openflow BYOC 배포는 AWS의 상용 리전에서 모든 계정에 제공돼요.
Bundle
org.apache.nifi | nifi-standard-nar
Description
들어오는 각 FlowFile에 대해 FlowFile 속성에서 캐시 키를 계산하고, 각 키와 연결된 분산 맵 캐시에서 값을 가져와요. 대상 속성(destination attribute) 없이 구성되면 들어오는 FlowFile의 내용이 분산 맵 캐시에서 받은 이진 데이터로 대체돼요. 해당 키 아래에 저장된 값이 없으면 flow file은 'not-found'로 라우팅돼요. 참고로 이 프로세서는 대상에 배치하기 전에 항상 캐시된 전체 값을 메모리로 읽으려 시도해요. 캐시된 값이 매우 크면 이것은 잠재적으로 문제가 될 수 있어요.
Tags
cache, distributed, fetch, map
Input Requirement
REQUIRED
Supports Sensitive Dynamic Properties
false
Properties
| Property | Description |
|---|---|
| Cache Entry Identifier | 쉼표로 구분된 FlowFile 속성 목록 또는 Attribute Expression Language 문의 결과로, FlowFile에 대해 평가되어 중복을 식별하는 데 사용되는 값을 결정해요. 캐시되는 것이 바로 이 값들이에요. 참고: 'Put Cache Value In Attribute'가 지정되지 않은 경우 단 하나의 Cache Entry Identifier만 허용돼요. 여러 캐시 조회는 대상이 속성 집합일 때만 지원돼요 (명명 규칙을 포함한 자세한 내용은 'Put Cache Value In Attribute' 문서를 참조하세요) |
| Character Set | 캐시된 값이 인코딩된 문자 집합이에요. 속성으로 라우팅할 때만 사용돼요 |
| Distributed Cache Service | 캐시된 값을 가져오는 데 사용하는 Controller Service예요 |
| Max Length To Put In Attribute | 캐시 값을 FlowFile의 속성으로 라우팅할 때("Put Cache Value in attribute" 속성 설정) 속성 값에 넣는 문자 수는 최대 이 값이에요. 속성은 메모리에 유지되므로 큰 속성은 빠르게 메모리 부족 문제를 일으키기 때문에 중요해요. 출력이 이 값보다 길면 잘라서 맞추게 돼요. 가능하면 더 작게 설정하는 걸 고려해보세요 |
| Put Cache Value In Attribute | 설정하면 받은 캐시 값이 FlowFile의 내용 대신 FlowFile의 속성에 들어가요. 값을 넣을 속성 키는 이 속성의 값을 평가해서 결정돼요. 여러 Cache Entry Identifier가 선택되면 이 속성의 평가된 값 뒤에 마침표(.)와 캐시 엔트리 식별자의 이름을 붙여 여러 속성이 기록돼요 |
Relationships
| Name | Description |
|---|---|
| failure | 캐시와 통신할 수 없거나 캐시 엔트리가 비어 있는 것으로 평가되면 FlowFile이 불이익(penalized)을 받고 이 관계로 라우팅돼요 |
| not-found | FlowFile의 Cache Entry Identifier가 캐시에서 발견되지 않으면 이 관계로 라우팅돼요 |
| success | 캐시와 성공적으로 통신하면 이 관계로 라우팅돼요 |
Writes attributes
| Name | Description |
|---|---|
| user-defined | 'Put Cache Value In Attribute' 속성이 설정되면 그 값이 속성 키가 되고, 값은 분산 맵 캐시에서 온 응답이 돼요. 여러 캐시 엔트리 식별자가 선택되면 이 속성의 평가된 값 뒤에 마침표(.)와 캐시 엔트리 식별자의 이름을 붙여 여러 속성이 기록돼요. 예를 들어 Cache Entry Identifier 속성이 'id,name'으로, 사용자 정의 속성이 'fetched'로 설정되면 fetched.id와 fetched.name 두 속성이 각각의 값을 담고 기록돼요 |