Skip to main content
Pentaho Documentation

Changing the Pentaho Data Integration Home Directory Location (.kettle folder)

The default Pentaho Data Integration (PDI) HOME directory is the user's home directory (for example, in Windows C:\Documents and Settings\{user}\.kettle or for all other *nix based operating systems ($HOME/.kettle). The directory may change depending on the user who is logged on. As a result, the configuration files that control the behavior of PDI jobs and transformations are different from user to user. This also applies when running PDI from the Pentaho BI Platform.

When you set the KETTLE_HOME variable, the PDI jobs and transformations can be run without being affected by the user who is logged on. KETTLE_HOME is used to change the location of the files normally in [user home].kettle.

Note: The PDI home directory is independent of the PDI application directory.

Below is a short description of each item in the HOME directory:

Item Description
kettle.properties Default properties file for variables
shared.xml Default shared objects file
db.cache The database cache for metadata
repositories.xml The local repositories file
.spoonrc User interface settings, last opened transformation/job
.languageChoice User language (delete to revert language)

To change set the KETTLE_HOME variable...

Step Description
Step 1 Set the KETTLE_HOME variable according to your needs. This can be performed system wide by the operating system or just before the start of PDI using a shell script or batch (for example, use the SET command).

The KETTLE_HOME variable can be set system wide on Windows systems using the environment variables settings (see below):

System                                     Variables on Windows

Step 2 Point the KETTLE_HOME to the directory that contains the .kettle directory. The .kettle gets appended by PDI. For example, when you have stored the common files in C:\Pentaho\Kettle\common\.kettle you need to set the KETTLE_HOME variable to C:\Pentaho\Kettle\common).

The method above can also be used for configuration management and deployment to switch between the test, development, and production environments when other variables like the database server of the connection is defined in kettle.properties.

For testing purposes set a variable in the kettle.properties file of your defined .kettle home directory. Set the KETTLE_HOME directory accordingly by using the operating system SET command. Start Spoon and go to Edit > Show Environment Variables. You should see the variables defined in kettle.properties.