+1. 
SideInput and SideOutput probably make new user confused. It is different 
behavior.
BTW, is it also better to change "main output" to "default output" when user 
does not explicitly specify an output tag?

Regards
Jian Liu(Basti)

-----Original Message-----
From: Thomas Groh [mailto:tg...@google.com.INVALID] 
Sent: Wednesday, April 12, 2017 4:56 AM
To: dev@beam.apache.org
Subject: Renaming SideOutput

Hey everyone:

I'd like to rename DoFn.Context#sideOutput to #output (in the Java SDK).

Having two methods, both named output, one which takes the "main output type" 
and one that takes a tag to specify the type more clearly communicates the 
actual behavior - sideOutput isn't a "special" way to output, it's the same as 
output(T), just to a specified PCollection. This will help pipeline authors 
understand the actual behavior of outputting to a tag, and detangle it from 
"sideInput", which is a special way to receive input. Giving them the same name 
means that it's not even strange to call output and provide the main output 
type, which is what we want - it's a more specific way to output, but does not 
have different restrictions or capabilities.

This is also a pretty small change within the SDK - it touches about 20 files, 
and the changes are pretty automatic.

Thanks,

Thomas

Reply via email to