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)