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]


Reply via email to