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)
  • 우선순위, 만료, 부하 조절 기능 제공