[TALEND] 두 개의 테이블에 나눠진 데이터를 하나의 테이블로 이관하는 방법
이번 포스팅에서는 A BD의 데이터를 B BD의 테이블에 이관하는 방법을 다룬 앞선 포스팅의 심화라고 할 수 있다.
두 개의 테이블에 나뉘어 저장된 데이터를 하나의 output DB에 한꺼번에 이관하는 방법을 알아볼 것이다.
1. 적당한 이름의 Job을 생성한다.
2. 이관 대상 테이블과 데이터가 이관될 테이블을 각각 가져와 팔레트에 생성한다.
-> 나는 전 국가 데이터를 갖고 있는 Oracle의 countries 테이블의 데이터와 아시아 국가 데이터만 가지고 있는 countries_asia 테이블의 데이터를 outputDB인 MySQL의 countries 테이블에 이관할 것이다.
3. 두 inputDB를 합쳐줄 tUnite 컴포넌트를 팔레트에 생성한다.
1) 이때, tUnite 컴포넌트의 스키마 생성에 유의한다. 나의 경우 Countries 테이블은 다음의 세 칼럼을 가지고 있다.
2) 반면 Countries_Asia 테이블은 두 개의 칼럼만 가진다.
3) input으로 가져오는 두 테이블의 스키마가 다른 경우 output 테이블의 스키마와 동일한 DB의 스키마를 가져온다.
-> Edit schema 옆에 위치한 네모를 클릭하면 다음과 같은 화면이 뜬다. 이때, 나는 Region_id 칼럼을 포함한 세 개의 칼럼을 가지는 input_1 DB를 선택하였고 tDBInput_1 스키마와 tUnite_1 스키마 사이에 위치한 화살표를 클릭하여 스키마를 복사했다.
4. tMap 컴포넌트를 생성하여 tUnite와 outputDB를 이어준다.
5. tMap을 더블클릭하여 각 칼럼을 매핑해준다.
6. Job 실행하면 두 개의 테이블에 나뉘어져있던 데이터가 하나의 MySQL 테이블에 정상 이관된 것을 확인할 수 있다.
-> region_id를 null로 가지는 데이터는 countries_asia에서 가져온 데이터이다. countries_aria 테이블은 region_id가 없었기 때문에 해당 테이블에서 가져온 데이터가 이관될 때 자동으로 default 값인 null이 입력된 채 이관되었다.