1편은 다음에....올리겠음...
https://www.youtube.com/watch?v=_SABMAiJ5Hg
GenerateFlowFile ( 임시 테스트 데이터를 만들어 사용할 때)
-> Properties -> Custom Text 에 데이터입력
UpdateAttribute (속성, query를 사용하기 위해서)
-> property 를 추가한다. -> Propeties -> schema.name 추가 -> 값은 hkschema 로 설정
데이터 베이스 쿼리로 데이터를 조작을 할 수 있다.
QueryRecord
CSV 파일을 SQL로 조작하려면, 다음 루틴을 따라야 한다.
1. Schema Access Strategy -> Use 'Schema Name' Property 를 사용해라.
2. Schema Name -> $(schema.name) => hkschema 가 들어감...
3. Schema Registry -> AvroSchemaRegistry 를 사용해야 함
4. Schema Text => 이건 버전에 따라 안보일수 있다. (1.23.2 로 실습중)
CSVReader는 컬럼헤더를 참조하기 위해서 AvroSchemaRegistry를 이용한다.
AvroSchemaRegistry 설정하기 위해서 아래 샘플 데이터를 사용한다.
CSVRecordSetWriter는
1. Schema Write Strategy : Set 'schema.name' Attribute
2. Schema Access Strategy : Use 'Schema Name' Property
3. Schema Registry : commonAvroSchemaRegistry
4. Propety 추가를 사용하여 필터를 생성
필터명 : hkfilter
SELECT * FROM FLOW_FILE
WHERE 1=1
AND CT_MGR IN ('HK')
필터명 : nonhkfilter
SELECT * FROM FLOW_FILE
WHERE 1=1
AND CT_MGR NOT IN ('HK')
5. LogAttribute 를 추가하여 로그를 출력함
------> 위 과정이 잘된건지 확인하기 위해서 사용함
로그를 확인하기 위해서, 서버에 접속해보자
1. docker exec -it nifi /bin/bash
2. cd $NIFI_HOME
3. cd logs
4. 확인할 파일은 nifi-app.log 다. vi 가 없으면 설치해야 함.
데이터 이관실습
실습목적 : 특정 디렉토리에 파일이 쌓이면, 이걸 읽어서 처리한다.
1. GetFile 프로세스를 추가하고, Input Directory 에 다음과 같이 설정함.
2. 샘플 데이터 파일을 위에 indata디렉토리에 넣음.
WSL2 에서 위 디렉토리의 경로는 아래와 같음.
\\wsl.localhost\docker-desktop-data\data\docker\volumes\nifi-root\_data\data\indata
데이터 파일의 내용은
CT_NO, CT_MGR
2023A001, HK
2023A002, DENNIS
2023A003, JENY
2023A004, ALICE
2023A005, JUSTINE
PutDatabaseRecord 추가
'BIG DATA > NiFi' 카테고리의 다른 글
Processor 목록 (0) | 2023.10.27 |
---|---|
FlowFile, Processor, Connection 개념 (0) | 2023.10.27 |
Zero Master Cluster 개념 (0) | 2023.10.27 |
Apache Nifi 설치하기 with Docker (0) | 2023.10.24 |
Apache Nifi 강의 모음 (0) | 2023.10.23 |
댓글