aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrian Petrescu <apetresc@gmail.com>2016-09-20 10:49:02 +0100
committerSean Owen <sowen@cloudera.com>2016-09-20 10:49:02 +0100
commit4a426ff8aea4faa31a3016a453dec5b7954578dd (patch)
tree037ee8e6df4d767aa5c001cd2101b93c3463d72c
parentf039d964d152c0aeb5b71eb5188a9a7fd4b5aef3 (diff)
downloadspark-4a426ff8aea4faa31a3016a453dec5b7954578dd.tar.gz
spark-4a426ff8aea4faa31a3016a453dec5b7954578dd.tar.bz2
spark-4a426ff8aea4faa31a3016a453dec5b7954578dd.zip
[SPARK-17437] Add uiWebUrl to JavaSparkContext and pyspark.SparkContext
## What changes were proposed in this pull request? The Scala version of `SparkContext` has a handy field called `uiWebUrl` that tells you which URL the SparkUI spawned by that instance lives at. This is often very useful because the value for `spark.ui.port` in the config is only a suggestion; if that port number is taken by another Spark instance on the same machine, Spark will just keep incrementing the port until it finds a free one. So, on a machine with a lot of running PySpark instances, you often have to start trying all of them one-by-one until you find your application name. Scala users have a way around this with `uiWebUrl` but Java and Python users do not. This pull request fixes this in the most straightforward way possible, simply propagating this field through the `JavaSparkContext` and into pyspark through the Java gateway. Please let me know if any additional documentation/testing is needed. ## How was this patch tested? Existing tests were run to make sure there were no regressions, and a binary distribution was created and tested manually for the correct value of `sc.uiWebPort` in a variety of circumstances. Author: Adrian Petrescu <apetresc@gmail.com> Closes #15000 from apetresc/pyspark-uiweburl.
-rw-r--r--python/pyspark/context.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/python/pyspark/context.py b/python/pyspark/context.py
index 2744bb9ec0..5c32f8ea1d 100644
--- a/python/pyspark/context.py
+++ b/python/pyspark/context.py
@@ -333,6 +333,11 @@ class SparkContext(object):
return self._jsc.sc().applicationId()
@property
+ def uiWebUrl(self):
+ """Return the URL of the SparkUI instance started by this SparkContext"""
+ return self._jsc.sc().uiWebUrl().get()
+
+ @property
def startTime(self):
"""Return the epoch time when the Spark Context was started."""
return self._jsc.startTime()