TALEND

[TALEND] 동시에 두 개 이상의 테이블에 데이터 이관하는 방법

escaper101 2020. 3. 30. 15:58

이번 포스팅에서는 서로 다른 DB의 데이터를 이관할 때 하나의 input에서 두 개의 output 테이블에 데이터를 동시에 이관하는 방법을 알아본다. 

 

1. 우선 적당한 이름의 Job을 생성한다. 

신규 Job 생성

2. 이관 대상 데이터를 가진 Input DB와 데이터를 이관할 대상 테이블들을 팔레트에 생성한다.

-> tDBInput과 tDBOutput 컴포넌트를 사용하여 Oracle DB의 JOBS라는 테이블의 데이터를 MySQL의 Jobs_temp와 jobs_temp_2 테이블에 이관할 예정

팔레트에 DB 컴포넌트 생성

3. tMap 컴포넌트를 생성하여 세 개의 테이블을 이어준다. 

-> 하나의 Input DB로부터 Main row를 생성하여 tMap을 통해 매핑한 후 out1, out2 row를 통해 각각 이관 대상 테이블에 연결한다. 

tMap으로 연결

4. tMap 컴포넌트를 더블클릭하여 각각의 칼럼을 매핑한다. 

-> inputDB는 하나이나 outputDB는 두 개이기 때문에 오른쪽에 각각 outputDB 테이블의 스키마가 표기되고 있다. 

tMap 상세 설정

 

5. 완성된 Job을 실행하면 다음과 같이 두 개의 테이블에 Oracle로부터 가져온 테이블의 데이터가 전부 이관된 것을 확인할 수 있다. 

-> 각 output 테이블을 select 했을 때 결과값이 같다. 즉, 동일한 input DB 테이블로부터 동일한 데이터가 이관되었다. 

각 output 테이블의 결과