[S/W] [NiFi] NiFi를 활용하여 DB 내용 추출하기

김민성·2022년 10월 25일
0

NiFi 작업일지

목록 보기
3/6

[S/W][NiFi] NiFi를 활용해서 DB(Tibero)에 저장된 내용을 추출하기

<배경설명>

- DB(Tibero)에 저장된 5년치 데이터를 추출해야 함

- 해당 테이블은 편의상 'abcd', 'K1'이라는 날짜 칼럼을 가지고 있음

- 최초 Tibero Studio을 활용하여, 'Select' 및 'Fetch'를 진행하려 하였으나, Row의 수가 너무 많아 장시간이 소요됨.

- 그래서, NiFi를 통해서 SQL문을 던질수는 없을까 생각하다가, 찾아낸 방법임.

<세부 NiFi Processor>

- ExecuteSQL : SQL문 실행

SQL select query : SELECT * FROM <DB_TABLE> WHERE K1>=TO_DATE('202101010000','YYYYMMDDHH24MI')

[설명 : SQL 쿼리로 K1의 날짜가 2021년 1월 1일 이후인 값들을 선택함]

- ConvertAvroToJSON : SQL문 실행결과를 JSON파일로 변환

- UpdateAttribute : '파일명' 지정

filename : 'ABCD_2021.json' [설명 : 'ABCD_2021.json'으로 파일명 변경]

- PutFile : 파일 저장

<수행결과>

- Tibero Studio의 경우, Select문을 수행하고 Fetch한 다음에 Excel로 Export할 수 있어서 장기간이 소요됨.

- NiFi의 경우, 그나마 전체적인 프로세스 흐름을 파악하기 편하고 Tibero Studio에 비하면 빠르게 DB(Tibero)의 내용을 추출할 수 있었음.

- 단, 일단 해당 프로세스의 경우 한번만 수행하여야 하므로 'Run Once' option으로 수행함.

profile
맛소금토일

0개의 댓글