본문 바로가기

Apache NiFi

Processor, Controller 생성하여 실행해보기 (변수 설정 포함)

 

 

 

Processor를 생성하고 sample.cvs 파일을 이동 시켜보는 작업을 진행해 보도록 하겠습니다.

 

 

 

 

 

 

 

⚙️ Processor 생성하기

 

1. NiFi 실행시켜 Processor 버튼을 드래그 하여 Processor를 생성한다.

 

 

 

2. Filter 부분에 생성할 Processor 명칭을 적어준다.

명칭을 적으면 검색이 자동으로 되는데 생성할 Processor명을 선택하고 'add'버튼을 눌러주면 생성이 된다.

 

 

 

 

3. Processor 이름 변경 및 설정을 할 수 있는 탭

 

 

 

4. 파일 수집 스케쥴을 설정할 수 있다.

 

Timer driven , CRON driven  형식으로 스케줄을 설정할 수 있다.

 

- Timer driven : 일 단위, 시 단위, 분 단위, 초 단위 스케줄 값을 설정하여 프로세스의 주기를 관리한다

- CRON driven : 년, 월, 일, 요일, 시, 분 단위의 스케쥴 값을 설정하여 프로세스의 주기를 관리한다.

 

 

 

 

5. 속성을 입력하여 지정할 수 있는 탭

굵은 글씨로 되어있는 부분은 필수로 값을 넣어주어야 한다.

 

- Input Directory :불러올 파일의 위치 경로

- File Filter : 불러올 파일명을 지정할 수 있다. 정규식 사용 가능 (예시: [^\.].*)

- Keep Source File : 파일 데이터를 불러온 후 원본 경로에서 불러온 파일 삭제 여부 선택 가

 

필수로 값을 넣어주어야 하는 속성값이 미입력되면 저렇게 느낌표가 뜬다.

 

 

 

 

6. Properties 탭에서 속성 추가하기

우측의 '+' 버튼을 클릭해서 속성명과 값 입력 해주면 된다.

예시로 속성명: data_creat_de / 값: ${now():format('yyyyMMdd')}

 

 

QueryRecord 프로세스에서 속성을 추가하였다.

속성명은 sql

값은 select rental_shp from flowfile

(flowfile이라는 테이블의 rental_shp 칼럼만 조회해서 값을 가져온다.)

 

 

 

 

 

 

 

 


 

 

 

 

 

⚙️ Controller 생성하는 작업

 

 

1. NiFi 실행 후 첫 화면에서 톱니바퀴 버튼 클릭

 

 

 

2. 맨 오른쪽의 '+' 버튼을 클릭한다.

 

 

 

 

3. 생성하고자 하는 컨트롤러의 이름을 검색하고 'add' 버튼을 눌러 생성한다.

 

 

 

 

4. 생성하면 이렇게 목록으로 보이는데, 톱니바퀴 버튼을 눌러서 속성을 지정할 수 있다.

 

 

 

 

 


 

 

 

 

⚙️ 변수 설정

 

 

 

 

1. 빈화면에서 마우스 우클릭하여 'Variables' 클릭

 

 

 

 

2. '+' 버튼을 클릭하여 변수명을 입력한다.

 

 

 

 

 

 

 

 


 

 

 

 

 

⚙️ 프로세스 실행시키는 작업

 

 

1. 연결하고자 하는 프로세스 가운데의 화살표 모양을 클릭

2. 연결대상이 되는 프로세스에 드래그 하여 연결한다.

3. 연결할 관계 체크 후 확인 버튼

 

 

 

4. 프로세스들의 속성을 설정을 하고, 연결을 해주면 프로세스의 상태가 변한다.

저렇게 분홍색 네모로 바뀌면 실행을 시킬 준비가 되었다는 것!

 

 

 

 

 

 

 

🔎 연습 과정

 

 

 

 

 

1. GetFile의 스케쥴링 탭에서 실행되는 스케줄을 30 min 으로 설정해 두었다.

(기본으로는 0 sec 으로 설정되어 있는데, 이대로 실행시키면 무한 반복이 된다.)

 

 

 

 

 

2. Record Reader와 Record Writer 생성해 둔 컨트롤러를 설정해 준다.

맨 오른쪽의 → 버튼을 누르면 컨트롤로 속성 화면이 보이는데, ⚡버튼을 눌러서 'Enable'상태 바꿔준다.

 

 

 

 

3. CalculateRecordSatats 프로세스 설정

 

 

 

 

 

 

4. PutFile 프로세스 설정

 

 

 

 

 

5. LogMessage 프로세스 설정

 

 

 

 

6. 프로세스들의 속성 설정을 모두 마치면, 시작될 프로세스를 선택하고 

왼쪽의 실행 버튼을 클릭한다.

 

 

 

7. 빈화면을 마우스 우클릭하여 'Refresh'를 눌러준다

그럼 연결된 부분에 success가 된다.

같은 작업을 계속 반복해서 해준다.

 

 

 

 

 

 

 

8. 연결된 프로세스를 끝까지 실행시키면, 설정된 파일위치에 cvs파일이 복사 붙여넣기 한 것처럼 옮겨진다.