[
https://issues.apache.org/jira/browse/BEAM-6858?focusedWorklogId=290580&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-290580
]
ASF GitHub Bot logged work on BEAM-6858:
----------------------------------------
Author: ASF GitHub Bot
Created on: 07/Aug/19 16:31
Start Date: 07/Aug/19 16:31
Worklog Time Spent: 10m
Work Description: reuvenlax commented on pull request #9275: [BEAM-6858]
Support side inputs injected into a DoFn
URL: https://github.com/apache/beam/pull/9275#discussion_r311646048
##########
File path:
sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/ParDo.java
##########
@@ -793,6 +801,18 @@ public String toString() {
return withSideInputs(Arrays.asList(sideInputs));
}
+ /**
+ * Returns a new multi-output {@link ParDo} {@link PTransform} that's like
this {@link
+ * PTransform} but with the specified additional side inputs. Does not
modify this {@link
+ * PTransform}.
+ *
+ * <p>See the discussion of Side Inputs above for more explanation.
+ */
+ public MultiOutput<InputT, OutputT> withSideInput(String tagId,
PCollectionView<?> sideInput) {
+ sideInput.setTagInternalId(tagId);
Review comment:
ditto - don't modify the input.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
Issue Time Tracking
-------------------
Worklog Id: (was: 290580)
Time Spent: 20m (was: 10m)
> Support side inputs injected into a DoFn
> ----------------------------------------
>
> Key: BEAM-6858
> URL: https://issues.apache.org/jira/browse/BEAM-6858
> Project: Beam
> Issue Type: Bug
> Components: sdk-java-core
> Reporter: Reuven Lax
> Assignee: Shehzaad Nakhoda
> Priority: Major
> Time Spent: 20m
> Remaining Estimate: 0h
>
> 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.
>
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)