Pentaho Data Integration - 개요
Pentaho Data Integration은 데이터 통합 및 분석 플랫폼을 제공하는 Pentaho라는 소프트웨어에서 ETL 기능을 담당하고 있는 컴포넌트이다.
그래픽 도구 기반으로 ETL 프로세스를 작성할 수 있으며, 프로세스 작성 시 수행해야 하는 작업에 대해서 어떻게 수행해야 하는지 코딩하는 것이 아니라, 무엇을 해야하는지 지정하는 방식으로 작성하기 때문에 직관적이고 사용이 쉬운 편이다.
Matt Casters가 2000년대 초반 Kettle이라는 이름의 ETL툴 개발을 시작하여 2005년에 오픈소스로 공개되었으며, 이후 2006년 초반에 Pentaho사에 인수되면서 현재의 Pentaho Data Integration(이하 PDI)이라는 이름을 가지게 되었다. 2015년도에 Hitachi 그룹에 인수되었으며, 국내에서는 효성인포메이션시스템에서 기업용 버전의 판매 및 기술지원을 하고 있다.
오픈소스 버전은 소스포지에서 현재 8.2버전까지 내려받을 수 있다. (링크 : https://sourceforge.net/projects/pentaho/)
PDI 구동환경을 살펴보면 개발 및 테스트를 위한 클라이언트 환경은 최소 듀얼코어 이상 CPU, 2GB이상의 메모리, 2GB이상의 디스크 공간의 여유가 있는 PC기반 64비트 OS 설치환경을 필요로 하고 있다.
(링크 : https://help.pentaho.com/Documentation/8.2/Setup/Components_Reference)
별도의 설치 과정 필요없이 내려받은 파일의 압축을 풀어서 실행파일을 실행하면 되는데, 다만 자바 기반으로 동작하기 때문에 64비트 1.8버전의 JRE또는 JDK가 설치되어 있어야 하며 (PDI 6.x버전은 1.7버전의 JDK필요), JDK가 다수 설치되어 있어 JDK경로를 설정해야 하는 경우에는 PENTAHO_JAVA_HOME을 환경변수로 등록하여 사용할 수 있다.
최근에 OpenJDK를 설치하여 기능 확인을 하고 있는데, OpenJDK 환경에서도 문제없이 돌아가는 것으로 보인다. (링크 : https://github.com/ojdkbuild/ojdkbuild)
사용환경이 리눅스 환경이라면 script들을 실행가능한 상태로 만드는 작업이 추가로 필요하다.
예를 들어 PDI가 /home/pentaho/data-integration 에 설치되었다고 하면 다음과 같은 명령을 실행해주도록 한다.
cd /home/pentaho/data-integration
chmod +x *.sh
다운로드 받은 파일의 압축을 풀면 data-integration 폴더 아래에 PDI 실행을 위한 파일들이 위치하고 있는 것을 확인할 수 있다.
실행가능한 애플리케이션들은 윈도우 배치 파일과 리눅스 쉘 파일의 쌍으로 구성되어 있다.
그중에서 아래 표에 기술되어 있는 4개의 애플리케이션이 PDI의 주요 애플리케이션이라고 할 수 있다.
도구 |
설명 |
인터페이스 |
명령 |
Spoon |
transformation 및 job을 작성, 편집, 실행하거나 디버깅할 때 사용 |
GUI |
spoon.bat/.sh |
Pan |
Spoon에서 생성한 transformation을 커맨드라인에서 독립적으로 실행할 때 사용 |
CLI |
pan.bat/.sh |
Kitchen |
Spoon에서 설계한 job을 커맨드라인에서 독립적으로 실행할 때 사용 |
CLI |
kitchen.bat/.sh |
Carte |
전용 원격 ETL서버를 설정할 수 있는 경량의 웹 컨테이너 |
Server |
carte.bat/.sh |
samples에 PDI를 사용하여 할 수 있는 작업들(job 및 transformation)에 대한 예제를 볼 수 있다. PDI에 대한 개념을 잡기에 좋다.
lib는 jar 포맷의 라이브러리 파일이 위치하는 곳으로, 데이터베이스의 jdbc 라이브러리 파일을 여기에 두고 PDI에서 참조함으로써 연결 가능한 데이터베이스의 범위를 확장할 수 있다.
pwd는 패스워드 및 Carte 서버 설정 파일이 위치하는 곳으로 후에 Carte 관련하여 살펴볼 때 언급할 기회가 있을 것으로 본다.