Embedded PDI and big-data-plugin

How do you make pentaho-big-data-plugin available to your application? From version 6, the PDI has added support for Karaf, it is an OSGI platform that allows developers to create dynamically binding modules which can be added and removed from a running platform without the need for a restart. This feature makes it difficult to use non-OSGI plugins in embedded PDI. However you can use legacy big-data-plugin by placing the pentaho-big-data-legacy-X.x.x.x-xxx.jar file under pentaho-big-data-plugin folder.

Once the plugin location(s) are properly configured, you can add custom plugins to your specific locations. You can also add custom plugins in other locations as long as they are registered with the appropriate implementation of PluginTypeInterface prior to initialising the kettle environment, as shown in the following code example:

StepPluginType.getInstance().getPluginFolders().add( new PluginFolder( "<path to the plugin folder>" , false, true ) );

Tested using:

  • PDI (Kettle) version – 8.3.0.0-371
    • kettle-core
    • kettle-engine

You can find the source code at Github