첫번째로 같은 MySQL DB 스키마내에 다른 테이블에 적용
현재 Mysql test 데이터베이스 스키마안에 test라는 테이블에 4개의 row가 들어가있습니다.
첫번째로 bulk모드로 진행해보도록 하겠습니다.
connector 등록은 완료하였습니다.
connector 정보를 확인하기 위해서 명령을 날리도록 하겠습니다.
connector랑 tasks가 둘다 "running"으로 되있는것을 확인할 수 있습니다. 이제 broker에도 생겼는지 확인해보겠습니다. 과연....
broker에도 적용된거 확인
그럼 브로커에 쌓인 메세지들을 target지에 넣어보겠습니다.
테스트로 차례대로 진행할 목적으로 일단 첫번째로 같은 DB서버내에 다른 테이블에 적용해보도록 하겠습니다.
target 정보입니다. 이제 connector를 붙이는 진행을 해보도록 하겠습니다.
이와 같이 target_table에 YU_test 테이블에 데이터가 잘들어 왔습니다
일단 같은 DB내에는 성공을 했고...... 이제는 DB to DB로 target DB를 이기종 DB로 테스트
새로운 mysql container을 올렸고, schema 이름은 target으로 주었습니다.
위와 같이 다른 target DB로 잡아도 된다
일단, 이제 최종 목표인 Postgresql에도 적용해보도록 하자...! (postgresql 적용을 시킬려고 삽질을 1,2주 한거 같다....)
docker-compose에 postgresql를 추가시킨다음 컨테이너로 올렸습니다.
옵션을 따로 주어 yeon이라는 스키마로 진행하였습니다.
kafka connector 서버에서 rest api를 호출하여 붙었습니다.
따로 테이블 명을 주지않고 "auto.create"옵션을 줘서 없다면 create하게 하였습니다.
kafka topic에 지정되있는 토픽명으로 테이블이 생성
성공한줄 알았지만....
테이블을 찾을수 없다고 합니다..... 이유가 뭐야..... 도대체 왜......
라고 절망을 했을때 DBeaver로 붙어서 테이블 생성한후 해보라고 하였다
그래서 DBeaver로 붙은후 table생성후 jdbc sink connector로 붙으니깐 왠걸?? 된다!
차이점이 뭘까....?
차이점이라고 할수 있는 것은
첫번째 방법은 yeon이라는 스키마에 테이블을 만들었고, auto.create 옵션을 사용하였지만, 두번째 방법은 기존에 있던 스키마인 postgres에 test44라는 테이블을 생성후 적용을 한 방식이다.
흠.... 이부분에 관해서는 따로 connector 옵션을 하나하나 파면서 공부를 해야되겠다고 생각이 들었습니다.
결국... 드디어 성공... 이제 테스트 한 방식들을 가지고 side project로 진행중인 csv파일들을 밀어 넣고 kafka를 통해 target지에 밀어 넣는것을 해보도록 진행 해보겠습니다
'side-project' 카테고리의 다른 글
Gmarket 데이터 크롤링 ETL(2) - xcom 분기 수정 (0) | 2025.04.13 |
---|---|
Gmarket 데이터 크롤링 ETL(1) - airflow, hadoop (0) | 2025.04.10 |
Side-Project-kaggle data ETL(1) source-connector (0) | 2025.04.10 |