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.
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): |
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
.