Nifi DB연결 및 SQL Processor (ExecuteSQL)

ExecuteSQL

  • DB에 연결해 SQL의 select 쿼리를 실행한다.
  • 쿼리의 결과는 Avro 형식으로 변환된다.
     Avro = schema + binary(json value)
  • 이 프로세서는 표준 스케줄링 방법을 사용하여 타이머 또는 cron 표현식에서 실행한다.

 

1. 우선 DB에 연결하기 위해서 Database Connection Pooling Service를 생성한다.

DBProperties

 - Create new Service 선택

 

 

addControllerService

 - Controller Service Name에 원하는 이름 작성

 

 

2. 생성한 DB Service 설정

설정화면으로 이동한다..!

DBsetting

 - 화살표 클릭하여 Configuration으로 이동

 

 

dbConfigurationSetting

 - 생성한 DB Service의 오른쪽 설정 모양 클릭 

 

 

ContrallerServiceDetails

  • Database Connetion URL : 데이터 베이스에 연결하는데 사용하는 URL을 작성
  • Database Driver Class Name : 데이터베이스 드라이버 클래스 이름 작성
  • Database Driver Location(s) : 드라이버 JAR가 있는 경로 작성
  • Database User : 데이터베이스 사용자 이름
  • Password : 데이터베이스 사용자 비밀번호

 

3. ExecuteSQL Processor 수정

이제 다시 ExecuteSQL Processor의 PROPERTIES를 수정하자

  • Database Connection Pooling Service : 아까 생성한 DB Service 선택
  • SQL select query : 실행할 SQL 작성

 

4. 크론탭(Crontab) 설정

스케줄을 설정해보자 나는 크론탭으로 할꺼당

 - CRON driven 선택

 

 

crontabsetting

 - Run Schedule에 시간 설정한다.

 

여기까지 설정하면 끝이다.

이후에는 failure, success의 흐름을 선택하고 만들어주면 경고 문구가 사라질것이다!