[
https://issues.apache.org/jira/browse/BEAM-12245?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17370745#comment-17370745
]
Beam JIRA Bot commented on BEAM-12245:
--------------------------------------
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.
> 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: P2
> Labels: dataframe-api, stale-P2
>
> 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)