You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@beam.apache.org by "Beam JIRA Bot (Jira)" <ji...@apache.org> on 2020/08/10 17:08:13 UTC

[jira] [Commented] (BEAM-8140) Python API: PTransform should be immutable and reusable

    [ https://issues.apache.org/jira/browse/BEAM-8140?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17174666#comment-17174666 ] 

Beam JIRA Bot commented on BEAM-8140:
-------------------------------------

This issue is P2 but has been unassigned without any comment for 60 days so it has been labeled "stale-P2". If this issue is still affecting you, we care! Please comment and remove the label. Otherwise, in 14 days the issue will be moved to P3.

Please see https://beam.apache.org/contribute/jira-priorities/ for a detailed explanation of what these priorities mean.


> Python API: PTransform should be immutable and reusable
> -------------------------------------------------------
>
>                 Key: BEAM-8140
>                 URL: https://issues.apache.org/jira/browse/BEAM-8140
>             Project: Beam
>          Issue Type: Bug
>          Components: sdk-py-core
>            Reporter: Chris Suchanek
>            Priority: P2
>              Labels: stale-P2
>
> 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.4#803005)