FlowFile 이란?
FlowFile은 크게 Attributes 및 Content로 나눌 수 있습니다. Attributes는 말 그대로 속성들을 의미하며, 이 속성들은 키-값으로 이루어져 있습니다. Content는 데이터 자체를 의미합니다.
예를 들어 HDFS 파일을 가져온다면 (GetHDFS Processor를 이용하여 가져온다면) FlowFile 속성(HDFS 파일 속성)과 데이터(HDFS 파일)를 FlowFile이라고 합니다.
Processor란 ?
FlowFile의 전송, 생성, 수신, 변화와 같은 과정들을 구현할 수 있는 중요 구성 요소입니다.
예를 들어 특정 HDFS 파일을 가져오고 싶다면, GetHDFS 라는 Processor를 통해 FlowFile 데이터를 가지고 올 수 있습니다.
JVM
Java Virtual Machine 으로, Nifi는 Java를 기반으로 수행됩니다.
Web Server
웹 서버를 통해 Nifi Web UI를 제공합니다.
(기본적으로 http://localhost:8080/nifi 와 같은 형태의 url을 제공합니다.)
Flow Controller
Processor들의 스케줄링 역할을 담당합니다.
- Processor 1 : 데이터를 저장, 수정, 조회 등의 작업을 수행하는 하나의 작업 단위라고 할 수 있습니다.
- Extension N : 사용자가 직접 Processor를 커스터마이징하게 확장하여 제공할 수 있습니다.
FlowFile Repository
FlowFile 에 대한 속성값과 상태를 제공합니다.
Content Repository
FlowFile의 데이터가 저장 되는 곳으로, 여러 디렉토리에 분산하여 저장할 수 있어 큰 용량의 데이터를 저장할 수 있습니다.
Provenance Repository
데이터 처리 단계에 따른 FlowFile 변화에 따른 데이터를 보관하는 곳 입니다.
Nifi 아키텍처에 대해 더 자세히 알고싶다면 다음의 URL들을 참고해주세요.
'Nifi' 카테고리의 다른 글
Nifi Processor 프로젝트 생성 및 배포 (feat. Maven) (0) | 2022.05.07 |
---|---|
Nifi Processor 생성 (0) | 2022.05.05 |
댓글