Interface ProjectionProducer<T>

All Known Implementing Classes:
BigQueryIO.TypedRead

public interface ProjectionProducer<T>
A factory for operations that execute a projection on a Schema-aware PCollection.

Typically this interface will be implemented by a reader PTransform or some component thereof that is capable of pushing down a projection to an external source.

  • Method Details

    • supportsProjectionPushdown

      boolean supportsProjectionPushdown()
      Whether this supports projection pushdown.
    • actuateProjectionPushdown

      T actuateProjectionPushdown(Map<TupleTag<?>,FieldAccessDescriptor> outputFields)
      Actuate a projection pushdown.
      Parameters:
      outputFields - Map keyed by the TupleTag for each output on which pushdown is requested. The value is the FieldAccessDescriptor containing the list of fields needed for that output; fields not present in the descriptor should be dropped.
      Returns:
      T that implements the projection pushdown. The return value is assumed to be a drop-in replacement for this; it must have all the same functionality. For this reason, T is usually the same class as this.