개발ETC/pentaho pdi kettle

펜타호(Pentaho) 스푼(Spoon) 오픈소스 ETL(Extract, Transform, Load) 툴(tool) 다운로드 및 설치 작동 방법까지

벨포트조던 2023. 4. 12.
반응형

오늘은 펜타호(Pentaho) 오픈소스 ETL 툴을 다운로드해보려고 합니다. 보통 ETL 툴 하면 인포메티카(Informatica), IBM 데이터스테이지(Datastage) 이렇게 2개를 많이 쓰는 걸로 알고 있습니다.

하지만 저는 눈칫밥을 먹는 사람이라 높은 직책을 가지신 분이 펜타호(Pentaho)에 대해 테스트해보라 하셔서..... 시작하게 됐습니다!!

여전히 데이터가 많은 기업에서는 ETL 툴을 사용하고 있습니다. 데이터 받고 내리는데 진짜 빠르니깐요...

데이터마트나 데이터웨어하우스를 만드는데 유용합니다.

처음 ETL 툴을 만질 때 얼마나 식은땀이 나던지 데이터 잘못될까봐 항상 긴장하게 됩니다.

다운로드 및 설치 방법 그리고 작동 방법에 들어가기에 앞서 ETL에 대한 개념을 간단하게 정리하겠습니다.

1. ETL(Extract, Transform, Load)

보시다시피 영어를 해석하자면 추출 변환 적재입니다.

동일 기종 혹은 타기종 데이터 소스로부터 데이터를 추출하고 조회 또는 분석을 목적으로 적절한 구조로 데이터를 저장하기 위해 데이터를 변환하고 최종 대상(운영 데이터 스토어, 데이터 마트, 데이터 웨어하우스등 데이터베이스)에 변환 데이터를 적재합니다.

한마디로 필요한 데이터만 추출해 필요한 형태로 변환하고 해당 데이터를 원하는 곳에 적재하는 겁니다.

2. 펜타호(Pentaho) 최신 버전 다운로드

ETL에 개념에 대해 알았으니 그럼 펜타호(Pentaho)를 다운로드해야겠죠??

펜타호도 CE(클라이언트 버전), EE(엔터프라이즈 버전) 2개가 있습니다. CE 버전은 무료 EE 버전은 유료입니다.

펜타호 CE 버전 다운로드는 아래 링크에서 받으시면 됩니다.

https://sourceforge.net/projects/pentaho/files/

최신 버전을 받으시려면 Download latest version을 클릭해 주세요. 버전은 9.0입니다.

다운로드하는데 시간이 걸립니다. 다운이 좀 느려요. 그리고 CPU와 메모리를 많이 잡아먹습니다. 참고하세요!!

3. 펜타호(Pentaho) 설치 및 프로그램 시작

다운로드를 한 파일을 압축 해제해줍니다. 그럼 data-integration 폴더가 생성됩니다.

exe 파일을 눌러 설치할 필요는 없습니다.

여기서 Spoon.bat을 찾으셔서 실행시켜주시면 됩니다. 그럼 cmd 창이 뜨면서 기다리시면

이렇게 화면이 뜹니다. 여기서 Work에 보시면 큰 단위가 job이고 작은 단위가 transformation 입니다. 저는 transformation으로 들어갔고 최종적으로 job에서 연결했습니다.

반드시 transformation과 job 하나씩 생성해주세요!!

생성 방법은 환영합니다 탭 -> Work -> New transfomation(혹은 New job) 클릭해주시면 바로 생성됩니다.

그래도 일부 한글을 지원해 줘서 놀랐습니다.

4. 데이터 베이스 연결

여기서 사용할 데이터 베이스 연결이 필요합니다. 여기서 오류가 나와서 오류 해결법도 같이 알려드리려고 합니다.

데이터베이스 연결을 위해서는 뷰 탭 -> 데이터베이스연결 우 클릭 후 -> 새로 만들기 들어갑니다. 원하시는 Connection name 적어주시고 DB 종류와 Host name , Database Name, Port number, Uesername, Password를 적어줍니다.

하지만 테스트를 눌러보면 여기서 JDBC 오류가 나올 수도 있습니다.

※ JDBC 오류 해결법

엄청 장문의 오류가 나는 건데 ojdbc가 없어서 나는 오류입니다. JDBC 드라이버 다운이 필요합니다.

JDBC 파일을 다운로드하기 전 일단 판테호 프로그램을 닫습니다.

해당 오류 문구가 보일 것입니다.

Driver class 'oracle.jdbc.driver.OracleDriver' could not be found, make sure the 'Oracle' driver (jar file) is installed. oracle.jdbc.driver.OracleDriver

제가 연결하고자 하는 오라클 버전이 11.2.0.4여서 해당 JDBC 드라이버를 다운로드했습니다.

https://www.oracle.com/database/technologies/appdev/jdbc-downloads.html

오라클도 예전 버전은 점점 정리하는 거 같네요. 다운로드할 때는 오라클 아이디와 패스워드가 필요합니다.

압축 푼 파일의 목록입니다. 해당 파일을 복사 혹은 잘라내기 한 후

data-integration -> lib 폴더에 파일을 넣어줍니다. 전 D 드라이브 압축을 풀어서 그렇습니다.

이후 다시 Spoon.bat을 실행해서 들어간 후 데이터베이스 연결을 시도합니다.

데이터베이스 정보를 다 적은 후 테스트를 시도하면 이렇게 성공한 것을 보실 수 있습니다.

 

하지만 펜타호의 단점이 있는데 바로 데이터베이스 안에 테이블이 펼쳐 보이지 않습니다. 데이터베이스 테이블을 보려면 연결된 데이터베이스 우 클릭 후 탐색 버튼을 눌러서 테이블 유무를 볼 수 있습니다. 제가 아직 리스트 보는 걸 못 찾아서 그럴 수도 있고 기능을 지원 안 해주는 건지 이건 좀 더 알아봐야 할 것 같습니다.

5. 펜타호(Pentaho) Api 문서

저도 펜타호를 처음 써보고 우리나라에서는 많은 자료가 없어 문서를 보며 문제를 해결해 봐야 할 것 같습니다.

그래서 아래 링크에 들어가서 검색해 보면서 하니씩 찾아봐야 할 것 같습니다.

그리고 CE 버전이라 뭔가 조금은 부족할 것 같아요. 역시 유료가....ㅠㅠㅠㅠㅠ

https://help.pentaho.com/Documentation/9.0/Products

이렇게 해서 펜타호의 다운로드 및 설치 데이터베이스 연결까지 알아봤습니다.

다음에는 펜타호를 이용해서 테이블 데이터를 csv 파일로 변환하는 방법을 올려보도록 하겠습니다.

반응형

댓글