데이터 엔지니어링/Nifi
-
[Apache Nifi] RPG(Remote Processor Group)를 이용하여 모듈처럼 파이프 라인 관리하기, or site to site 구성하기데이터 엔지니어링/Nifi 2022. 6. 17. 10:48
RPG(Remote Processor Group)이란? Remote은 원격을 의미하며 원격에 있는 Processor Group을 조작 할 수 있다는 것입니다. site to site 다른 서버에 flowfile을 보내서 사용도 가능하며, localhost를 연결하여 flowfile을 보낼 수도 있습니다. 그래서 이를 응용하여 이용할 수도 있는데, 예를 들어 nifi를 구성하다 보면 하나의 특정 기능을 하는 processor group으로 만들어 사용하는 경우가 많은데, 서비스가 커지면서 이 processor group을 연결하는 Connector가 많아지면 너무 복잡하게 processor group을 실행하는 것 처럼 보일 수 있어 너무 어지럽고 플로우 파악도 잘 안되는 경우가 있어 remote proc..
-
[Apache Nifi] Parameter Context를 설정하여 전역 변수처럼 변수들 사용하기데이터 엔지니어링/Nifi 2022. 5. 26. 14:12
nifi - Parameter Context에 대해 알아보자, Parameter Context를 사용하면 Context(문맥)에 맞게 지역, 전역으로 값을 할당하여 동일한 값을 매칭 하는게 가능하다. 순서 Parameter Context 생성 방법 Parameter Context 설정의 이해 settings parameter inheritance Parameter Context 설정법 Parameter Context 적용 되었는지 테스트 Parameter Context 생성 방법 먼저 nifi화면을 보면 오른쪽 위에 메뉴바가 있음 - 메뉴바를 클릭 아래와 같은 팝업창이 뜨게 되는데 Parameter Contexts를 클릭하면 Parameter Context를 설정하거나 설정된 Parameter Conte..
-
[Apache Nifi]ListenHttp 프로세서 알아보기데이터 엔지니어링/Nifi 2022. 5. 26. 13:41
ListenHttp란? Listen = 듣다, Http = 웹 프로토콜 → 즉, http가 호출 되는지 듣는 Processor이다. ListenHttp Processor를 활용하면, http에 보내준 xml, json데이터를 활용하여 다른 Processor들이나 로직을 실행 시킬 수 있다. 준비 사항 먼저 열려져있는 ip주소가 있어야함(자기자신 주소(ip나 도메인)로 설정하면 됨) ListenHttp에서 사용할 Port가 있어야함 실행 순서 ListenHttp 프로세서 만들기 ListenHttp 프로세서 properties(주소명칭, 포트번호)를 설정 실행 내용 테스트 해보기 1. ListenHttp 프로세서 만들기 2. ListenHttp 프로세서 properties(주소명칭, 포트번호)를 설정 1번은..
-
[Apache NIFi] Template을 이용하여 작업한 패턴 백업하고 사용하기데이터 엔지니어링/Nifi 2022. 5. 21. 17:41
테스트 서버에서 만들어 놓은 것을 옮기는 작업이 필요한 경우가 있음 그런 경우를 대비하여 두번 작업하지 않게 백업을 하는 경우와 작업한 것을 template으로 만드는 것을 해볼 것임 목차 선행 내용 - 작업한 Processor들 Processor그룹들이 있어야함 만들어 놓은 processor들 template으로 저장하기 저장한 내용 확인 저장한 내용 다운로드 다운로드한 template 다른 nifi에 등록하기 등록한 template 사용하기 만들어 놓은 Processor들 template으로 저장하기 왼쪽 에 create Template 아이콘 클릭 그럼 아래와 같은 창이 뜨는 데 name은 필수로 작성하여야 함 작성하고 create 저장한 내용 확인 하기 오름쪽 메뉴 아이콘 → templates 클..
-
[Apache NIFI] ExecuteStreamCommand Processor 알아보기(Flow 도중 Bash, Script NIFI에서 실행하기)데이터 엔지니어링/Nifi 2022. 5. 7. 14:45
ExecuteStreamCommand? Stream(Flow가 실행하는 중)도중에 Command(bash shell)라인 실행하는 프로세서임 nifi에서 해결할 수 없는 python, go , javascript등을 실행하게 도와주는 역할을 함 기본 적으로 실행하는 명령어는 bash로 되어있는데 #!/usr/bin/python3 ( = bash sheBang )를 이용하여 bash 내부가 python, go등으로 실행 할 수 있도록 환경 변경이 가능하기 때문 Processor를 생성을 하면 아래와 같은 모양을 가지며, Stream 도중에 발생하는 프로세스 이기 때문에 아래와 같이 꼭 선행 Processor relationship이 있어야 한다. Property 설정 하기 Command Arguments로..
-
[Apache NIFI]RouteOnAttribute Processor 알아보기데이터 엔지니어링/Nifi 2022. 4. 29. 23:32
안녕하세요 Processor중에 RouteOnAttribute를 알아보도록 하겠습니다. NIFI에 많은 Processor중에 RouteOnAttribute를 알아보는 이유는 RouteOnAttribute로 판단값에 따라 분류를 하기 때문입니다. 먼저 내용을 요약해 보면 아래와 같습니다. Route + On + Attribute = 노선 + 속성 Attribute는 nifi에서 쓰는 Key/Value를 나타내는 것 Route = 노선 → 분기를 나눠준다는 뜻(React router와 뜻 측면에서 똑같다고 보면됨 ) 즉, RouteOnAttribute란 속성값 조건을 넣을 수 있고, 그 조건에 맞는 분기를 다루게 해주는 Processor임 아래를 보면서 이해 하자. 정확히는 정규표현식이나 내장함수를 이용하여..
-
[Apache Nifi]FlowFile의 Attribute와 Content 알아보기데이터 엔지니어링/Nifi 2022. 4. 29. 22:56
NIFI 구성 요소은 FlowFile, Processor, Connection, Controller로 이루어 진다. 구성요소들을 다 알아야 하지만, 그중에 제일 중요한 FlowFile을 정확히 알아보면 좋을 것같아 포스팅하게 되었다. FlowFile이란? NiFi가 인식하는 데이터 단위이다. 프로세서들로 부터 오는 데이터 단위라고 봐도되고, 우리가 조작해야하는 데이터들 이라고 봐도 좋다. FlowFile의 구성요소는 Attribute와 Content가 있다. 이 부분을 정확히 알면 데이터를 잘 다룰 수 있다. FlowFile에서 중요한 요소인 Attribute와 Content를 정확히 알고 넘어가야한다. 구성요소 중에 Processor, Connector, FlowFile를 확인하며 작업을 하는데 이 부..
-
[Apache Nifi]DBConnector Controller 만들기(MySQL)데이터 엔지니어링/Nifi 2022. 4. 29. 22:30
목차 DBConnector란? JDBC설치하기 DBConnector Controller만들기 ExecuteSQLRecord 프로세서를 이용하여 데이터 추출해보기 1. DBConnector란? DB안에 데이터를 조작하기 위해서는 DB에 접근을 해야하는데, 접근을 하기 위해 저급언어를 사용해서 직접 접근하거나 매개체(JVM같은)를 활용하여 접근을 해야한다. 매개체를 사용하는 경우 DBConnector가 필요하다. Nifi는 apache재단 소속이기 때문에 java를 이용하고 있어 JVM Connector를 사용하기 위해서는 jdbc가 필요하다. JDBC는 각각의 DB제품회사 홈페이지에 제공하고 있으니, mssql은 microsoft mssql jdbc driver를 다운로드하고, mysql, oracle은 ..