Class ProcessBundleDescriptors

java.lang.Object
org.apache.beam.runners.fnexecution.control.ProcessBundleDescriptors

public class ProcessBundleDescriptors extends Object
Utility methods for creating BeamFnApi.ProcessBundleDescriptor instances.
  • Constructor Details

    • ProcessBundleDescriptors

      public ProcessBundleDescriptors()
  • Method Details

    • fromExecutableStage

      public static ProcessBundleDescriptors.ExecutableProcessBundleDescriptor fromExecutableStage(String id, org.apache.beam.sdk.util.construction.graph.ExecutableStage stage, org.apache.beam.model.pipeline.v1.Endpoints.ApiServiceDescriptor dataEndpoint, org.apache.beam.model.pipeline.v1.Endpoints.ApiServiceDescriptor stateEndpoint) throws IOException
      Note that the BeamFnApi.ProcessBundleDescriptor is constructed by:
      • Adding gRPC read and write nodes wiring them to the specified data endpoint.
      • Setting the state Endpoints.ApiServiceDescriptor to the specified state endpoint.
      • Modifying the coder on PCollections that are accessed as side inputs to be length prefixed making them binary compatible with the coder chosen when that side input is materialized.
      Throws:
      IOException
    • fromExecutableStage

      public static ProcessBundleDescriptors.ExecutableProcessBundleDescriptor fromExecutableStage(String id, org.apache.beam.sdk.util.construction.graph.ExecutableStage stage, org.apache.beam.model.pipeline.v1.Endpoints.ApiServiceDescriptor dataEndpoint) throws IOException
      Throws:
      IOException
    • getSideInputs

      public static Map<String,Map<String,ProcessBundleDescriptors.SideInputSpec>> getSideInputs(org.apache.beam.sdk.util.construction.graph.ExecutableStage stage) throws IOException
      Throws:
      IOException