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 설치 및 구동
## 사전준비
tail /var/log/messages
mkdir -p /data/001_putfile
1. 프로세서를 생성
프로세서에서 마우스를 오버한 다음 빈 공간으로 드래그를 하면 프로세서를 추가할 수 있다.
2. 프로세서의 Type을 TailFile 로 지정한다.
ADD 버튼을 클릭한다.
TailFile 프로세서가 생성되었다.
3. TailFile 프로세서 속성을 설정한다.
TailFile 프로세서 우클릭 > Configure 클릭
PROPERTIES 탭 > File(s) to Tail 항목의 값을 /var/log/messages 로 설정해준다.
그리고 APPLY 버튼 클릭
TailFila 프로세서 생성이 완료되었다.
4. PutFile 프로세서 생성
PutFile을 선택한 뒤 ADD 버튼 클릭
PutFile 프로세서가 생성되었다.
5. PutFile 속성을 설정한다.
SETTINGS 탭 > Automatically Terminate Relationships 영역의 failure, success 를 체크하여 준다.
SCHEDULING 탭 > Run Schedule 값을 5 sec 로 설정한다.
PROPERTIES 탭 > Directory 값을 /data/001_putfile 로 설정한다.
APPLY 버튼을 클릭하여 프로세서 생성을 완료한다.
6. TailFile 프로세서와 PutFile 프로세서를 연결
TailFile 프로세서에 마우스를 오버하면 화살표 아이콘이 표시되는데 드래그하면서 PutFile 프로세서로 이동하면 연결(Connection)이 되면서 설정창이 표시된다.
현재 특별한 연결설정값은 없다. ADD 버튼 클릭
문제없이 연결이 되면 두 프로세서간 사이에 연결 객체가 표시된다.
7. 프로세서 구동
두개의 프로세서를 구동하도록 하자. 프로세서에서 우클릭 후 Start
녹색의 세모버튼이 표시가 되면 정상적으로 구동이 된것이다.
8. 테스트
리눅스의 logger 명령어를 실행하여 /var/log/messages 에 파일내용을 추가해보도록 하자.
logger TailFile Test Logging `date`
tail -f /var/log/messages
파일생성확인
cd /data/001_putfile
ll
cat messages.4729-4806
## 에필로그
Nifi를 이용하면 진짜 간편하고 빠르게 데이터를 이관할 수 있다.
프로세서의 유형(Type)이 288개나 되고 Web UI 지원도 되고.. Nifi를 공부하면 활용할 수 있을곳이 정말 많을 것 같다.
프로젝트를 수행하면서 JAVA로 간단한 ETL 프로그램을 많이 개발해 보았으나 Nifi 가 진짜 막강한듯하다.
<끄읕>
'ETL > Nifi' 카테고리의 다른 글
Nifi 설치 및 구동 (0) | 2020.12.25 |
---|---|
Nifi 는 무엇인가?? (0) | 2020.12.11 |