Pentaho Data Integration (Kettle) Documentation

repository·master·Indexed 27 days ago

https://github.com/pentaho/pentaho-kettle

Documentation for Pentaho Data Integration (PDI), also known as Kettle, an ETL tool for data integration. Includes guides on implementing StepMetaInterface serialization, creating stream consuming steps, and building core plugins such as Palo, Kafka, S3 VFS, and MQTT. Provides detailed instructions for Maven-based builds, JDK requirements, and plugin installation for PDI and BI Server.

Tokens
6.3K
Snippets
17
Records
47
Agent score
93%

What's inside Pentaho Data Integration

  1. Identify available Pentaho Data Integration core plugins

    master
    Pentaho Data Integration (Kettle) provides a wide range of core plugins for data processing, connectivity, and integration tasks. These plugins are categorized by their functionality, such as bulk loaders, file handling, cloud connectivity (S3), and specific data formats (JSON, XML, YAML, Excel).
  2. Run Unit and Integration Tests

    master

    Pentaho Data Integration includes both unit tests and integration tests (which test cross-module operations).

    Unit Tests

    To run all unit tests in the project and its sub-modules:

    mvn test

    To debug a single Java unit test on the default port 5005:

    cd core
    mvn test -Dtest=<<YourTest>> -Dmaven.surefire.debug

    Integration Tests

    To run integration tests:

    mvn verify -DrunITs

    To run a specific integration test:

    mvn verify -DrunITs -Dit.test=<<YourIT>>

    To run a specific integration test in debug mode on port 5005:

    mvn verify -DrunITs -Dit.test=<<YourIT>> -Dmaven.failsafe.debug
  3. Configure and Start the Carte Server

    master

    To run a Carte server with specific authentication and settings, create a configuration XML file (e.g., carte-config.xml) and pass it to the startup script. Authentication is configured within the <slaveserver> block using <username> and <password> tags.

    <?xml version="1.0" encoding="UTF-8"?>
    <slave_config>
      <slaveserver>
        <name>Carte-Server</name>
        <hostname>localhost</hostname>
        <port>8080</port>
        <username>admin</username>
        <password>password</password>
        <master>N</master>
      </slaveserver>
      <max_log_lines>10000</max_log_lines>
      <max_log_timeout_minutes>1440</max_log_timeout_minutes>
      <object_timeout_minutes>1440</object_timeout_minutes>
    </slave_config>
    ./carte.sh carte-config.xml
  4. Regenerate the PentahoDiPlugin class from WADL changes

    master

    If changes are made to the plugin's REST services, you must regenerate the org.pentaho.di.services.PentahoDiPlugin class. This is done by fetching the updated WADL and XSD files from a running platform server and running the wadl2java Ant task via Maven.

    Follow these steps:

    1. Fetch the updated WADL: Request the WADL file from your running platform server and save it to wadl2java/wadl-resource/application.wadl.xml.

      • URL: http://localhost:8080/pentaho/plugin/pur-repository-plugin/api/application.wadl
    2. Fetch the updated XSD: Request the WADL sub-resource XSD file from your running platform server and save it to wadl2java/wadl-resource/application.wadl/xsd0.xsd.

      • URL: http://localhost:8080/pentaho/plugin/pur-repository-plugin/api/application.wadl/xsd0.xsd
    3. Run the generation task: Execute the Maven command to trigger the wadl2java target, which uses the build-wadl2java.xml Ant task to create the org.pentaho.di.services.PentahoDiPlugin class.

    mvn antrun:run@wadl2java