You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@beam.apache.org by "Chris Suchandk (Jira)" <ji...@apache.org> on 2019/09/03 23:04:00 UTC
[jira] [Created] (BEAM-8140) Python API: PTransform should be
immutable
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)