NIFI

김은배·2024년 1월 23일
0

LLM 총정리

목록 보기
10/10
post-thumbnail

1. NIFI란?

- 데이터를 가져오고 처리한 후, 적재하기 위한 ETL(Extract-Transform-Load) Tools의 일종

- FBP(Flow Based Programming)을 구현한 분산환경에서 대량의 데이터를 수집 처리하는 오픈소스


- 실시간 처리에 매우 적합하며, 데이터 유실 없이 데이터 전송이 가능하다는 장점

2. NIFI의 구성 요소

- FlowFile: NIFI가 인식하는 데이터 단위
	- Content: 데이터의 내용 그 자체를 의미
    - Attribute: 데이터와 관련된 정보를 키/값 쌍으로 표현한 것 
    - Processor를 이동할 때 마다 복사본이 만들어져 추적 가능(내용복사X, 포인터 정보만 복사)

- Processor: FlowFile을 수집, 변형, 저장하는 기능 
	- 데이터 처리를 완료한 이후, 새로운 FlowFile을 생성 가능 
    - 여러 개의 Processor가 병렬적으로 동작 가능 
    - 150개가 넘는 Processor를 제공하고 확장 가능 
    
- Connection: Processor와 Processor를 연결하고 FlowFIle을 전달하는 기능 
	- FlowFile의 Queue(대기열)를 의미, 우선순위, 만료, 부하 조절 기능 제공
    
- Repository
	- FlowFile Repository: FlowFile이 생성되면 속성값과 내용 "위치" 저장 
    - Content Repository: FlowFile 내용 저장 
    - Provenance Repository: Processor가 처리될 떄마다 FlowFIle 이력이 남음
    
- FlowController
	- NIFI가 사용하는 스케줄러
    - 특정 간격 또는 Cron 표현식으로 스케줄링 가능
    - 클러스터 환경에서 동시에 실행되는 것을 막기 위해 Primary Node에서만 실행할 수 도 있음
    
    
    

    
profile
hello!

0개의 댓글