ChunkRecordText
ChunkRecordText
텍스트를 청크(chunk)로 나누는 프로세서예요. 구분자(delimiter)와 최대 문자 길이로 재귀적으로 분할하는 옵션을 제공해요. 입력 텍스트는 구성된 Record Reader 형식과 일치하는 레코드 지향 FlowFile이어야 해요.
본문
번들 (Bundle)
com.snowflake.openflow.runtime | runtime-chunking-nar
설명
구분자로 재귀적으로 분할하고 최대 문자 길이를 적용하는 옵션과 함께 텍스트를 청크로 나눠요. 입력 텍스트는 구성된 Record Reader 형식과 일치하는 레코드 지향 FlowFile일 것으로 기대해요.
태그
chunk, openflow, text
입력 요구 사항 (Input Requirement)
REQUIRED — 입력 FlowFile이 필요해요.
민감한 동적 속성 지원 (Supports Sensitive Dynamic Properties)
false — 지원하지 않아요.
속성 (Properties)
| 속성 | 설명 |
|---|---|
| Chunk Count Field Name | 원본 레코드에서 만들어진 총 청크 수를 기록할 레코드의 필드 이름이에요. |
| Chunk Delimiters | 문자 시퀀스의 쉼표로 구분된 목록을 지정해요. 메타 문자 \n, \r, \t는 자동으로 이스케이프 해제돼요. 구분자는 텍스트를 청크로 나누기 위해 순서대로 재귀적으로 적용돼요. |
| Chunk Index Field Name | 청크 인덱스를 기록할 레코드의 필드 이름이에요. |
| Chunk Overlap | 앞뒤 청크에서 포함할 최대 문자 수예요. |
| Chunking Strategy | 텍스트를 청크하는 전략이에요. 'Recursive Delimiters'는 문자 분할 알고리즘에 의한 재귀 분할에 따라 텍스트를 청크로 나눠요. 이 알고리즘에서 입력 텍스트는 첫 번째 구분자로 분할되고 'Max Chunk Length'를 초과하지 않는 청크로 다시 합쳐져요. 'Max Chunk Length'를 초과하는 분할은 다음 구분자를 사용해 재귀적으로 분할돼요. 'Max Chunk Length'는 'Max Chunk Length' 크기의 청크를 만들어 텍스트를 청크로 나눠요. |
| Language | 문장 파싱에 사용할 언어예요. |
| Max Chunk Length | 출력 청크에 포함할 최대 문자 수예요. 너무 크게 설정하면 메모리 부족 오류가 날 수 있어요. |
| Record Reader | FlowFile을 읽는 데 사용할 Record Reader예요. |
| Record Writer | 결과를 쓰는 데 사용할 Record Writer예요. |
| Sentence Similarity Threshold | 두 문장이 같은 청크를 차지할 만큼 비슷한지 판단하는 임계값이에요. 1.0은 문장이 동일함을, 0.0은 완전히 다름을 뜻해요. |
| Text Record Path | 레코드에서 텍스트 필드로 가는 레코드 경로예요. |
| Trim Whitespace | 출력 텍스트 청크 주변의 공백을 제거해요. |
관계 (Relationships)
| 이름 | 설명 |
|---|---|
original |
입력 FlowFile이 original 관계로 라우팅돼요. |
success |
텍스트 청크가 success 관계로 라우팅돼요. |
기록하는 속성 (Writes attributes)
| 이름 | 설명 |
|---|---|
chunk.strategy |
텍스트를 청크하는 데 사용한 전략이에요. Max Chunk Length, Recursive Delimiters, Sentence, Semantic 중 하나예요. |
chunk.semantic.threshold |
두 문장이 같은 청크를 차지할 만큼 비슷한지 판단하는 임계값이에요. 'Semantic' 청킹 전략을 사용할 때만 추가돼요. |
chunk.language |
문장 파싱에 사용한 언어예요. 'Sentence' 또는 'Semantic' 청킹 전략을 사용할 때만 추가돼요. |
chunk.delimiters |
텍스트를 청크하는 데 사용한 구분자의 쉼표로 구분된 목록이에요. 'Recursive Delimiters' 청킹 전략을 사용할 때만 추가돼요. |
chunk.max.chars |
각 청크에 포함할 최대 문자 수예요. |
더 알아보기 (Learn more)
- OpenFlow 프로세서 목록 — OpenFlow 구성 요소 살펴보기