Uploaded image for project: 'Beam'
  1. Beam
  2. BEAM-6858

Support side inputs injected into a DoFn

Details

    • Bug
    • Status: Resolved
    • P2
    • Resolution: Fixed
    • None
    • 2.16.0
    • sdk-java-core

    Description

      Beam currently supports injecting main inputs into a DoFn process method. A user can write the following:

      @ProcessElement public void process(@Element InputT element)

      And Beam will (using ByteBuddy code generation) inject the input element into the process method.

      We would like to also support the same for side inputs. For example:

      @ProcessElement public void process(@Element InputT element, @SideInput("tag1") String input1, @SideInput("tag2") Integer input2) 

      This requires the existing process-method analysis framework to capture these side inputs. The ParDo code would have to verify the type of the side input and include them in the list of side inputs. This would also eliminate the need for the user to explicitly call withSideInputs on the ParDo.

       

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              reuvenlax Reuven Lax
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 8h 50m
                  8h 50m