Skip to main content
Pentaho Documentation

Create Step Plugins

A transformation step implements a data processing task in an ETL data flow. It operates on a stream of data rows. Transformation steps are designed for input, processing, or output. Input steps fetch data rows from external data sources, such as files or databases. Processing steps work with data rows, perform field calculations, and stream operations, such as joining or filtering. Output steps write the processed data back to storage, files, or databases.
File:/types_of_steps.png

This section explains the architecture and programming concepts for creating your own PDI transformation step plugin. We recommended that you open and refer to the sample step plugin sources while following these instructions.

A step plugin integrates with PDI by implementing four distinct Java interfaces. Each interface represents a set of responsibilities performed by a PDI step. Each of the interfaces has a base class that implements the bulk of the interface in order to simplify plugin development.

Unless noted otherwise, all step interfaces and corresponding base classes are part of the org.pentaho.di.trans.step package. 

Java Interface Base Class Main Responsibilities
StepMetaInterface BaseStepMeta
  • Maintain step settings
  • Validate step settings
  • Serialize step settings
  • Provide access to step classes
  • Perform row layout changes
StepDialogInterface org.pentaho.di.ui.trans.step.BaseStepDialog
  • Step settings dialog
StepInterface BaseStep
  • Process rows
StepDataInterface BaseStepData
  • Provide storage for row processing