Package org.apache.beam.sdk.schemas
Interface ProjectionProducer<T>
-
@Experimental public interface ProjectionProducer<T>
A factory for operations that execute a projection on aSchema
-awarePCollection
.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 Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description T
actuateProjectionPushdown(java.util.Map<TupleTag<?>,FieldAccessDescriptor> outputFields)
Actuate a projection pushdown.boolean
supportsProjectionPushdown()
Whetherthis
supports projection pushdown.
-
-
-
Method Detail
-
supportsProjectionPushdown
boolean supportsProjectionPushdown()
Whetherthis
supports projection pushdown.
-
actuateProjectionPushdown
T actuateProjectionPushdown(java.util.Map<TupleTag<?>,FieldAccessDescriptor> outputFields)
Actuate a projection pushdown.- Parameters:
outputFields
- Map keyed by theTupleTag
for each output on which pushdown is requested. The value is theFieldAccessDescriptor
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 forthis
; it must have all the same functionality. For this reason,T
is usually the same class asthis
.
-
-