Interface Transform

All Known Implementing Classes:
ExpressionTransform

public interface Transform
A row transform that is part of a TransformSpec. Transforms allow adding new fields to input rows. Each one has a "name" (the name of the new field) which can be referred to by DimensionSpecs, AggregatorFactories, etc. Each also has a "row function", which produces values for this new field based on looking at the entire input row. If a transform has the same name as a field in an input row, then it will shadow the original field. Transforms that shadow fields may still refer to the fields they shadow. This can be used to transform a field "in-place". Transforms do have some limitations. They can only refer to fields present in the actual input rows; in particular, they cannot refer to other transforms. And they cannot remove fields, only add them. However, they can shadow a field with another field containing all nulls, which will act similarly to removing the field.
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns the field name for this transform.
    Returns the names of all columns that this transform is going to read.
    Returns the function for this transform.
  • Method Details

    • getName

      String getName()
      Returns the field name for this transform.
    • getRowFunction

      RowFunction getRowFunction()
      Returns the function for this transform. The RowFunction takes an entire row as input and returns a column value as output.
    • getRequiredColumns

      Set<String> getRequiredColumns()
      Returns the names of all columns that this transform is going to read.