1. Docker-compose
1.1 파일(docker-compose.yml)을 생성함
Docker Compose 파일(docker-compose.yml)을 생성합니다. 이 파일은 NiFi와 PostgreSQL 컨테이너를 정의하고 구성하는 데 사용됩니다. Docker Compose 파일에 다음 내용을 추가하여 NiFi와 PostgreSQL 서비스를 정의합니다.
1.2 container를 시작함
Docker Compose 파일을 저장한 후, 해당 디렉토리로 이동하여 다음 명령을 실행하여 NiFi와 PostgreSQL 컨테이너를 시작합니다:
명령이 실행되면 NiFi와 PostgreSQL 컨테이너가 배포됩니다

2. NIFI 워크플로 생성
2.1 URL 링크 열기
2.2 워크플로 생성
- 캔버스에 `GetFile` 프로세서를 끌어다 놓다

- Processors가 추가함: getFile, PutDatabaseRecord, LogAttribute

2.3 Config getFile
이 프로세서를 구성하여 원하는 디렉토리에서 CSV 파일을 읽도록 합니다. 프로세서를 두 번 클릭합니다.
- 파일의 위지 (Input Directory): 파일을 가져올 디렉토리 경로를 지정합니다.
- 파일 필터 (File Filter): 파일 이름 패턴 또는 정규 표현식을 사용하여 파일을 필터링하는 기능을 제공합니다.
- 소스 파일 유지 (Keep Source file): 파일을 가져온 후에 소스 파일을 유지할지 삭제할지 여부를 결정합니다.

2.4 Config PutDatabaseRecord
- Record Reader: 들어오는 데이터 레코드를 읽고 데이테베이스에 쓰기 위해 사용되는 구성 요소입니다. 특정 형식: CSV,JSON,Avro 등.
- Database Type: 데이터를 쓸 데이터베이스의 유형을 지정하는 속성입니다. PostgresSQL, MySQL, Oracel, Microsoft SQL Server, Apache Cassandra, MongoDB.
- Statement Type: 데이터를 어떻게 처리할지를 선택합니다. Insert, Update, Delete.
- Database Connection Pooling Service: 테이터베이스 연결에 사용할 커넥션 풀링 서비스를 선택합니다.
- Table Name: 테이터를 삽입할 데이터 레코드의 개수를 지정합니다


- jar file (Postgres Driver)를 Docker에 북사

- Database Connection URL: 데이터베이스에 연결하기 위한 URL을 지정합니다.
- Database Driver Class Name: 사용할 데이터베이스 드라이버의 클래스 이름을 지정합니다.
- Database Driver Location: 사용할 데이터베이스 드라이버의 JAR 팔일의 위치.
- Database User: 데이터베이스에 연결할 사용자 이름을 지정함.
- Password: 데이터베이스 사용자의 비밀헌호를 입력합니다.

- Enable "Active"

Postgresql에 Table를 생성
Workflow를 시작함
- click to start the workflow
