Skip to content
Snippets Groups Projects
Commit f654b39a authored by Kyle Kelley's avatar Kyle Kelley Committed by Holden Karau
Browse files

[SPARK-20360][PYTHON] reprs for interpreters

## What changes were proposed in this pull request?

Establishes a very minimal `_repr_html_` for PySpark's `SparkContext`.

## How was this patch tested?

nteract:

![screen shot 2017-04-17 at 3 41 29 pm](https://cloud.githubusercontent.com/assets/836375/25107701/d57090ba-2385-11e7-8147-74bc2c50a41b.png)

Jupyter:

![screen shot 2017-04-17 at 3 53 19 pm](https://cloud.githubusercontent.com/assets/836375/25107725/05bf1fe8-2386-11e7-93e1-07a20c917dde.png)

Hydrogen:

![screen shot 2017-04-17 at 3 49 55 pm](https://cloud.githubusercontent.com/assets/836375/25107664/a75e1ddc-2385-11e7-8477-258661833007.png)

Author: Kyle Kelley <rgbkrk@gmail.com>

Closes #17662 from rgbkrk/repr.
parent 1f81dda3
No related branches found
No related tags found
No related merge requests found
...@@ -240,6 +240,32 @@ class SparkContext(object): ...@@ -240,6 +240,32 @@ class SparkContext(object):
if isinstance(threading.current_thread(), threading._MainThread): if isinstance(threading.current_thread(), threading._MainThread):
signal.signal(signal.SIGINT, signal_handler) signal.signal(signal.SIGINT, signal_handler)
def __repr__(self):
return "<SparkContext master={master} appName={appName}>".format(
master=self.master,
appName=self.appName,
)
def _repr_html_(self):
return """
<div>
<p><b>SparkContext</b></p>
<p><a href="{sc.uiWebUrl}">Spark UI</a></p>
<dl>
<dt>Version</dt>
<dd><code>v{sc.version}</code></dd>
<dt>Master</dt>
<dd><code>{sc.master}</code></dd>
<dt>AppName</dt>
<dd><code>{sc.appName}</code></dd>
</dl>
</div>
""".format(
sc=self
)
def _initialize_context(self, jconf): def _initialize_context(self, jconf):
""" """
Initialize SparkContext in function to allow subclass specific initialization Initialize SparkContext in function to allow subclass specific initialization
......
...@@ -221,6 +221,17 @@ class SparkSession(object): ...@@ -221,6 +221,17 @@ class SparkSession(object):
or SparkSession._instantiatedSession._sc._jsc is None: or SparkSession._instantiatedSession._sc._jsc is None:
SparkSession._instantiatedSession = self SparkSession._instantiatedSession = self
def _repr_html_(self):
return """
<div>
<p><b>SparkSession - {catalogImplementation}</b></p>
{sc_HTML}
</div>
""".format(
catalogImplementation=self.conf.get("spark.sql.catalogImplementation"),
sc_HTML=self.sparkContext._repr_html_()
)
@since(2.0) @since(2.0)
def newSession(self): def newSession(self):
""" """
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment