twang126 commented on code in PR #25935:
URL: https://github.com/apache/beam/pull/25935#discussion_r1145368828


##########
sdks/python/apache_beam/yaml/yaml_transform.py:
##########
@@ -377,6 +378,18 @@ def pipeline_as_composite(spec):
     return dict(spec, name=None, type='composite')
 
 
+def normalize_source_sink(spec):

Review Comment:
   I see, now I realize I had a misunderstanding of chain. I had thought 
earlier that the goal was to make chain support everything, but now see 
there'll be a whole other family of composite transforms that can handle non 
linear graphs. Side question - can a single pipeline combine a chain with a 
different composite transform? i.e. define multiple composite transforms that 
then feeds into a chain all within a single pipeline? From what I've 
interpreted I think the answer is yes?
   
   I thought about it again and I really like the idea to have one source and 
sink spot **and** to have that allof transform.
   We get a really easy simple path (i.e. linear graph, 1 sink and source), and 
the allof transform gives the YAML dsl enough expressiveness to expand that to 
multiple sources & sinks in a clean way. This would already cover basically all 
of the expressiveness we had at Lyft. I'm also not worried about the implicit 
flatten in the allof transform because imo forcing the user to use allof and 
documenting what it does would make that flatten explicit. 
   
   Which way are you leaning?



-- 
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.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to