1.개요
- Apache 오픈소스
- 분산 환경에서 대량의 데이터를 수집, 처리 기능
- FBP(flow-based programming) 개념
2. 장점
- 실시간 처리에 강점을 가짐,특정 디렉토리에 파일이 생성되면 바로 DB에 저장할수도 FTP에 전송 할수 있음.
- 장애시 복구될때가지 데이터 처리를 못할수는 있어도 잃어버리지는 않음.
- Zero Master 클러스터 환경 제공
- https지원 하여 보안에 좋음
- 직관적 인터페이스 (사용하기 쉬움)
- 이동경로 추적가능
- 클러스터간 Site-to-Site를 이용해 데이터 교환 가능
3. 단점
- 배치 작업 부적합 (배치 작업은 DistCP가 더좋음)
- 복잡한 연산 힘듬
4. 요소
- FlowFile
- 데이터 단위
- 속성(Attribute), 내용(Content) 구성
- 속성은 키/값 형태로 데이터의 이동 및 저장시 필요한 정보 포함
- FlowFile Repository : 속성값과 내용이 어디 있는지 저장
- ContentRepository : 내용 저장
- Provenance Repository : 이력 저장
- Processor
- FlowFile을 수집, 변형, 저장 기능
- 150개 이상의 Processor 제공
- 자주쓰는 프로세서 : http. Kafka, DB, FTP
- 자주쓰는 기능 : 속성변경(UpdataAttribute), 데이터합치기(MergeContent), 데이터분할(Split*), 데이터타입 변경Convert*)
- Connection
- Processor 와 Processor를 연결하여 FlowFile 전달
- Flow의 대기열(Queue)
- 우선순위, 만료, 부하 조절 기능 제공