NiFi는 NSA(National Security)에서 Apache에 기증한 DataflAgencyow 엔진입니다.
NiFi 장점
•Dataflow를 쉽게 개발할 수 있고, 시스템 간의 데이터 이동과 내용을 UI로 볼 수 있다
•실시간 데이터 전송에 필요한 기능 제공
•데이터 추적 가능
•오픈 소스
•여러 시스템 간 통신을 지원
•Multi-tenant( 여러 조직이 자원을 공유 ) 지원
NiFi 단점
•배치 작업을 잘 못함, 원본 소스의 파일들이 목적지에 잘 전달 되었는지 확인하기 힘듦
•현재 실행되는 내용을 확인할 수 없으며, 끝나고 성공 여부만 알 수 있음
•복잡한 연산을 잘 못하지만 Spark, Storm 등과 연동 가능
구성 요소
Processor
•특정 업무, 기능 단위로 묶은 것
•Input과 Output 포트를 제공해 Process Group간 데이터 이동이 가능
Connection
•Processor 간의 연결
•대기열, 라우팅, 처리량 제한, 우선순위 제어, 모니터링 등의 기능을 제공
FlowFile
•데이터를 표현하는 객체, 데이터 단위
•데이터와 데이터 속성으로 구성됨
•키/값 형태로 저장
•Processor를 이동할 때 마다 metadata를 복사해 추적이 가능
프로세스 연결 방법
프로세서의 중앙에 화살표 아이콘을 드래그 해서 다른 프로세스와 연결 할 수 있다
NiFi 아키텍처
•Web Server
HTTP 기반 요청 및 API 관리
HTTP 기반 요청 및 API 관리
•Flow Controller
Processor 작업 스케쥴러 역할 수행
Processor 작업 스케쥴러 역할 수행
•Extension
기본 제공 외 개발자가 Process를 개발해 확장 가능
기본 제공 외 개발자가 Process를 개발해 확장 가능
•FlowFile Repository
FlowFile의 속성과 상태값을 저장하는 곳
FlowFile의 속성과 상태값을 저장하는 곳
•Content Repository
FlowFile의 데이터가 저장되며, 용량이 큰 데이터를 저장할 수 있다
FlowFile의 데이터가 저장되며, 용량이 큰 데이터를 저장할 수 있다
•Provenance Repository
Processor가 처리될 때 마다 FlowFile의 이력이 저장되는 곳
Processor가 처리될 때 마다 FlowFile의 이력이 저장되는 곳
'Data & Database' 카테고리의 다른 글
Snowflake 개요 및 특징 (2) | 2023.11.19 |
---|---|
Chart.js로 데이터 시각화하기 (0) | 2023.11.15 |
Kafka와 Spark의 차이점 & 유사점 (0) | 2023.11.13 |
Spark의 개요 및 특징 (0) | 2023.11.11 |
Kafka 개요 및 특징 (0) | 2023.11.10 |