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 2021/07/12 17:21:01 UTC

[jira] [Commented] (BEAM-12245) Memoize DataFrame operations

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

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

This issue was marked "stale-P2" and has not received a public comment in 14 days. It is now automatically moved to P3. If you are still affected by it, you can comment and move it back to P2.

> Memoize DataFrame operations
> ----------------------------
>
>                 Key: BEAM-12245
>                 URL: https://issues.apache.org/jira/browse/BEAM-12245
>             Project: Beam
>          Issue Type: Improvement
>          Components: dsl-dataframe, sdk-py-core
>            Reporter: Brian Hulette
>            Priority: P3
>              Labels: dataframe-api
>
> Currently performing an operation on a deferred dataframe always produces a _new_ deferred dataframe. This means a call like to_pcollection(df.mean(), df.mean()), will produce two distinct PCollections duplicating the same computation.
> This is particularly problematic for the interactive use-case where, to_pcollection is used inside of ib.collect() in combination with PCollection caching. Collecting df.mean() two different times will duplicate the computation unnecessarily.
> We should cache the output expressions produced by operations to prevent this.
> We need to be mindful of inplace operations when implementing this:
> - Two calls to df.mean() should produce the same result iff df has not been mutated in between.
> - If the output of one call to df.mean() is mutated, it must not mutate the output of another call to df.mean().



--
This message was sent by Atlassian Jira
(v8.3.4#803005)