Interface Pipeline.PipelineVisitor

All Known Implementing Classes:
CountingPipelineVisitor, GroupByKeyVisitor, LookupPipelineVisitor, Pipeline.PipelineVisitor.Defaults, SparkNativePipelineVisitor, SparkRunner.Evaluator, Twister2BatchPipelineTranslator, Twister2PipelineTranslator, Twister2StreamPipelineTranslator
Enclosing class:
Pipeline

@Internal public static interface Pipeline.PipelineVisitor
For internal use only; no backwards-compatibility guarantees.

A Pipeline.PipelineVisitor can be passed into Pipeline.traverseTopologically(org.apache.beam.sdk.Pipeline.PipelineVisitor) to be called for each of the transforms and values in the Pipeline.

  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static enum 
    Control enum for indicating whether or not a traversal should process the contents of a composite transform or not.
    static class 
    Default no-op Pipeline.PipelineVisitor that enters all composite transforms.
  • Method Summary

    Modifier and Type
    Method
    Description
    enterCompositeTransform(org.apache.beam.sdk.runners.TransformHierarchy.Node node)
    Called for each composite transform after all topological predecessors have been visited but before any of its component transforms.
    void
    Called before visiting anything values or transforms, as many uses of a visitor require access to the Pipeline object itself.
    void
    leaveCompositeTransform(org.apache.beam.sdk.runners.TransformHierarchy.Node node)
    Called for each composite transform after all of its component transforms and their outputs have been visited.
    void
    Called when all values and transforms in a Pipeline have been visited.
    void
    visitPrimitiveTransform(org.apache.beam.sdk.runners.TransformHierarchy.Node node)
    Called for each primitive transform after all of its topological predecessors and inputs have been visited.
    void
    visitValue(PValue value, org.apache.beam.sdk.runners.TransformHierarchy.Node producer)
    Called for each value after the transform that produced the value has been visited.
  • Method Details

    • enterPipeline

      void enterPipeline(Pipeline p)
      Called before visiting anything values or transforms, as many uses of a visitor require access to the Pipeline object itself.
    • enterCompositeTransform

      Pipeline.PipelineVisitor.CompositeBehavior enterCompositeTransform(org.apache.beam.sdk.runners.TransformHierarchy.Node node)
      Called for each composite transform after all topological predecessors have been visited but before any of its component transforms.

      The return value controls whether or not child transforms are visited.

    • leaveCompositeTransform

      void leaveCompositeTransform(org.apache.beam.sdk.runners.TransformHierarchy.Node node)
      Called for each composite transform after all of its component transforms and their outputs have been visited.
    • visitPrimitiveTransform

      void visitPrimitiveTransform(org.apache.beam.sdk.runners.TransformHierarchy.Node node)
      Called for each primitive transform after all of its topological predecessors and inputs have been visited.
    • visitValue

      void visitValue(PValue value, org.apache.beam.sdk.runners.TransformHierarchy.Node producer)
      Called for each value after the transform that produced the value has been visited.
    • leavePipeline

      void leavePipeline(Pipeline pipeline)
      Called when all values and transforms in a Pipeline have been visited.