Skip to content

Instantly share code, notes, and snippets.

@danatec1
danatec1 / 10. NiFi Controller Serivce.md
Created September 5, 2021 07:28 — forked from cheerupdi/10. NiFi Controller Serivce.md
10. NiFi Controller Serivce

NiFi Controller Service

각각의 목적이 다르기 때문에 프로퍼티는 제각각이나 같은 접속정보를 사용하는 PutSQL 프로세서를 여러개 사용한다고 해야한다고 가정해봅시다. 접속정보를 제외한 프로퍼티가 다르기 때문에 복사-붙여넣기로 대처하기도 상당히 난감한 상황입니다. 비슷한 프로세서들을 구성하는데에 있어 같은 접속정보를 여러번이나 입력해야 하는 수고를 거친다면 굉장히 소모적인 작업이 될 것입니다. 이러한 상황에 우아하게 대처하기 위해 NiFi 에서는 Controller Service를 제공합니다. 간단히 말해서 필요한 접속정보가 입력된 ConnectionPool 인스턴스를 생성하면 그 인스턴스가 허용되는 범위 내에서 인스턴스를 항상 가져다 쓸 수 있습니다. 이러한 역할이 Controller Service입니다. 주로 데이터베이스에 접속하기 위한 DBCP(Database Connection Pool) 혹은 인증과정을 거쳐야 하는 SSLContext 혹은 CSV파일을 변환할때 사용하는 CSVReader 등이 대표적인 Controller Service들중 하나입니다. NiFi에서는 1.9버전 기준으로 67개의 내장 Controller Service가 제공이 되며 사용자의 필요에 따라 새로운 Cuntroller Service를 개발하여 적용하고 사용할 수도 있습니다. Controller Service의 커스터마이징은 다음 공식문서 https://nifi.apache.org/docs/nifi-docs/html/developer-guide.html#controller-services 를 참조하십시오.

밑에는 예제가 되는 Controller Service를 만드는 과정을 보겠습니다.

★by SDI

DBCPConnectionPool

  1. Flow화면에서 오른쪽 마우스를 클릭하여 팝업메뉴를 열고 Configure을 클릭합시다.
@danatec1
danatec1 / testdana
Created November 17, 2019 11:16
Test 와 show
rrrrrr ttttt