rohdesamuel commented on a change in pull request #14778:
URL: https://github.com/apache/beam/pull/14778#discussion_r631355891
##########
File path: sdks/python/apache_beam/runners/interactive/recording_manager.py
##########
@@ -298,8 +298,12 @@ def _watch(self, pcolls):
watched_pcollections.add(val)
elif isinstance(val, DeferredBase):
watched_dataframes.add(val)
- # Convert them all in a single step for efficiency.
- for pcoll in to_pcollection(*watched_dataframes, always_return_tuple=True):
+
+ # Convert them one-by-one to generate a unique label for each. This allows
+ # caching at a more fine-grained granularity.
+ for df in watched_dataframes:
+ pcoll = to_pcollection(
+ df, yield_elements='pandas', label=str(id(df._expr._id)))
Review comment:
Right, I found that the default label generated from to_pcollection
wasn't unique enough for notebooks. If you take a look at the
InteractiveRunnerTest.test_dataframes_same_cell_twice test, then you can see
that the default label is the same for both df['square'] and df['cube']. I can
take a look in the _var_name method, maybe something wrong is there.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]