소개
- ETL이란 데이터를 추출하고 변환하고 올리는 기능을 의미함
[Extraction] -> [Transformation]
[Transformation] -> [Loading]
- ETL 도구는 본질적으로 데이터 마이그레이션을 위한 도구로 사용됨
ETL 소프트웨어
- ETL 도구 중에서 Pentaho Kettle과 Talend가 대표주자라고 할 수 있음
- Kettle은 상용이라서 기능은 많지만 비용 문제가 존재함
- 결국 선택지는 Talend 밖에 없음
활용 방안
[Oracle DB] -> [ETL 도구]
[ETL 도구] -> [MySQL]
- 물론 데이터 소스는 DB 뿐만 아니라 파일, FTP, Hadoop도 가능함
특징
- 이 과정을 복잡하게 코드로 만들 필요가 없음
- 다음의 과정대로 몇 번 클릭하고 설정을 입력해주면 배치 job이 만들어짐
- source 연결 설정 해주고
- target 정하고
- source로부터 가져올 필드 고르고
- 실행
- 데이터가 변환되어서 마이그레이션됨
- 매번 작업할 때마다 매핑을 해줄 필요도 없음
- 자체 프로젝트 파일로 저장해두면 됨
- 심지어는 배치 프로그램으로 실행할 수 있도록 자바 소스코드로 export하는 기능도 제공됨
예제
- mysql에서 데이터를 뽑아서 json 파일로 dump하는 job 예제
