Common Properties of Transformers

Transformers have both input and output ports. They can:

Metadata can be propagated through some of these transformers, whereas the same is not possible in such components that transform data flows in a more complicated manner. You must have the output metadata defined prior to configuring these components.

Some of these transformers use transformations that have been described above. For detailed information about how transformation should be defined, see Defining Transformations.

  • Some Transformers can have a transformation attribute defined, it may be optional or required. For information about transformation templates for transformations written in CTL, see CTL Templates for Transformers.
  • Some Transformers can have a transformation attribute defined, it may be optional or required. For information about transformation interfaces that must be implemented in transformations written in Java, see: Java Interfaces for Transformers.

Below is an overview of all Transformers:

COMPONENTSAME INPUT METADATASORTED INPUTSINPUTSOUTPUTSJAVACTLAUTO-PROPAGATED METADATA
Aggregate-x11xxx
Concatenateβœ“x1-n1xxβœ“
DataIntersectionxβœ“23βœ“βœ“βœ“
DataSampler-x1nxxβœ“
Dedup-βœ“11-2xxβœ“
Denormalizer-x11βœ“βœ“x
ExtSort-x11-nxxβœ“
FastSort-x11-nxxβœ“
Filter-x11-2xxβœ“
Mergeβœ“βœ“2-n1xxβœ“
MetaPivot-x11xxβœ“
Normalizer-x11βœ“βœ“x
Partition-x11-n[1][1]βœ“
Pivot-x11βœ“βœ“x
Map-x11-nβœ“βœ“βœ“
Rollup-x11-nβœ“βœ“x
SimpleCopy-x11-nxxβœ“
SimpleGatherβœ“x1-n1xxβœ“
SortWithinGroups-βœ“11-nxxβœ“
XSLTransformer-x0-10-2xxx

[1] Partition can use either a transformation or two other attributes (Ranges or Partition key). The transformation must be defined unless one of these is specified.

CTL Templates for Transformers

  • Partition requires a transformation (which can be written in both CTL and Java) unless Partition key or Ranges are defined.
    Remember that this component sends each record through the connected output port whose number is equal to the value returned by the transformation (Return Values of Transformations). Mapping does not need to be done, records are mapped automatically.
  • DataIntersection requires a transformation which can be written in both CTL and Java.
    For more information about the transformation template, see CTL Templates for DataIntersection.
  • Map requires a transformation which can be written in both CTL and Java.
    For more information about the transformation template, see CTL Templates for Map.
    Remember that this component sends each record through the connected output port whose number is equal to the value returned by the transformation (Return Values of Transformations). Mapping must be defined for this port.
  • Denormalizer requires a transformation which can be written in both CTL and Java.
    For more information about the transformation template, see CTL Templates.
  • Normalizer requires a transformation which can be written in both CTL and Java.
    For more information about the transformation template, see CTL Templates for Normalizer.
  • Rollup requires a transformation which can be written in both CTL and Java.
    For more information about the transformation template, see CTL Templates for Rollup.
    Remember that this component sends each record through the connected output port whose number is equal to the value returned by the transformation (Return Values of Transformations). Mapping must be defined for this port.

Java Interfaces for Transformers

  • Partition requires a transformation (which can be written in both CTL and Java) unless Partition key or Ranges are defined.
    Remember that this component sends each record through the connected output port whose number is equal to the value returned by the transformation (Return Values of Transformations). Mapping does not need to be done, records are mapped automatically.
  • DataIntersection requires a transformation which can be written in both CTL and Java.
    For more information about the interface, see Java Interfaces for DataIntersection.
  • Map requires a transformation which can be written in both CTL and Java.
    For more information about the interface, see Java Interfaces for Map.
    Remember that this component sends each record through the connected output port whose number is equal to the value returned by the transformation (Return Values of Transformations). Mapping must be defined for such port.
  • Denormalizer requires a transformation which can be written in both CTL and Java.
    For more information about the interface, see Java Interface.
  • Normalizer requires a transformation which can be written in both CTL and Java.
    For more information about the interface, see see Java Interface.
  • Rollup requires a transformation which can be written in both CTL and Java.
    For more information about the interface, see see Java Interface.
    Remember that this component sends each record through the connected output port whose number is equal to the value returned by the transformation (Return Values of Transformations). Mapping must be defined for such port.