Search code examples
pentahopentaho-spoonpentaho-data-integration

How to execute .ktr file in linux?


As the questions says, i needed to execute the .ktr file but in via linux

in windows i usually just do this :

"C:\Program Files\Pentaho Data Integration - Kettle 6.1.0.1\kitchen.bat" -file:"C:/Users/Username/Documents/Pentaho Projects/Job - System Integration.kjb"

But i'm still confused on how to do that in Linux Centos 7


Solution

  • ~~ In Ubuntu ~~

    For Job:

    1.1. For pentaho job (.kjb) file:

    sh /home/ubuntu/------path------/data-integration/kitchen.sh -file="/home/ubuntu/------path------/Pentaho_Projects/Job_System_Integration.kjb"
    

    1.2. If you want to keep pentaho job log output in file then:

    sh /home/ubuntu/------path------/data-integration/kitchen.sh -file="/home/ubuntu/------path------/Pentaho_Projects/Job_System_Integration.kjb" > "/home/ubuntu/------path------/Pentaho_Projects/Job_System_Integration.log"
    

    1.3. If you want to send value as parameter inside the pentaho data integration job then (You have to define parameter inside job's properties and use that as ${parameter_name} anywhere inside that job):

    sh /home/ubuntu/------path------/data-integration/kitchen.sh -file="/home/ubuntu/------path------/Pentaho_Projects/Job_System_Integration.kjb" > "/home/ubuntu/------path------/Pentaho_Projects/Job_System_Integration.log" -param:parameter_name=parameter_value
    

    For Transformation:

    2.1 For pentaho transformation (.ktr) file:

    sh /home/ubuntu/------path------/data-integration/pan.sh -file="/home/ubuntu/------path------/Pentaho_Projects/Job_System_Integration.ktr"
    

    2.2. If you want to keep pentaho transformation log output in file then:

    sh /home/ubuntu/------path------/data-integration/pan.sh -file="/home/ubuntu/------path------/Pentaho_Projects/Job_System_Integration.ktr" > "/home/ubuntu/------path------/Pentaho_Projects/Job_System_Integration.log"
    

    I suggest not to use spaces in file/folder name.