본문 바로가기

Automation/system

[ETL] - Talend Open Studio DB2DB 이관 #2

Talend에서 무료로 제공하는 Data Integration Tool인 TOS(Talend Open Studio)를 설치했다. (참고 : TOS 설치하기)

 

[ETL] - Talend Open Studio 설치 #1

대표적인 ETL Tool 로 ELK(Elasticsearch, Logstash, Kibana)가 있다. 만약 Elasticsearch를 사용하지 않고 일반적인 RDBMS에 데이터를 이관하고 싶을 경우 또는 그 외 Hadoop, Hbase 등과 같은 Bigdata 저장소에..

jarikki.tistory.com

TOS를 사용하면 Database End-Point(DB2DB) 간의 데이터를 손쉽게 UI 기반으로 이관할 수 있다. 이번에는 TOS를 이용하여 DB2 데이터베이스에 있는 임의의 테이블과 데이터를 Oracle 데이터베이스로 이관하는 법을 정리한다.


1. 구성환경
  • Source Data : DB2 11.1 (원격)
  • Target Data : Oracle 11g (로컬)
  • ETL : TOS 7.3.1
2. TOS 를 이용한 프로젝트 생성

TOS를 실행하면 다음과 같은 화면이 나타난다. Create a new... 아래에 Job 버튼을 클릭하여 신규 프로젝트를 생성한다.

 

TOS 실행화면

생성하고자하는 프로젝트(Job)의 이름을 입력하고, Finish 버튼을 클릭한다. (아래 화면에서는 이미 test01 프로젝트가 생성되어 있기 때문에 Finish 버튼이 활성화되지 않았다.) Job 생성이 완료되면 좌측 Repository에서 확인할 수 있다.

 

Job 생성

3. DB2DB 데이터 이관 설정

첫번째. DB2 서버(Source)와의 커넥션을 설정한다.

 

Repository 에서 Metadata > Db Connections 오른쪽 클릭 후 드롭다운 메뉴에서 create connection 클릭하여 연결 정보 설정

DB2 Connection 생성

  1. DB Type을 IBM DB2로 선택
  2. Login 및 Password 입력
  3. Server에 DB2 서버 IP 정보 입력
  4. 접속 Port 번호 입력
  5. Database 명 입력

입력 완료 후 Test Connection 버튼을 클릭하여 정상 설정 여부를 확인한다. TOS를 이용하여 DB2 연결 설정이 처음이라면 아래와 같이 "require third party module" 안내 창이 나타난다. 총 3개의 jar 파일이 필요하며 IBM 사이트로 부터 다운로드하여 로컬에 저장한다.

 

  • JDBC Driver : db2jcc4.jar 다운로드
  • License File : db2jcc_license_cisuz.jar, db2jcc_license_cu.jar 파일은 DB2 관리자에게 요청

드라이버 설정

세 개의 파일을 모두 저장한 후 화면 오른쪽의 마우스 버튼을 클릭하고, 로컬에 저장된 파일을 선택하면 된다. Download and Install all modules available 버튼을 클릭하면 드라이버 설정이 완료되고 Db Connections 아래에 Connection 객체가 생성된다.

 

DB2 Connection 생성

다시 Test Connection을 클릭하여 정상 접속 여부를 확인한다. ("db2" connection successful 이라는 메세지 화면이 나타남)

 

 

두번째. Oracle 서버(Target)와의 커넥션을 생성한다.

 

DB2와 동일한 방식으로 진행하면 된다.

 

Oracle Cennection 생성

 

 

세번째. DB2와 Oracle 간의 데이터 매핑을 설정한다.

 

위에서 생성한 DB2 커낵션 객체와 Oracle 커넥션 객체를 각각 드래그 앤 드롭하여 아래와 같이 화면에 위치 시키고, 두 커넥션 사이에 tMap 객체를 생성한다. tMap 객체를 생성하는 방법은 화면 빈 공간 아무곳이나 클릭하고 tMap이라고 키보드로 타이핑하면 드롭다운 메뉴가 나타나며, 메뉴 중 tMap을 선택하면 된다.(주의 : 연결선은 아직 생성되지 않는다. 마지막 단계의 매핑 설정 시 연결선 작업을 할 것이다.)

 

데이터 이관 프로세스 구성(완료 시)

마지막으로 DB2로 부터 읽어올 데이터를 선택하고, tMap을 통해 Oracle로 출력되도록 매핑을 정의해 주면된다.

4. 입력 데이터 상세 설정(DB2)

화면 안의 db2 아이콘을 더블클릭하면 화면 하단에 Input 설정 화면이 나타난다. DB2로 부터 읽어드릴 SQL 문을 작성한 후 Guess Schema 버튼을 클릭하면 DB2로 부터 필요한 데이터 컬럼을 읽어온다. (예 : select * from employ)

 

Input 데이터 설정(DB2)
Guess Schema 실행 결과

실행이 정상적으로 되면 db2 아이콘과 tMap을 마우스로 연결한다.

 

5. tMap 설정

tMap 아이콘 마우스 오른쪽 클릭 후 Row > new output 을 선택하면 Input과 Output을 매핑할 수 있는 화면이 나타난다. 아래 화면과 같이 왼쪽(row1)의 컬럼을 선택하고 드래그하여 오른쪽(out1)으로 컬럼을 이동 시킨다.

 

tMap 설정

Apply > Ok 를 클릭한다.

 

6. 출력 데이터 상세설정(Oracle)

4번 입력 데이터 상세 설정과 동일하다. Oralce 아이콘을 더블클릭하고, 설정 화면에서 이관된 데이터를 저장할 테이블명만 설정하면 된다.

 

Output 데이터 설정

설정 완료 후 Crtl+S 로 지금까지 설정한 워크로드를 저장한다.

 

7. 이관 실행

6번 출력데이터 설정을 완료한 후 화면 하단의 Run Job(Job test01) 탭을 클릭하면 데이터 이관이 실행된다.(또는 화면 좌측(Registry)에서 Job(test01)을 선택하고 마우스 오른쪽을 클릭하여 Run Job 메뉴 클릭)

 

데이터 이관 결과


TOS를 이용하여 DB2에 저장된 데이터를 Oracle로 손쉽게 이관할 수 있다. SQL 작업 만으로 원하는 데이터를 이동할 수 있고 모든 설정은 UI를 통해 설정하기 때문에 사용하기 간편하다. 또한 Data Integration for Bid Data 를 사용하면 데이터베이스 뿐만 아니라 다양한 저장소로의 ETL을 손쉽게 사용할 수 있을 것 같다.