상세 컨텐츠

본문 제목

[2020-03-24] 아파치 나이파이(Apache nifi)이용 DB 1:1 데이터 이동

System/작업LOG

by 클리엘 클리엘 2020. 4. 9. 11:07

본문

728x90

1. 시나리오

 

mariaDB의 Order 테이블에 있는 데이터를 모두 긁어와 MSSQL DB에 있는 myOrder 테이블에 그대로 넣는다. 테이블명만 다르고 칼럼명과 데이터 타입은 같다. (단 mariaDB의 bigint는 MSSQL의 int로 정한다.)

 

2. ExcuteSQL

 

ExcuteSQL Processor를 생성하고 다음과 같이 설정한다.

 

MariaDBConnection과 관련해서는 다음글을 참고한다.

2020/03/17 - [System/작업LOG] - [2020-03-17] 아파치 나이 파이(Apache nifi) 이용 MariaDB연결

불러오는 중입니다...

SQL select Query에 가져올 쿼리를 지정한다.

 

3. PutDatabaseRecord

 

PutDatabaseRecord Processor를 생성하고 다음과 같이 설정한다.

 

ExcuteSQL은 실행하면 Avro타입의 데이터를 생성하므로 Record Reader에 AvroReader을 설정한다.

 

데이터를 가져와 그대로 넣을 것이므로 Statement Type을 INSERT로 하고 Database Connection Pooling Service에 MSSQLDBConnection을 지정한다. MSSQLDBConnection에 관해서는 다음글을 참고한다.

 

2020/03/17 - [System/작업LOG] - [2020-03-17] 아파치 나이 파이(Apache nifi) 이용 MSSQL연결

불러오는 중입니다...

4. 생성한 2개의 Processor를 연결하고 실행

 

728x90

관련글 더보기

댓글 영역

  • 프로필 사진
    2021.01.22 12:58
    안녕하세요 혹시 컬럼이 프라이머리키로 되있어서 duplication 에러가발생하더라고요혹시해결방법이없을까요..감사합니다!!
    • 프로필 사진
      2021.01.22 13:12 신고
      해당 컬럼이 키로 잡혀있다면 명확한데요. 키를 없애거나 중복되는 값을 제거해야지 않을까요? 아시는 바와 같이 키는 중복값을 가질 수 없습니다.
  • 프로필 사진
    2021.03.26 19:23
    avroreader 하면 controler service를 구성해야하는데 어떻게 하셨나요?