Hitachi Vantara Pentaho Community Wiki
Child pages
  • Running Kettle 3 on the Pentaho platform
Skip to end of metadata
Go to start of metadata

Problem setting

Version 1.6.0 of the Pentaho Platform and the PCI (Pre-Configured Installation) went GA before Pentaho Data Integration and shipped with a version 2.5.1 of PDI.

That means that if you want to run your 3.0 transformations on the platform, you need to upgrade the KettleComponent to make use of the new 3.0 API.

The next version of the Pentaho platform has an updated KettleComponent for version 3.0 to work with.

Compiling the new KettleComponent

To modify the Pentaho platform source code to run PDI version 3 transformations and jobs, follow these steps:

  • Get the source code for the Pentaho platform version 1.6.0
  • Put the new Kettle jar files into directory third-party/lib/  (from PDI directory lib/ )
    • kettle-engine-3.0.jar
    • kettle-ui-swt-3.0.jar
  • add jar file ognl.jar to third-party/lib as well  (from PDI directory libext/ )
  • If you want to run the webservices step in (3.0.1) then add jar file wstx-asl-3.2.0.jar to third-party/lib as well  (from PDI directory libext/webservices )
  • modify the source code (org.pentaho.plugin.kettle) of the KettleComponent with these Java classes:
  • upgrade the jar file
    • third-party/lib/apache/commons-digester-1.7.jar
    • to the one found in PDI : libext/commons/commons-digester-1.8.jar
  • Modify the Pentaho build file (build.xml) to produce and handle Java5 code.
    • change the "javac" targets from
      • source="1.4" target="1.4"
    • to:
      • source="1.5" target="1.5" 

That should allow you to build the Pentaho platform and run the latest Kettle transformations and jobs on it.

  • No labels

2 Comments

  1. Anonymous

    Thanks a lot for the explanation! Maybe it's very obvious but it took me a while to find the right source code packages (see point 1 of the explanation). The packages I had to check out:

    svn co svn://source.pentaho.org/svnroot/pentaho/trunk
    svn co svn://source.pentaho.org/svnroot/pentaho-solutions/trunk
    svn co svn://source.pentaho.org/svnroot/pentaho-commons/trunk
    svn co svn://source.pentaho.org/svnroot/pentaho-data/trunk
    svn co svn://source.pentaho.org/svnroot/pentaho-preconfiguredinstall/trunk

  2. If you are not willing to build the code from scratch, there is an alternative exit:

    1) Download the pentaho 1.7 PCI and extract the following files from pentaho.war/WEB-INF/lib:

    commons-digester-1.8.jar

     kettle-engine-3.0.jar

     ognl-2.6.9.jar

     pentaho-connections-1.7.0.24.jar

    pentaho-plugin-1.7.1.jar

    2) Copy your current version of open  pentaho-plugin-1.6.0.GA.jar and replace the kettle directory with the one from pentaho-plugin-1.7.1.jar

    3) Copy the new version of pentaho-plugin-1.6.0.GA.jar and all the files you extracted from the 1.7 version except for the pentaho-plugin-1.7.1.jar and copy them into your pentaho.war/WEB-INF/lib

    4) Restart the  server and you will be able to load kettle 3.0 transformation from Pentaho ...

    I had a problem adding custom plugins because pentaho dont seem to find the jar file anywhere even if you specify it in the kettle-plugins.xml file. So for adding custom plugins I added them directly in the kettle-engine-3.0.jar. To do so it is necessary to add the step to the kettle-stesp.xml and copy the classes inside the kettle-engine.3.jar

    Regards