You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@beam.apache.org by "Brian Hulette (Jira)" <ji...@apache.org> on 2021/04/28 18:01:00 UTC
[jira] [Updated] (BEAM-12245) Memoize DataFrame operations
[ https://issues.apache.org/jira/browse/BEAM-12245?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Brian Hulette updated BEAM-12245:
---------------------------------
Status: Open (was: Triage Needed)
> Memoize DataFrame operations
> ----------------------------
>
> Key: BEAM-12245
> URL: https://issues.apache.org/jira/browse/BEAM-12245
> Project: Beam
> Issue Type: Improvement
> Components: sdk-py-core
> Reporter: Brian Hulette
> Priority: P2
> 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)