[
https://issues.apache.org/jira/browse/BEAM-13812?focusedWorklogId=727903&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-727903
]
ASF GitHub Bot logged work on BEAM-13812:
-----------------------------------------
Author: ASF GitHub Bot
Created on: 15/Feb/22 22:53
Start Date: 15/Feb/22 22:53
Worklog Time Spent: 10m
Work Description: VictorPlusC commented on a change in pull request
#16741:
URL: https://github.com/apache/beam/pull/16741#discussion_r807385810
##########
File path: sdks/python/apache_beam/runners/interactive/interactive_beam.py
##########
@@ -329,6 +359,101 @@ def record(self, pipeline):
return recording_manager.record_pipeline()
+class Clusters():
+ """An interface for users to modify the pipelines that are being run by the
+ Interactive Environment.
+
+ Methods of the Interactive Beam Clusters class can be accessed via:
+ interactive_beam.clusters
+
+ Example of calling the Interactive Beam clusters describe method::
+ interactive_beam.clusters.describe()
+ """
+ def __init__(self) -> None:
+ """Instantiates default values for Dataproc cluster interactions.
+ """
+ self._default_cluster_name = 'interactive-beam-cluster'
+ self._master_urls = bidict()
+ self._dataproc_cluster_managers = {}
+ self._master_urls_to_pipelines = {}
+
+ def describe(self, pipeline: Optional[beam.Pipeline]=None) -> dict:
+ """Returns a description of the cluster associated to the given pipeline.
+
+ If no pipeline is given then this returns a dictionary of descriptions for
+ all pipelines.
+ """
+
+ description = ie.current_env().describe_all_clusters()
+ if pipeline:
+ return description.get(pipeline, None)
+ return description
+
+ @property
+ def default_cluster_name(self) -> str:
+ """The default name to be used when creating Dataproc clusters.
+
+ Defaults to 'interactive-beam-cluster'.
+ """
+ return self._default_cluster_name
+
+ @default_cluster_name.setter
+ def default_cluster_name(self, value: bool) -> None:
+ """Sets the default name to be used when creating Dataproc clusters.
+
+ Defaults to 'interactive-beam-cluster'.
+
+ Example of assigning a default_cluster_name::
+ interactive_beam.clusters.default_cluster_name = 'my-beam-cluster'
+ """
+ self._default_cluster_name = value
+
+ def cleanup(self, pipeline: beam.Pipeline, forcefully=False) -> None:
Review comment:
Noted, thanks!
--
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.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
Issue Time Tracking
-------------------
Worklog Id: (was: 727903)
Time Spent: 9h 40m (was: 9.5h)
> Integrate DataprocClusterManager into Interactive Environment
> -------------------------------------------------------------
>
> Key: BEAM-13812
> URL: https://issues.apache.org/jira/browse/BEAM-13812
> Project: Beam
> Issue Type: New Feature
> Components: runner-py-interactive
> Reporter: Victor Chen
> Assignee: Victor Chen
> Priority: P2
> Time Spent: 9h 40m
> Remaining Estimate: 0h
>
> * Adds code to automatically create a Dataproc cluster configured with Docker
> and Flink if a user instantiates an InteractiveRunner using
> underlying_runner='FlinkRunner'
> * By default, the created Dataproc cluster will be called
> 'interactive-beam-cluster' and will be cleaned up when the Interactive
> Environment is interrupted
> * Users will be able to toggle an automatic deletion of the cluster with the
> default name, 'interactive-beam-cluster' when the kernel is interrupted
> * Introduces the Clusters class in interactive_beam.py, which acts as a user
> interface that provides the user with the following capabilities:
> ** Changing the default name of the clusters created by Interactive Beam
> ** Cleaning up a cluster by providing a corresponding pipeline, an option to
> force the deletion is provided, in the case where more than one pipeline use
> the same cluster
> ** Getting all pipelines that use the provided master_url
> ** Receiving a description back for either the cluster corresponding to a
> specific pipeline, or the descriptions of all pipelines
--
This message was sent by Atlassian Jira
(v8.20.1#820001)