/docker-pdi

Pentaho Data Integration CE Docker Image

Primary LanguageShell

Docker Pentaho Data Integration

Introduction

DockerFile for Pentaho Data Integration (a.k.a kettel / PDI)

This image contains a driver to connect with GCP Big Query.

This image is intended to allow execution of PDI transformations and jobs through command line and run PDI's UI (Spoon). PDI server (Carte) is available on this image.

Quick start

Basic Syntax

$ docker run --rm fkfouri/pentaho-pdi-9.2:debian

Usage:	/entrypoint.sh COMMAND

Pentaho Data Integration (PDI)

Options:
  encr password		Obfuscate a password
  runj filename		Run job file
  runt filename		Run transformation file
  spoon             Run spoon (GUI)
  help		        Print this help

Running Transformations

$ docker run --rm -v "$(pwd):/jobs" fkfouri/pentaho-pdi-9.2:debian runt sample/dummy.ktr

Running Jobs

$ docker run --rm -v "$(pwd):/jobs" fkfouri/pentaho-pdi-9.2:debian runj sample/dummy.kjb

Running Spoon (UI)

Using docker run

$ docker run -it --rm -v /tmp/.X11-unix/:/tmp/.X11-unix/:ro \
        -v $(pwd):/jobs \
        -e XAUTH=$(xauth list|grep `uname -n` | cut -d ' ' -f5) -e "DISPLAY" \
        --name spoon \
        fkfouri/pentaho-pdi-9.2:debian spoon

Using startup script (Installing)

In order to run the container as if the application was installed locally, download the spoon script to a directory in you $PATH, for example:

$ sudo curl -fsSL https://raw.githubusercontent.com/tgmti/docker-pdi/master/spoon \
       -o /usr/local/bin/spoon
$ sudo chmod +x /usr/local/bin/spoon

Then you'll be able to run spoon in the current directory simply by calling spoon:

$ spoon

Custom kettle.properties

In order to use a custom kettle.properties, you need to leave the file available in /jobs/kettle.properties.

$ # Custom properties in $(pwd)/kettle.properties
$ docker container run --rm -v $(pwd):/jobs fkfouri/pentaho-pdi-9.2:debian runj sample/dummy.kjb

Environment variables

This image uses several environment variables in order to control its behavior, and some of them may be required

Environment variable Default value Note
PDI_VERSION 9.2

Issues

If you have any problems with or questions about this image, please contact me through a GitHub issue.