본문 바로가기

ETL/Nifi

TailFile To PutFile 패턴 개발

728x90
반응형

SAM 파일에 추가되는 내용을 다른 파일로 생성해 보는 패턴을 개발해보자.

  • FileToFile
  • TailFile To PutFile

 

## 패턴

/var/log/messages 파일에 추가되는 내용을 /data/001_putfile/ 폴더에 생성

 

/var/log/messages 파일은 OS 및 OS에서 구동되는 application 의 이벤트/경고성 메세지를 기록하는 파일이다.

OS에 특정한 문제가 없는한 계속 존재하고 logger 명령어를 이용하여 쉽게 내용을 추가 할 수 있다.

 

## Nifi 설치 및 구동 방법은 포스팅 참고

2020/12/25 - [ETL/Nifi] - Nifi 설치 및 구동

 

Nifi 설치 및 구동

Nifi 를 설치하고 구동해 보도록하자. Nifi 설치 파일과 접속할 브라우져만 있으면 설치를 할 수 있다. ssh tool 은 당연히 필요하다.!! ## Nifi 설치환경 CentOS 7.6 OpenJDK 1.8 1. Nifi 설치파일 다운로드 htt..

wylee-developer.tistory.com

 

## 사전준비

tail /var/log/messages
mkdir -p /data/001_putfile

 

1. 프로세서를 생성

프로세서에서 마우스를 오버한 다음 빈 공간으로 드래그를 하면 프로세서를 추가할 수 있다.

[Nifi] 프로세서 생성방법

 

2. 프로세서의 Type을 TailFile 로 지정한다.

[Nifi] TailFile Type의 프로세서 생성

ADD 버튼을 클릭한다.

 

[Nifi] TailFile Type의 프로세서 생성완료

TailFile 프로세서가 생성되었다.

 

3. TailFile 프로세서 속성을 설정한다.

TailFile 프로세서 우클릭 > Configure 클릭

[Nifi] TailFile Type의 프로세서 설정방법

 

PROPERTIES 탭 > File(s) to Tail 항목의 값을 /var/log/messages 로 설정해준다.

[Nifi] TailFile Type의 Tail 파일위치 설정방법

그리고 APPLY 버튼 클릭

 

[Nifi] TailFile Type의 프로세서 설정완료

TailFila 프로세서 생성이 완료되었다.

 

4. PutFile 프로세서 생성

PutFile을 선택한 뒤 ADD 버튼 클릭

[Nifi] PutFile 프로세서 생성방법

 

PutFile 프로세서가 생성되었다.

[Nifi] PutFile 프로세서 생성완료

 

5. PutFile 속성을 설정한다.

SETTINGS 탭 > Automatically Terminate Relationships 영역의 failure, success 를 체크하여 준다.

[Nifi] PutFile 프로세서 설정 - SETTINGS

 

SCHEDULING 탭 > Run Schedule 값을 5 sec 로 설정한다.

[Nifi] PutFile 프로세서 설정 - SCHEDULING

 

PROPERTIES 탭 > Directory 값을 /data/001_putfile 로 설정한다.

[Nifi] PutFile 프로세서 설정 - PROPERTIES

 

APPLY 버튼을 클릭하여 프로세서 생성을 완료한다.

 

6. TailFile 프로세서와 PutFile 프로세서를 연결

TailFile 프로세서에 마우스를 오버하면 화살표 아이콘이 표시되는데 드래그하면서 PutFile 프로세서로 이동하면 연결(Connection)이 되면서 설정창이 표시된다.

[Nifi] 프로세서 연결방법

 

현재 특별한 연결설정값은 없다. ADD 버튼 클릭

[Nifi] 프로세서 연결 설정방법

 

문제없이 연결이 되면 두 프로세서간 사이에 연결 객체가 표시된다.

[Nifi] 프로세서 연결 생성완료

 

7. 프로세서 구동

두개의 프로세서를 구동하도록 하자. 프로세서에서 우클릭 후 Start

[Nifi] 프로세서 구동(Start) 방법

 

녹색의 세모버튼이 표시가 되면 정상적으로 구동이 된것이다.

[Nifi] 프로세서 상태확인

 

8. 테스트

리눅스의 logger 명령어를 실행하여 /var/log/messages 에 파일내용을 추가해보도록 하자.

logger TailFile Test Logging `date`
tail -f /var/log/messages

리눅스 명령어 logger 사용법

 

파일생성확인

cd /data/001_putfile
ll
cat messages.4729-4806

PutFile 프로세서를 이용하여 새로생성된 파일확인

 

## 에필로그

Nifi를 이용하면 진짜 간편하고 빠르게 데이터를 이관할 수 있다.

프로세서의 유형(Type)이 288개나 되고 Web UI 지원도 되고.. Nifi를 공부하면 활용할 수 있을곳이 정말 많을 것 같다.

프로젝트를 수행하면서 JAVA로 간단한 ETL 프로그램을 많이 개발해 보았으나 Nifi 가 진짜 막강한듯하다.

 

<끄읕>

 

728x90
반응형

'ETL > Nifi' 카테고리의 다른 글

Nifi 설치 및 구동  (0) 2020.12.25
Nifi 는 무엇인가??  (0) 2020.12.11