[TOREE-407] Describe Toree as a Jupyter kernel
Project: http://git-wip-us.apache.org/repos/asf/incubator-toree-website/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-toree-website/commit/797d45ea Tree: http://git-wip-us.apache.org/repos/asf/incubator-toree-website/tree/797d45ea Diff: http://git-wip-us.apache.org/repos/asf/incubator-toree-website/diff/797d45ea Branch: refs/heads/master Commit: 797d45ea29b4e5e161a69128b6d0d931824afca1 Parents: a466fa3 Author: Luciano Resende <lrese...@apache.org> Authored: Sat Jan 13 23:51:59 2018 -0800 Committer: Luciano Resende <lrese...@apache.org> Committed: Sat Jan 13 23:51:59 2018 -0800 ---------------------------------------------------------------------- site/_data/project.yml | 2 +- .../images/toree-application-scenario.png | Bin 0 -> 74533 bytes site/assets/images/toree-basic-scenario.png | Bin 0 -> 130562 bytes site/index.md | 20 +++++-------------- 4 files changed, 6 insertions(+), 16 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-toree-website/blob/797d45ea/site/_data/project.yml ---------------------------------------------------------------------- diff --git a/site/_data/project.yml b/site/_data/project.yml index 4a8333e..9f595b0 100644 --- a/site/_data/project.yml +++ b/site/_data/project.yml @@ -20,7 +20,7 @@ short_name: Toree unix_name: toree incubator_name: incubator-toree incubator_slash_name: incubator/toree -description: Toree provides applications with a mechanism to interactively and remotely access Apache Spark. +description: Toree is a kernel for the Jupyter Notebook platform providing interactively access to Apache Spark. download: /download latest_release: 0.1.0-incubating http://git-wip-us.apache.org/repos/asf/incubator-toree-website/blob/797d45ea/site/assets/images/toree-application-scenario.png ---------------------------------------------------------------------- diff --git a/site/assets/images/toree-application-scenario.png b/site/assets/images/toree-application-scenario.png new file mode 100644 index 0000000..afd6891 Binary files /dev/null and b/site/assets/images/toree-application-scenario.png differ http://git-wip-us.apache.org/repos/asf/incubator-toree-website/blob/797d45ea/site/assets/images/toree-basic-scenario.png ---------------------------------------------------------------------- diff --git a/site/assets/images/toree-basic-scenario.png b/site/assets/images/toree-basic-scenario.png new file mode 100644 index 0000000..20c0632 Binary files /dev/null and b/site/assets/images/toree-basic-scenario.png differ http://git-wip-us.apache.org/repos/asf/incubator-toree-website/blob/797d45ea/site/index.md ---------------------------------------------------------------------- diff --git a/site/index.md b/site/index.md index 0c923e9..30877d1 100644 --- a/site/index.md +++ b/site/index.md @@ -26,22 +26,12 @@ limitations under the License. ## Apache Toree +Apache Toree is a kernel for the Jupyter Notebook platform providing interactively access to Apache Spark. It has been developed using the IPython protocol, and despite the protocolâs name, the apache Toree currently exposes the Spark programming model in Scala, Python and R languages. -### How to enable an interactive application against Apache Spark? +Toree supports a number of types of interactions. In one common case, applications send snippets of code which are then executed by Spark, and the results are returned directly to the application. This style of interaction is what users of Notebooks experience when they evaluate code in cells. Instead of sending raw code, an application can send magics, which might be commands to add a JAR to the Spark execution context or a call to execute a shell command such as âlsâ. Toree provides a well-defined mechanism to associate functionality with magics, and this is a useful point of extensibility of the system. -There are several options to communicate with a Spark cluster, but none provided the necessary flexibility combined with a API that would work for them. +<img src='/assets/images/toree-basic-scenario.png' height="50%" width="50%"> -### The solution? +Applications wanting to work with Spark can be located remotely from a Spark cluster and use a Apache Toree Client or Jupyter Client to communicate with a Apache Toree Server running on the cluster, or they can communicate directly with the Apache Toree Server. Multiple clients/applications can communicate with a single Kernel which contains a Spark application context, and this provides a simple form of multi-tenancy. -Apache Toree acts as the middleman between the application and a Spark cluster. - - -### What is Apache Toree ? - -Apache Toree was designed in response to our needs to enable applications that are both interactive and remote to work with Apache Spark. When we first started connecting applications to Spark, we discovered the existing interaction mechanisms had serious limitations, such as requiring code to be bundled in a JAR and writing results out to an external datastore. - -To overcome these limitations, we wrote the Apache Toree that uses the IPython protocol. Despite the protocolâs name, the apache Toree is not limited to supporting just Python, and indeed our first application was a Notebook for analyzing data with Scala. - -Toree supports a number of types of interactions. In one common case, applications send snippets of code which are then executed by Spark, and the results are returned directly to the application. This style of interaction is what users of Notebooks experience when they evaluate code in cells. Instead of sending raw code, an application can send magics, which might be commands to add a JAR to the Spark execution context or a call to execute a shell command such as âlsâ. Toree provides a well-defined mechanism to associate functionality with magics, and this is a useful point of extensibility of the system. The Kernel also supports an RPC-like interaction for applications to communicate with Spark. This is supported through the âComm APIâ which is useful, for example, when an application needs to repetitively apply the same function to different data values. - -Applications wanting to work with Spark can be located remotely from a Spark cluster and use a Apache Toree Client to communicate with a Apache Toree Server running on the cluster, or they can communicate directly with the Apache Toree Server. Multiple clients/applications can communicate with a single Kernel which contains a Spark application context, and this provides a simple form of multi-tenancy. \ No newline at end of file +<img src='/assets/images/toree-application-scenario.png' height="50%" width="50%">