Chris Suchandk created BEAM-8140:
------------------------------------

             Summary: Python API: PTransform should be immutable
                 Key: BEAM-8140
                 URL: https://issues.apache.org/jira/browse/BEAM-8140
             Project: Beam
          Issue Type: Improvement
          Components: beam-model
            Reporter: Chris Suchandk


While the Java API seems fine the Python API is (at least) counterintuitive.

Let's see the following example:
{code:python}
p1 = beam.Pipeline()
p2 = beam.Pipeline()
node = 'ReadTrainData' >> beam.io.ReadFromText("/tmp/aaa.txt")
p1 | node 
p2 | node //fails here {code}
The code above will fail because the _node_ somehow remembers that it was 
already attached to _p1_. In fact, unlike in Java, the | (apply) method is 
defined on the _PTransform_.

If any, only the pipeline object should be mutable here.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

Reply via email to