Kettle JDBC driver

The thin Kettle JDBC driver allows a Java client to query a Kettle transformation remotely using JDBC and SQL.

Architecture

As with most JDBC drivers, there is a server and a client component to the JDBC driver.
The server is designed to run as a Servlet on the Carte server, the Pentaho Data Integration server or Pentaho Business Analytics platform.  At the time of writing only Carte is supported.


The client JDBC driver consists of the kettle-core.jar library which has dependencies against Apache Commons HTTP Client and Apache Commons VFS only.

Server configuration

The carte configuration file accepts a <services> block that can contain <service> elements with the following sub-elements:

For example:

<services>
  <service>
    <name>Service</name> 
    <filename>/home/matt/svn/kettle/trunk/testfiles/sql-transmeta-test-data.ktr</filename> 
    <service_step>Output</service_step>
   </service>
 </services>

The JDBC Client

The JDBC driver uses the following class:

org.pentaho.di.core.jdbc.ThinDriver

The URL is in the following format:

jdbc:pdi://hostname:port/kettle&option=value

The following standard options are available:

  public static final String ARG_WEBAPPNAME="webappname";
  
  public static final String ARG_PROXYHOSTNAME = "proxyhostname";
  public static final String ARG_PROXYPORT =  "proxyport"; 
  public static final String ARG_NONPROXYHOSTS = "nonproxyhosts";

Parameters for the service transformation can be set with the following format:  PARAMETER_name=value (so with the option name prepended with "PARAMETER_")

SQL Support

Support for the SQL is minimal at the moment.

The following things are supported: