티스토리 뷰

DEV/ETC

ETL PENTAHO SPOON 설치

SBP 2025. 5. 8. 10:03
Linux에 Pentaho Data Integration (PDI/Kettle) 설치 및 활용

Linux 환경에 Pentaho Data Integration (PDI/Kettle) 설치 및 활용

이 문서는 Linux 운영체제에 Pentaho Data Integration (PDI), 일명 Kettle을 설치하고, 그래픽 사용자 인터페이스(Spoon)와 명령줄 도구(Pan/Kitchen)를 사용하여 기본적인 ETL 작업을 수행하는 방법을 안내합니다.

1. 설치 전 준비 사항 (Prerequisites)

PDI는 Java 기반으로 실행되므로, 시스템에 Java Runtime Environment (JRE) 또는 Java Development Kit (JDK)가 설치되어 있어야 합니다. 일반적으로 OpenJDK 8 버전 이상을 권장합니다.

Java 설치 예시 (Debian/Ubuntu 기반)

sudo apt update
sudo apt install openjdk-11-jdk   # 또는 openjdk-8-jdk 등 원하는 버전
java -version                     # 설치 확인

Java 설치 예시 (RHEL/CentOS/Fedora 기반)

sudo yum install java-11-openjdk-devel   # 또는 java-1.8.0-openjdk-devel 등
java -version                            # 설치 확인

시스템에 맞는 패키지 관리자를 사용하여 Java를 설치해 주세요.

2. PDI Community Edition 다운로드

PDI Community Edition은 Hitachi Vantara 웹사이트 또는 SourceForge와 같은 곳에서 다운로드할 수 있습니다. 일반적으로 `.zip` 또는 `.tar.gz` 형태의 압축 파일로 제공됩니다.

  • Hitachi Vantara 다운로드 페이지 (Community Edition 섹션을 찾아야 합니다)
  • SourceForge (pentaho/data-integration 검색)

웹 브라우저를 통해 파일을 다운로드하거나, wget 등의 명령어를 사용할 수 있습니다.

# 예시: wget 사용 (다운로드 링크는 버전에 따라 변경됨)
wget https://sourceforge.net/projects/pentaho/files/Data%20Integration/9.3/pdi-ce-9.3.0.0-428.zip/download -O pdi-ce-9.3.0.0-428.zip

다운로드 링크는 PDI 버전에 따라 달라지므로 최신 버전의 링크를 확인해야 합니다.

3. 설치 (압축 해제)

다운로드한 파일을 원하는 디렉토리에 압축 해제하는 것이 설치의 전부입니다. 일반적으로 애플리케이션 설치 경로인 /opt 아래에 두는 것을 추천합니다.

# 다운로드한 디렉토리로 이동
cd /path/to/your/downloads

# 원하는 설치 경로에 디렉토리 생성 (예: /opt)
sudo mkdir /opt/data-integration
sudo chown your_user:your_user /opt/data-integration # 사용자에게 권한 부여

# 다운로드한 압축 파일 압축 해제
unzip pdi-ce-9.3.0.0-428.zip -d /opt/data-integration/   # .zip 파일의 경우
# 또는
# tar -xzf pdi-ce-9.3.0.0-428.tar.gz -C /opt/data-integration/ # .tar.gz 파일의 경우

# 압축 해제된 디렉토리 확인
ls /opt/data-integration/data-integration/

압축 해제 후, 실제 실행 파일들이 있는 data-integration 하위 디렉토리로 이동해야 합니다.

4. Spoon (GUI 도구) 실행

ETL 디자인을 위한 GUI 도구인 Spoon은 압축 해제된 디렉토리 내의 spoon.sh 스크립트를 실행하여 시작합니다.

# PDI 설치 디렉토리로 이동
cd /opt/data-integration/data-integration/

# Spoon 실행 스크립트에 실행 권한 부여 (필요한 경우)
chmod +x spoon.sh

# Spoon 실행
./spoon.sh

./spoon.sh 명령어를 실행하면 PDI Spoon GUI 창이 나타납니다. 만약 실행되지 않는다면, Java 설치 상태나 스크립트의 실행 권한을 확인해야 합니다.

5. 기본적인 활용 방법 (Spoon)

Spoon이 실행되면 새로운 Transformation (.ktr) 또는 Job (.kjb) 파일을 생성하거나 기존 파일을 열 수 있습니다.

  • Transformation (.ktr): 데이터를 추출, 변환하여 로드하는 실제 데이터 흐름을 디자인합니다. 왼쪽 패널에서 스텝(Step)을 드래그하여 캔버스에 놓고, 화살표로 연결하여 데이터 흐름을 정의합니다. 각 스텝을 더블 클릭하여 상세 설정을 구성합니다.
  • Job (.kjb): Transformation의 실행 순서, 파일 처리, SQL 실행 등 제어 흐름을 관리합니다. 왼쪽 패널에서 작업 엔트리(Job Entry)를 드래그하여 놓고, 화살표로 연결하여 작업 흐름을 정의합니다.

디자인이 완료되면 툴바의 'Run' 버튼을 클릭하여 Transformation 또는 Job을 실행할 수 있습니다. 실행 결과를 확인하고 필요한 경우 디버깅합니다.

6. 명령줄 도구 활용 (Pan & Kitchen)

설계된 ETL 작업을 자동화하거나 스케줄링 시스템과 연동하려면 명령줄 도구를 사용합니다.

Pan (Transformation 실행)

Transformation 파일(.ktr)을 명령줄에서 실행할 때 사용합니다.

# PDI 설치 디렉토리에서 실행
cd /opt/data-integration/data-integration/

# Pan 실행 스크립트에 실행 권한 부여 (필요한 경우)
chmod +x pan.sh

# Transformation 파일 실행 예시
./pan.sh /file:/path/to/your/transformation.ktr /level:Basic

/file: 옵션 뒤에 실행할 Transformation 파일의 절대 또는 상대 경로를 지정합니다. /level:은 로깅 레벨을 설정합니다 (Basic, Detailed, Debug 등).

Kitchen (Job 실행)

Job 파일(.kjb)을 명령줄에서 실행할 때 사용합니다.

# PDI 설치 디렉토리에서 실행
cd /opt/data-integration/data-integration/

# Kitchen 실행 스크립트에 실행 권한 부여 (필요한 경우)
chmod +x kitchen.sh

# Job 파일 실행 예시
./kitchen.sh /file:/path/to/your/job.kjb /level:Basic

/file: 옵션 뒤에 실행할 Job 파일의 절대 또는 상대 경로를 지정합니다. Pan과 마찬가지로 다양한 옵션을 사용할 수 있습니다 (예: /param:param_name=value).

7. 추가 설정 및 팁

  • Java 메모리 설정: 대용량 데이터를 처리할 경우 Java 힙 메모리 설정을 늘려야 할 수 있습니다. spoon.sh, pan.sh, kitchen.sh 스크립트 파일을 열어 OPT="-Xmx..." 부분을 수정합니다. (예: OPT="-Xmx2048m")
  • 파일 권한: PDI 설치 디렉토리 및 그 하위 파일들에 현재 사용자가 읽고 쓸 수 있는 권한이 있는지 확인하세요. 특히 `.sh` 파일에 실행 권한이 필수입니다.
  • 데이터베이스 드라이버 (JDBC): 특정 데이터베이스에 연결하려면 해당 데이터베이스의 JDBC 드라이버 JAR 파일을 PDI 설치 디렉토리 내의 lib/ 또는 libext/JDBC/ 폴더에 복사해야 합니다.

결론

이 가이드에 따라 Linux 시스템에 Pentaho Data Integration (PDI/Kettle) Community Edition을 성공적으로 설치하고, GUI 도구인 Spoon을 사용하여 ETL 작업을 디자인하며, Pan 또는 Kitchen 명령줄 도구를 사용하여 이를 실행하고 자동화할 수 있습니다. PDI는 다양한 기능을 제공하므로, 더 복잡한 작업은 공식 문서나 커뮤니티 리소스를 참고하여 학습하시기 바랍니다.

'DEV > ETC' 카테고리의 다른 글

ETL PENTAHO SPOON KITCHEN  (0) 2025.05.08
ETL PENTAHO SPOON KJB  (0) 2025.05.08
ETL PENTAHO SPOON  (0) 2025.05.08
Idx.dev  (0) 2025.05.07
C# 에서 JPA 유사하게 사용하기  (0) 2025.04.24
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함