-
Apache NiFi (아파치 나이파이) 란?The Apache Software Foundation/NiFi 2021. 2. 18. 22:35반응형
Apache NiFi 란?
홈페이지에 들어가면 처음 보이는 문구로 잘 표현되어져 있다.
An easy to use, powerful, and reliable system to process and distribute data.
-> "데이터를 가공하고, 분배하는것에 있어서 사용하기 쉽고, 강력하고, 안정적인 시스템이다."
일단은 위 문구 그대로 NiFi는 "데이터를 가공하고 분배해주는 시스템이다." 라고 가볍게 이해하자.
NiFi Origin
NiFi는 NiagaraFiles 줄임말로 미국국가안보국(NAS : National Security Agency)에서 처음 개발되었고 2014년 년 11월 NSA Technology Transfer Program을 통해 아파치 소프트웨어 재단 (ASF : The Apache Software Foundation)에 제출하여 아파치 인큐베이터(AIP : Apache Incubator Project)에 채택 되면서 세상에 알려지게 되었고 2015년 7월 AIP를 졸업하고 최상위 프로젝트로(TLP : Top-Level Project)에 포함되었다.
NiFi Architecture
기본적으로 NiFi는 자바 기반의 프로젝트이기 때문에 JVM(Java Virtual Machine)위에서 작동하고 JVM는 Host(사용자)의 OS(Operating System - ex) Window, Linux 등) 위에서 작동한다.
NiFi는 Web Server, Flow Controller, FlowFile Repository, Content Repository, Provenance Repository 로 구성되어 있다.
Web Server : NiFi의 HTTP 기반의 명령과 제어 API를 제공한다. 이 웹서버에서 데이터를 가공하고 분배하는 Flow를 만들게 된다.
Flow Controller : NiFi의 핵심적인 부분으로 실제로 데이터를 가공하고 분배하는 작업 영역이다.
FlowFile Repository : 현재 만들어진 FlowFile의 Meta Data가 저장되어있는 저장소
Content Repository : 과거 및 현재의 FlowFile의 Content Data가 저장되어 있는 저장소
Provenance Repository : FlowFile의 History Data가 저장되어 있는 저장소
NiFi Core Concepts
이 부분에 대해서는 실제로 작업하면서 좀 더 상세하게 알아가는게 좋을거 같다. 일단은 이런게 있다라는 정보만 알면 좋을거 같다.
FlowFile 시스템을 통해 이동하는 각 개체 FlowFile Processor 실제 작업을 수행하는 역활 Connection 프로세서 간의 실제 연결을 제공 Flow Controller 프로세서 간의 FlowFile 교환을 용이하게하는 브로커 역할 Process Group
입력 포트를 통해 데이터를 수신하고 출력 포트를 통해 데이터를 보낼 수있는 특정 프로세스 및 연결 집합 이론만으로는 이해가 잘 되지않기 떄문에 NiFi에 대한 설명은 여기까지하고 실제로 NiFi를 설치하여 사용해 보자.
<참고>
nifi.apache.org/nifi.apache.org/
ko.wikipedia.org/wiki/%EC%95%84%ED%8C%8C%EC%B9%98_%EB%82%98%EC%9D%B4%ED%8C%8C%EC%9D%B4
반응형'The Apache Software Foundation > NiFi' 카테고리의 다른 글
Apache NiFi 1.14.0 이상 버전 로그인 (https으로 변경) (2) 2022.03.15 Apache NiFi (아파치 나이파이) 설치 (OS - Mac) (1) 2021.04.19 Apache NiFi (아파치 나이파이) 설치 (OS - Window) (6) 2021.03.17