Class MultiDoFnFunction<InputT,OutputT>
java.lang.Object
org.apache.beam.runners.spark.translation.MultiDoFnFunction<InputT,OutputT>
- Type Parameters:
InputT- Input type for DoFunction.OutputT- Output type for DoFunction.
- All Implemented Interfaces:
Serializable,org.apache.spark.api.java.function.PairFlatMapFunction<Iterator<org.apache.beam.sdk.values.WindowedValue<InputT>>,org.apache.beam.sdk.values.TupleTag<?>, org.apache.beam.sdk.values.WindowedValue<?>>
public class MultiDoFnFunction<InputT,OutputT>
extends Object
implements org.apache.spark.api.java.function.PairFlatMapFunction<Iterator<org.apache.beam.sdk.values.WindowedValue<InputT>>,org.apache.beam.sdk.values.TupleTag<?>,org.apache.beam.sdk.values.WindowedValue<?>>
DoFunctions ignore outputs that are not the main output. MultiDoFunctions deal with additional
outputs by enriching the underlying data with multiple TupleTags.
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionMultiDoFnFunction(MetricsContainerStepMapAccumulator metricsAccum, String stepName, org.apache.beam.sdk.transforms.DoFn<InputT, OutputT> doFn, org.apache.beam.runners.core.construction.SerializablePipelineOptions options, org.apache.beam.sdk.values.TupleTag<OutputT> mainOutputTag, List<org.apache.beam.sdk.values.TupleTag<?>> additionalOutputTags, org.apache.beam.sdk.coders.Coder<InputT> inputCoder, Map<org.apache.beam.sdk.values.TupleTag<?>, org.apache.beam.sdk.coders.Coder<?>> outputCoders, Map<org.apache.beam.sdk.values.TupleTag<?>, org.apache.beam.sdk.values.KV<org.apache.beam.sdk.values.WindowingStrategy<?, ?>, SideInputBroadcast<?>>> sideInputs, org.apache.beam.sdk.values.WindowingStrategy<?, ?> windowingStrategy, boolean stateful, org.apache.beam.sdk.transforms.DoFnSchemaInformation doFnSchemaInformation, Map<String, org.apache.beam.sdk.values.PCollectionView<?>> sideInputMapping, boolean useBoundedConcurrentOutput, boolean useStreamingSideInput) -
Method Summary
-
Constructor Details
-
MultiDoFnFunction
public MultiDoFnFunction(MetricsContainerStepMapAccumulator metricsAccum, String stepName, org.apache.beam.sdk.transforms.DoFn<InputT, OutputT> doFn, org.apache.beam.runners.core.construction.SerializablePipelineOptions options, org.apache.beam.sdk.values.TupleTag<OutputT> mainOutputTag, List<org.apache.beam.sdk.values.TupleTag<?>> additionalOutputTags, org.apache.beam.sdk.coders.Coder<InputT> inputCoder, Map<org.apache.beam.sdk.values.TupleTag<?>, org.apache.beam.sdk.coders.Coder<?>> outputCoders, Map<org.apache.beam.sdk.values.TupleTag<?>, org.apache.beam.sdk.values.KV<org.apache.beam.sdk.values.WindowingStrategy<?, ?>, SideInputBroadcast<?>>> sideInputs, org.apache.beam.sdk.values.WindowingStrategy<?, ?> windowingStrategy, boolean stateful, org.apache.beam.sdk.transforms.DoFnSchemaInformation doFnSchemaInformation, Map<String, org.apache.beam.sdk.values.PCollectionView<?>> sideInputMapping, boolean useBoundedConcurrentOutput, boolean useStreamingSideInput) - Parameters:
metricsAccum- The SparkAccumulatorV2that backs the Beam metrics.doFn- TheDoFnto be wrapped.options- TheSerializablePipelineOptions.mainOutputTag- The main outputTupleTag.additionalOutputTags- Additionaloutput tags.inputCoder- The coder for the input.outputCoders- A map of all output coders.sideInputs- Side inputs used in thisDoFn.windowingStrategy- InputWindowingStrategy.stateful- StatefulDoFn.useBoundedConcurrentOutput- If it should use bounded output for processing.
-
-
Method Details
-
call
-