R and SparkR Support [WIP] ### What is this PR for?
Implement R and SpakR Intepreter as part of the Spark Interpreter Group. It also implements R and Scala binding (in both directions). ### What type of PR is it? [Feature] ### Todos * [ ] - Documentation * [ ] - Unit test (if relevant, as we depend on R being available on the host) * [ ] - Assess licensing (a priori ok as we don't delive anything out of ASL2, but we should corectly phrase the NOTICE as we depend on non-ASL2 comptabile licenses (R) to run the interpreter). ### Is there a relevant Jira issue? https://issues.apache.org/jira/browse/ZEPPELIN-156 SparkR support ### How should this be tested? You need R available on the host running the notebook. For Centos: yum install R R-devel For Ubuntu: apt-get install r-base r-cran-rserve Install additional R packages: ``` curl https://cran.r-project.org/src/contrib/Archive/rscala/rscala_1.0.6.tar.gz -o /tmp/rscala_1.0.6.tar.gz R CMD INSTALL /tmp/rscala_1.0.6.tar.gz R -e "install.packages('ggplot2', repos = 'http://cran.us.r-project.org')" R -e install.packages('knitr', repos = 'http://cran.us.r-project.org') ``` - Build + launch Zeppelin and test the R note. !!! you need rscala_1.0.6 (if not, you need to build with -Drscala.version=...) ### Screenshots (if appropriate) #### Simple R [](https://raw.githubusercontent.com/datalayer/zeppelin-R/rscala/_Rimg/simple-r.png) #### Plot [](https://raw.githubusercontent.com/datalayer/zeppelin-R/rscala/_Rimg/plot.png) #### Scala R Binding [](https://raw.githubusercontent.com/datalayer/zeppelin-R/rscala/_Rimg/scala-r.png) #### R Scala Binding [](https://raw.githubusercontent.com/datalayer/zeppelin-R/rscala/_Rimg/r-scala.png) #### SparkR [](https://raw.githubusercontent.com/datalayer/zeppelin-R/rscala/_Rimg/sparkr.png) ### Questions: * Does the licenses files need update? to be checked... (cfr R needs to be available to make this interpreter operational). * Is there breaking changes for older versions? No * Does this needs documentation? Yes Author: Eric Charles <[email protected]> Author: Lee moon soo <[email protected]> This patch had conflicts when merged, resolved by Committer: Lee moon soo <[email protected]> Closes #702 from echarles/rscala-z and squashes the following commits: 137040c [Eric Charles] Trigger build again 53645f6 [Eric Charles] Trigger build 519f3a9 [Eric Charles] Add back the spark.bin.download.url property for sparkr profile d1f0521 [Eric Charles] Merge with master 72ab72c [Eric Charles] Trigger travis build 151af0a [Eric Charles] Enable back the R install in travis ed70820 [Eric Charles] Merge with master ae21036 [Eric Charles] Note: unlist array passed from scala to R, patch contributed by @jeffsteinmetz ac0e16d [Eric Charles] Merge pull request #8 from Leemoonsoo/rscala-z-fix-interpreter-list-order 90c1b4d [Lee moon soo] Sort interpreter list correctly c36fe8a [Eric Charles] Return SUCCESS if result is empty 463c066 [Eric Charles] Log exception on open f6e685a [Eric Charles] Remove SparkRInterpeterTest, test is convered in ZeppelinSparkClusterTest 19ec4f3 [Eric Charles] Add back SparkRInterpreterTest.java 58227e9 [Eric Charles] Merge branch 'rscala-z-rs' into rscala-z 290289f [Eric Charles] Merge with master eb6c40c [Eric Charles] Merge remote rscala-z-rs 962d0d9 [Eric Charles] DOC: Add more visualization libraries 9b95d60 [Lee moon soo] Remove unnecessary test 894c399 [Lee moon soo] Remove SparkRInterpreterTest bac1e1b [Lee moon soo] R on travis f6661c2 [Lee moon soo] fix profile activation 1a0195f [Lee moon soo] exclude test when sparkr profile is not defined 2307115 [Lee moon soo] Make sparkr work without SPARK_HOME dcfee32 [Lee moon soo] Add test aa35a83 [Lee moon soo] Download sparkR package 1d99fa8 [Lee moon soo] Remove rscala related stuff from project fc66da9 [Lee moon soo] R -> r a122894 [Lee moon soo] render output 9df9535 [Lee moon soo] Remove rscala dependency 1e2c99b [Eric Charles] DOC: no need for r-cran-rserve, thx to @jeffsteinmetz 2300ebc [Eric Charles] Update to latest change in interpeter constructs ecf8bc4 [Eric Charles] Merge with master a119b72 [Eric Charles] Merge with remote 454c1cb [Eric Charles] Rebase on master and update test to deal with interpretercontext constructor change b30f6f4 [Eric Charles] Support HTML, TABLE and IMG display - Dynamic form in progress 89d6a3a [Eric Charles] DOC: Fix typo (contributed by @AhyoungRyu) + fix missing depencies (contributed by @btiernay on https://github.com/datalayer/datalayer-zeppelin/issues/6) a6a3695 [Eric Charles] fix SparkInterpreterTest to deal with previous commit chanching the returned html 35486c7 [Eric Charles] Always return html preview in case of pure text a0306fc [Eric Charles] Fix the expected html value for test 47eec88 [Eric Charles] Fix code format to make checkstyle happy f963e1c [Eric Charles] polish examples with title 6cf8615 [Eric Charles] Make it work also on chromium 7b04b6b [Eric Charles] Support ggplot2 output size https://github.com/datalayer/zeppelin-R/issues/2 17d6b0d [Eric Charles] Less test in the SparkRInterpreterTest f4aac04 [Eric Charles] Add interactive visualization example 816f4d9 [Eric Charles] Run only one test method and see Travis reaction 702556f [Eric Charles] RAT: Disabel RAT check on downloaded rscala folder d5538a2 [Eric Charles] update pom to download rscala on build 40efe33 [Eric Charles] Add test for SparkRInterpreter 09bb458 [Eric Charles] Use java factory to allow mockito usage 5385adb [Eric Charles] Add jar in R folder c0063fc [Eric Charles] Ignore downloaded rscala 4d5cfa5 [Eric Charles] Initial documentation for R Interpreter 3e24d02 [Eric Charles] Add license for rscala c88a914 [Eric Charles] Remove rscala jar 554bcb6 [Eric Charles] Add README.md placeholder for rscala lib folder 40b4ec6 [Eric Charles] Remove png files and restore README.md 220fe51 [Eric Charles] Make rscala configurable in the spark-dependencies module 15375eb [Eric Charles] Add SparRInterpreter implementation 4161619 [Eric Charles] Support HTML, TABLE and IMG display - Dynamic form in progress 8e635e1 [Eric Charles] DOC: Fix typo (contributed by @AhyoungRyu) + fix missing depencies (contributed by @btiernay on https://github.com/datalayer/datalayer-zeppelin/issues/6) 9a988f9 [Eric Charles] fix SparkInterpreterTest to deal with previous commit chanching the returned html 28fc9b2 [Eric Charles] Always return html preview in case of pure text e8ed8dd [Eric Charles] Fix the expected html value for test facc682 [Eric Charles] Fix code format to make checkstyle happy 9b168ff [Eric Charles] polish examples with title 8b059c4 [Eric Charles] Make it work also on chromium 66c3545 [Eric Charles] Support ggplot2 output size https://github.com/datalayer/zeppelin-R/issues/2 3ae0bc1 [Eric Charles] Less test in the SparkRInterpreterTest b9b2787 [Eric Charles] Add interactive visualization example 9218d65 [Eric Charles] Run only one test method and see Travis reaction ee6e43b [Eric Charles] RAT: Disabel RAT check on downloaded rscala folder 8d664f6 [Eric Charles] update pom to download rscala on build 21668b3 [Eric Charles] Add test for SparkRInterpreter 068ac24 [Eric Charles] Use java factory to allow mockito usage caf157b [Eric Charles] Add jar in R folder 1eddadb [Eric Charles] Ignore downloaded rscala 0af2bec [Eric Charles] Initial documentation for R Interpreter 8e3c997 [Eric Charles] Add license for rscala 7a95ef4 [Eric Charles] Remove rscala jar b8ae4eb [Eric Charles] Add README.md placeholder for rscala lib folder aa6a7a1 [Eric Charles] Remove png files and restore README.md 9312a0c [Eric Charles] Make rscala configurable in the spark-dependencies module 363b244 [Eric Charles] Add SparRInterpreter implementation Project: http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/commit/7d6cc7e9 Tree: http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/tree/7d6cc7e9 Diff: http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/diff/7d6cc7e9 Branch: refs/heads/master Commit: 7d6cc7e99154e2d337c11fdf8be1a874ed3e9ada Parents: d5e87fb Author: Eric Charles <[email protected]> Authored: Mon Apr 4 05:00:09 2016 +0200 Committer: Lee moon soo <[email protected]> Committed: Tue Apr 5 17:03:15 2016 +0900 ---------------------------------------------------------------------- .travis.yml | 27 +- conf/zeppelin-site.xml.template | 2 +- docs/_includes/themes/zeppelin/_navigation.html | 1 + docs/interpreter/R.md | 41 + docs/interpreter/r.md | 40 +- docs/rest-api/rest-configuration.md | 2 +- notebook/r/note.json | 1036 ++++++++++++++++++ pom.xml | 2 +- spark-dependencies/pom.xml | 66 +- spark/pom.xml | 83 +- .../zeppelin/spark/SparkRInterpreter.java | 226 ++++ .../org/apache/zeppelin/spark/ZeppelinR.java | 404 +++++++ .../apache/zeppelin/spark/ZeppelinRContext.java | 55 + spark/src/main/resources/R/zeppelin_sparkr.R | 99 ++ .../scala/org/apache/spark/SparkRBackend.scala | 54 + .../zeppelin/spark/ZeppelinRDisplay.scala | 119 ++ .../zeppelin/rest/AbstractTestRestApi.java | 8 +- .../zeppelin/rest/ZeppelinSparkClusterTest.java | 26 +- zeppelin-zengine/pom.xml | 4 +- .../zeppelin/conf/ZeppelinConfiguration.java | 1 + .../interpreter/InterpreterFactory.java | 8 +- 21 files changed, 2274 insertions(+), 30 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/7d6cc7e9/.travis.yml ---------------------------------------------------------------------- diff --git a/.travis.yml b/.travis.yml index ba66bae..f608704 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,20 +20,29 @@ sudo: false cache: directories: - .spark-dist - + +addons: + apt: + sources: + - r-packages-precise + packages: + - r-base-dev + - r-cran-evaluate + - r-cran-base64enc + matrix: include: # Test all modules - jdk: "oraclejdk7" - env: SPARK_VER="1.6.1" HADOOP_VER="2.3" PROFILE="-Pspark-1.6 -Pr -Phadoop-2.3 -Ppyspark -Pscalding" BUILD_FLAG="package -Pbuild-distr" TEST_FLAG="verify -Pusing-packaged-distr" TEST_PROJECTS="" + env: SPARK_VER="1.6.1" HADOOP_VER="2.3" PROFILE="-Pspark-1.6 -Pr -Phadoop-2.3 -Ppyspark -Psparkr -Pscalding" BUILD_FLAG="package -Pbuild-distr" TEST_FLAG="verify -Pusing-packaged-distr" TEST_PROJECTS="" # Test spark module for 1.5.2 - jdk: "oraclejdk7" - env: SPARK_VER="1.5.2" HADOOP_VER="2.3" PROFILE="-Pspark-1.5 -Pr -Phadoop-2.3 -Ppyspark" BUILD_FLAG="package -DskipTests" TEST_FLAG="verify" TEST_PROJECTS="-pl zeppelin-interpreter,zeppelin-zengine,zeppelin-server,zeppelin-display,spark-dependencies,spark,r -Dtest=org.apache.zeppelin.rest.*Test,org.apache.zeppelin.spark* -DfailIfNoTests=false" + env: SPARK_VER="1.5.2" HADOOP_VER="2.3" PROFILE="-Pspark-1.5 -Pr -Phadoop-2.3 -Ppyspark -Psparkr" BUILD_FLAG="package -DskipTests" TEST_FLAG="verify" TEST_PROJECTS="-pl zeppelin-interpreter,zeppelin-zengine,zeppelin-server,zeppelin-display,spark-dependencies,spark,r -Dtest=org.apache.zeppelin.rest.*Test,org.apache.zeppelin.spark* -DfailIfNoTests=false" # Test spark module for 1.4.1 - jdk: "oraclejdk7" - env: SPARK_VER="1.4.1" HADOOP_VER="2.3" PROFILE="-Pspark-1.4 -Pr -Phadoop-2.3 -Ppyspark" BUILD_FLAG="package -DskipTests" TEST_FLAG="verify" TEST_PROJECTS="-pl zeppelin-interpreter,zeppelin-zengine,zeppelin-server,zeppelin-display,spark-dependencies,spark,r -Dtest=org.apache.zeppelin.rest.*Test,org.apache.zeppelin.spark* -DfailIfNoTests=false" + env: SPARK_VER="1.4.1" HADOOP_VER="2.3" PROFILE="-Pspark-1.4 -Pr -Phadoop-2.3 -Ppyspark -Psparkr" BUILD_FLAG="package -DskipTests" TEST_FLAG="verify" TEST_PROJECTS="-pl zeppelin-interpreter,zeppelin-zengine,zeppelin-server,zeppelin-display,spark-dependencies,spark,r -Dtest=org.apache.zeppelin.rest.*Test,org.apache.zeppelin.spark* -DfailIfNoTests=false" # Test spark module for 1.3.1 - jdk: "oraclejdk7" @@ -51,18 +60,10 @@ matrix: - jdk: "oraclejdk7" env: TEST_SELENIUM="true" SPARK_VER="1.6.1" HADOOP_VER="2.3" PROFILE="-Pspark-1.6 -Phadoop-2.3 -Ppyspark" BUILD_FLAG="package -DskipTests" TEST_FLAG="verify" TEST_PROJECTS="-pl zeppelin-interpreter,zeppelin-zengine,zeppelin-server,zeppelin-display,spark-dependencies,spark -Dtest=org.apache.zeppelin.AbstractFunctionalSuite -DfailIfNoTests=false" -addons: - apt: - sources: - - r-packages-precise - packages: - - r-base-dev - - r-cran-evaluate - - r-cran-base64enc - before_install: - "ls -la .spark-dist" - mkdir -p ~/R + - echo 'R_LIBS=~/R' > ~/.Renviron - R -e "install.packages('knitr', repos = 'http://cran.us.r-project.org', lib='~/R')" - export R_LIBS='~/R' - "export DISPLAY=:99.0" http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/7d6cc7e9/conf/zeppelin-site.xml.template ---------------------------------------------------------------------- diff --git a/conf/zeppelin-site.xml.template b/conf/zeppelin-site.xml.template index f475f87..3fb55c2 100755 --- a/conf/zeppelin-site.xml.template +++ b/conf/zeppelin-site.xml.template @@ -144,7 +144,7 @@ <property> <name>zeppelin.interpreters</name> - <value>org.apache.zeppelin.spark.SparkInterpreter,org.apache.zeppelin.spark.PySparkInterpreter,org.apache.zeppelin.spark.SparkSqlInterpreter,org.apache.zeppelin.spark.DepInterpreter,org.apache.zeppelin.markdown.Markdown,org.apache.zeppelin.angular.AngularInterpreter,org.apache.zeppelin.shell.ShellInterpreter,org.apache.zeppelin.hive.HiveInterpreter,org.apache.zeppelin.tajo.TajoInterpreter,org.apache.zeppelin.file.HDFSFileInterpreter,org.apache.zeppelin.flink.FlinkInterpreter,org.apache.zeppelin.lens.LensInterpreter,org.apache.zeppelin.ignite.IgniteInterpreter,org.apache.zeppelin.ignite.IgniteSqlInterpreter,org.apache.zeppelin.cassandra.CassandraInterpreter,org.apache.zeppelin.geode.GeodeOqlInterpreter,org.apache.zeppelin.postgresql.PostgreSqlInterpreter,org.apache.zeppelin.jdbc.JDBCInterpreter,org.apache.zeppelin.phoenix.PhoenixInterpreter,org.apache.zeppelin.kylin.KylinInterpreter,org.apache.zeppelin.elasticsearch.ElasticsearchInterpreter,org.apache.zeppelin.scalding.ScaldingInte rpreter,org.apache.zeppelin.alluxio.AlluxioInterpreter,org.apache.zeppelin.hbase.HbaseInterpreter,org.apache.zeppelin.rinterpreter.KnitR,org.apache.zeppelin.rinterpreter.RRepl</value> + <value>org.apache.zeppelin.spark.SparkInterpreter,org.apache.zeppelin.spark.PySparkInterpreter,org.apache.zeppelin.spark.SparkRInterpreter,org.apache.zeppelin.spark.SparkSqlInterpreter,org.apache.zeppelin.spark.DepInterpreter,org.apache.zeppelin.markdown.Markdown,org.apache.zeppelin.angular.AngularInterpreter,org.apache.zeppelin.shell.ShellInterpreter,org.apache.zeppelin.hive.HiveInterpreter,org.apache.zeppelin.tajo.TajoInterpreter,org.apache.zeppelin.file.HDFSFileInterpreter,org.apache.zeppelin.flink.FlinkInterpreter,org.apache.zeppelin.lens.LensInterpreter,org.apache.zeppelin.ignite.IgniteInterpreter,org.apache.zeppelin.ignite.IgniteSqlInterpreter,org.apache.zeppelin.cassandra.CassandraInterpreter,org.apache.zeppelin.geode.GeodeOqlInterpreter,org.apache.zeppelin.postgresql.PostgreSqlInterpreter,org.apache.zeppelin.jdbc.JDBCInterpreter,org.apache.zeppelin.phoenix.PhoenixInterpreter,org.apache.zeppelin.kylin.KylinInterpreter,org.apache.zeppelin.elasticsearch.ElasticsearchInterpret er,org.apache.zeppelin.scalding.ScaldingInterpreter,org.apache.zeppelin.alluxio.AlluxioInterpreter,org.apache.zeppelin.hbase.HbaseInterpreter,org.apache.zeppelin.rinterpreter.KnitR,org.apache.zeppelin.rinterpreter.RRepl</value> <description>Comma separated interpreter configurations. First interpreter become a default</description> </property> http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/7d6cc7e9/docs/_includes/themes/zeppelin/_navigation.html ---------------------------------------------------------------------- diff --git a/docs/_includes/themes/zeppelin/_navigation.html b/docs/_includes/themes/zeppelin/_navigation.html index c60ba74..c616107 100644 --- a/docs/_includes/themes/zeppelin/_navigation.html +++ b/docs/_includes/themes/zeppelin/_navigation.html @@ -54,6 +54,7 @@ <li><a href="{{BASE_PATH}}/interpreter/lens.html">Lens</a></li> <li><a href="{{BASE_PATH}}/interpreter/markdown.html">Markdown</a></li> <li><a href="{{BASE_PATH}}/interpreter/postgresql.html">Postgresql, hawq</a></li> + <li><a href="{{BASE_PATH}}/interpreter/R.html">R</a></li> <li><a href="{{BASE_PATH}}/interpreter/scalding.html">Scalding</a></li> <li><a href="{{BASE_PATH}}/pleasecontribute.html">Shell</a></li> <li><a href="{{BASE_PATH}}/interpreter/spark.html">Spark</a></li> http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/7d6cc7e9/docs/interpreter/R.md ---------------------------------------------------------------------- diff --git a/docs/interpreter/R.md b/docs/interpreter/R.md new file mode 100644 index 0000000..fde9983 --- /dev/null +++ b/docs/interpreter/R.md @@ -0,0 +1,41 @@ +--- +layout: page +title: "R Interpreter" +description: "" +group: manual +--- +{% include JB/setup %} + +## R Interpreter for Apache Zeppelin + +[R](https://www.r-project.org) is a free software environment for statistical computing and graphics. + +To run R code and visualize plots in Apache Zeppelin, you will need R on your master node (or your dev laptop). + ++ For Centos: `yum install R R-devel libcurl-devel openssl-devel` ++ For Ubuntu: `apt-get install r-base` + +Validate your installation with a simple R command: + +``` +R -e "print(1+1)" +``` + +To enjoy plots, install additional libraries with: + +``` ++ devtools with `R -e "install.packages('devtools', repos = 'http://cran.us.r-project.org')"` ++ knitr with `R -e "install.packages('knitr', repos = 'http://cran.us.r-project.org')"` ++ ggplot2 with `R -e "install.packages('ggplot2', repos = 'http://cran.us.r-project.org')"` ++ Other vizualisation librairies: `R -e "install.packages(c('devtools','mplot', 'googleVis'), repos = 'http://cran.us.r-project.org'); require(devtools); install_github('ramnathv/rCharts')"` +``` + +We recommend you to also install the following optional R libraries for happy data analytics: + ++ glmnet ++ pROC ++ data.table ++ caret ++ sqldf ++ wordcloud + http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/7d6cc7e9/docs/interpreter/r.md ---------------------------------------------------------------------- diff --git a/docs/interpreter/r.md b/docs/interpreter/r.md index 9b893ad..3706271 100644 --- a/docs/interpreter/r.md +++ b/docs/interpreter/r.md @@ -97,4 +97,42 @@ And vice versa: * Error `unable to start device X11` with the repl interpreter. Check your shell login scripts to see if they are adjusting the `DISPLAY` environment variable. This is common on some operating systems as a workaround for ssh issues, but can interfere with R plotting. -* akka Library Version or `TTransport` errors. This can happen if you try to run Zeppelin with a SPARK_HOME that has a version of Spark other than the one specified with `-Pspark-1.x` when Zeppelin was compiled. \ No newline at end of file +* akka Library Version or `TTransport` errors. This can happen if you try to run Zeppelin with a SPARK_HOME that has a version of Spark other than the one specified with `-Pspark-1.x` when Zeppelin was compiled. + + + + + +## R Interpreter for Apache Zeppelin + +[R](https://www.r-project.org) is a free software environment for statistical computing and graphics. + +To run R code and visualize plots in Apache Zeppelin, you will need R on your master node (or your dev laptop). + ++ For Centos: `yum install R R-devel libcurl-devel openssl-devel` ++ For Ubuntu: `apt-get install r-base` + +Validate your installation with a simple R command: + +``` +R -e "print(1+1)" +``` + +To enjoy plots, install additional libraries with: + +``` ++ devtools with `R -e "install.packages('devtools', repos = 'http://cran.us.r-project.org')"` ++ knitr with `R -e "install.packages('knitr', repos = 'http://cran.us.r-project.org')"` ++ ggplot2 with `R -e "install.packages('ggplot2', repos = 'http://cran.us.r-project.org')"` ++ Other vizualisation librairies: `R -e "install.packages(c('devtools','mplot', 'googleVis'), repos = 'http://cran.us.r-project.org'); require(devtools); install_github('ramnathv/rCharts')"` +``` + +We recommend you to also install the following optional R libraries for happy data analytics: + ++ glmnet ++ pROC ++ data.table ++ caret ++ sqldf ++ wordcloud + http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/7d6cc7e9/docs/rest-api/rest-configuration.md ---------------------------------------------------------------------- diff --git a/docs/rest-api/rest-configuration.md b/docs/rest-api/rest-configuration.md index 587b065..b7d2c14 100644 --- a/docs/rest-api/rest-configuration.md +++ b/docs/rest-api/rest-configuration.md @@ -79,7 +79,7 @@ limitations under the License. "zeppelin.server.context.path":"/", "zeppelin.ssl.keystore.type":"JKS", "zeppelin.ssl.truststore.path":"truststore", - "zeppelin.interpreters":"org.apache.zeppelin.spark.SparkInterpreter,org.apache.zeppelin.spark.PySparkInterpreter,org.apache.zeppelin.spark.SparkSqlInterpreter,org.apache.zeppelin.spark.DepInterpreter,org.apache.zeppelin.markdown.Markdown,org.apache.zeppelin.angular.AngularInterpreter,org.apache.zeppelin.shell.ShellInterpreter,org.apache.zeppelin.hive.HiveInterpreter,org.apache.zeppelin.tajo.TajoInterpreter,org.apache.zeppelin.flink.FlinkInterpreter,org.apache.zeppelin.lens.LensInterpreter,org.apache.zeppelin.ignite.IgniteInterpreter,org.apache.zeppelin.ignite.IgniteSqlInterpreter,org.apache.zeppelin.cassandra.CassandraInterpreter,org.apache.zeppelin.geode.GeodeOqlInterpreter,org.apache.zeppelin.postgresql.PostgreSqlInterpreter,org.apache.zeppelin.phoenix.PhoenixInterpreter,org.apache.zeppelin.kylin.KylinInterpreter,org.apache.zeppelin.elasticsearch.ElasticsearchInterpreter,org.apache.zeppelin.scalding.ScaldingInterpreter", + "zeppelin.interpreters":"org.apache.zeppelin.spark.SparkInterpreter,org.apache.zeppelin.spark.PySparkInterpreter,org.apache.zeppelin.spark.SparkRInterpreter,org.apache.zeppelin.spark.SparkSqlInterpreter,org.apache.zeppelin.spark.DepInterpreter,org.apache.zeppelin.markdown.Markdown,org.apache.zeppelin.angular.AngularInterpreter,org.apache.zeppelin.shell.ShellInterpreter,org.apache.zeppelin.hive.HiveInterpreter,org.apache.zeppelin.tajo.TajoInterpreter,org.apache.zeppelin.flink.FlinkInterpreter,org.apache.zeppelin.lens.LensInterpreter,org.apache.zeppelin.ignite.IgniteInterpreter,org.apache.zeppelin.ignite.IgniteSqlInterpreter,org.apache.zeppelin.cassandra.CassandraInterpreter,org.apache.zeppelin.geode.GeodeOqlInterpreter,org.apache.zeppelin.postgresql.PostgreSqlInterpreter,org.apache.zeppelin.phoenix.PhoenixInterpreter,org.apache.zeppelin.kylin.KylinInterpreter,org.apache.zeppelin.elasticsearch.ElasticsearchInterpreter,org.apache.zeppelin.scalding.ScaldingInterpreter", "zeppelin.ssl":"false", "zeppelin.notebook.autoInterpreterBinding":"true", "zeppelin.notebook.homescreen":"",
