You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zeppelin.apache.org by zj...@apache.org on 2021/07/31 13:11:37 UTC

[zeppelin] branch master updated: [Minor] Update notebook tutorial

This is an automated email from the ASF dual-hosted git repository.

zjffdu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/zeppelin.git


The following commit(s) were added to refs/heads/master by this push:
     new 5342df7  [Minor] Update notebook tutorial
5342df7 is described below

commit 5342df73e31e2282e871d2105e1e58823daf3498
Author: Jeff Zhang <zj...@apache.org>
AuthorDate: Sat Jul 31 21:04:45 2021 +0800

    [Minor] Update notebook tutorial
---
 notebook/R Tutorial/1. R Basics_2BWJFTXKJ.zpln     | 127 ++++++-------
 notebook/R Tutorial/2. Shiny App_2EZ66TM57.zpln    |  28 +--
 .../Spark Tutorial/5. SparkR Basics_2BWJFTXKM.zpln | 202 +++++++++++++--------
 .../6. SparkR Shiny App_2F1CHQ4TT.zpln             |  94 ++++++++--
 4 files changed, 290 insertions(+), 161 deletions(-)

diff --git a/notebook/R Tutorial/1. R Basics_2BWJFTXKJ.zpln b/notebook/R Tutorial/1. R Basics_2BWJFTXKJ.zpln
index 3e6922d..920c00f 100644
--- a/notebook/R Tutorial/1. R Basics_2BWJFTXKJ.zpln	
+++ b/notebook/R Tutorial/1. R Basics_2BWJFTXKJ.zpln	
@@ -2,9 +2,9 @@
   "paragraphs": [
     {
       "title": "Overview",
-      "text": "%md\n\nThis tutorial note demonostrate how to use R in Zeppelin. There\u0027re 2 interpreters:\n* %r.r  (Vanilla r interpreter, with least dependencies, only R environment installed is required)\n* %r.ir  (Provide more fancy R runtime via [IRKernel](https://github.com/IRkernel/IRkernel), almost the same experience like using R in Jupyter.)\n\n\n",
+      "text": "%md\n\nThis tutorial note demonostrate how to use R in Zeppelin. There\u0027re 2 interpreters:\n* %r.r  - Vanilla r interpreter, with least dependencies, only R environment installed is required\n* %r.ir (`recommended`)  - Provide more fancy R runtime via [IRKernel](https://github.com/IRkernel/IRkernel), almost the same experience like using R in Jupyter.)\n\nThis tutorial is to show you how to use R language via `%r.ir`. \n",
       "user": "anonymous",
-      "dateUpdated": "2021-06-15 04:12:01.069",
+      "dateUpdated": "2021-07-31 12:59:23.771",
       "progress": 0,
       "config": {
         "colWidth": 12.0,
@@ -12,14 +12,15 @@
         "enabled": true,
         "results": {},
         "editorSetting": {
-          "language": "text",
-          "editOnDblClick": false,
+          "language": "markdown",
+          "editOnDblClick": true,
           "completionKey": "TAB",
-          "completionSupport": true
+          "completionSupport": false
         },
-        "editorMode": "ace/mode/text",
+        "editorMode": "ace/mode/markdown",
         "title": true,
-        "editorHide": true
+        "editorHide": false,
+        "tableHide": false
       },
       "settings": {
         "params": {},
@@ -30,7 +31,7 @@
         "msg": [
           {
             "type": "HTML",
-            "data": "\u003cdiv class\u003d\"markdown-body\"\u003e\n\u003cp\u003eThis tutorial note demonostrate how to use R in Zeppelin. There\u0026rsquo;re 2 interpreters:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e%r.r  (Vanilla r interpreter, with least dependencies, only R environment installed is required)\u003c/li\u003e\n\u003cli\u003e%r.ir  (Provide more fancy R runtime via \u003ca href\u003d\"https://github.com/IRkernel/IRkernel\"\u003eIRKernel\u003c/a\u003e, almost the same e [...]
+            "data": "\u003cdiv class\u003d\"markdown-body\"\u003e\n\u003cp\u003eThis tutorial note demonostrate how to use R in Zeppelin. There\u0026rsquo;re 2 interpreters:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e%r.r  - Vanilla r interpreter, with least dependencies, only R environment installed is required\u003c/li\u003e\n\u003cli\u003e%r.ir (\u003ccode\u003erecommended\u003c/code\u003e)  - Provide more fancy R runtime via \u003ca href\u003d\"https://github.com/IRkernel/IRkernel\ [...]
           }
         ]
       },
@@ -40,15 +41,15 @@
       "jobName": "paragraph_1580780002030_-2142389262",
       "id": "paragraph_1580780002030_-2142389262",
       "dateCreated": "2020-02-04 09:33:22.030",
-      "dateStarted": "2021-06-15 04:12:01.093",
-      "dateFinished": "2021-06-15 04:12:03.501",
+      "dateStarted": "2021-07-31 12:59:23.778",
+      "dateFinished": "2021-07-31 12:59:23.797",
       "status": "FINISHED"
     },
     {
       "title": "Hello R",
       "text": "%r.ir\nfoo \u003c- TRUE\nprint(foo)\nbare \u003c- c(1, 2.5, 4)\nprint(bare)\ndouble \u003c- 15.0\nprint(double)",
       "user": "anonymous",
-      "dateUpdated": "2021-06-15 04:12:03.594",
+      "dateUpdated": "2021-07-31 12:59:23.876",
       "progress": 0,
       "config": {
         "colWidth": 12.0,
@@ -97,15 +98,15 @@
       "jobName": "paragraph_1429882946244_-381648689",
       "id": "20150424-154226_261270952",
       "dateCreated": "2015-04-24 03:42:26.000",
-      "dateStarted": "2021-06-15 04:12:03.606",
-      "dateFinished": "2021-06-15 04:12:09.115",
+      "dateStarted": "2021-07-31 12:59:23.882",
+      "dateFinished": "2021-07-31 12:59:28.598",
       "status": "FINISHED"
     },
     {
       "title": "Load R Librairies",
       "text": "%r.ir\n\nlibrary(data.table)\ndt \u003c- data.table(1:3)\nprint(dt)\nfor (i in 1:5) {\n  print(i*2)\n}\nprint(1:50)",
       "user": "anonymous",
-      "dateUpdated": "2021-06-15 04:12:09.214",
+      "dateUpdated": "2021-07-31 12:59:28.685",
       "progress": 0,
       "config": {
         "colWidth": 12.0,
@@ -154,15 +155,15 @@
       "jobName": "paragraph_1429882976611_1352445253",
       "id": "20150424-154256_645296307",
       "dateCreated": "2015-04-24 03:42:56.000",
-      "dateStarted": "2021-06-15 04:12:09.225",
-      "dateFinished": "2021-06-15 04:12:09.419",
+      "dateStarted": "2021-07-31 12:59:28.692",
+      "dateFinished": "2021-07-31 12:59:28.877",
       "status": "FINISHED"
     },
     {
       "title": "Load Iris Dataset",
       "text": "%r.ir\n\ncolnames(iris)\niris$Petal.Length\niris$Sepal.Length",
       "user": "anonymous",
-      "dateUpdated": "2021-06-15 04:12:09.523",
+      "dateUpdated": "2021-07-31 12:59:28.891",
       "progress": 0,
       "config": {
         "colWidth": 12.0,
@@ -219,15 +220,15 @@
       "jobName": "paragraph_1455138077044_161383897",
       "id": "20160210-220117_115873183",
       "dateCreated": "2016-02-10 10:01:17.000",
-      "dateStarted": "2021-06-15 04:12:09.533",
-      "dateFinished": "2021-06-15 04:12:09.755",
+      "dateStarted": "2021-07-31 12:59:28.897",
+      "dateFinished": "2021-07-31 12:59:29.175",
       "status": "FINISHED"
     },
     {
       "title": "TABLE Display",
-      "text": "%r.ir\n\nprint(\"%table name\\tsize\\nsmall\\t100\\nlarge\\t1000\")",
+      "text": "%r.ir\n\ncat(\"%table name\\tsize\\nsmall\\t100\\nlarge\\t1000\")",
       "user": "anonymous",
-      "dateUpdated": "2021-06-15 04:12:09.833",
+      "dateUpdated": "2021-07-31 12:59:29.197",
       "progress": 0,
       "config": {
         "colWidth": 6.0,
@@ -310,8 +311,8 @@
         "code": "SUCCESS",
         "msg": [
           {
-            "type": "TEXT",
-            "data": "[1] \"%table name\\tsize\\nsmall\\t100\\nlarge\\t1000\"\n"
+            "type": "TABLE",
+            "data": "name\tsize\nsmall\t100\nlarge\t1000"
           }
         ]
       },
@@ -321,15 +322,15 @@
       "jobName": "paragraph_1456216582752_6855525",
       "id": "20160223-093622_330111284",
       "dateCreated": "2016-02-23 09:36:22.000",
-      "dateStarted": "2021-06-15 04:12:09.841",
-      "dateFinished": "2021-06-15 04:12:09.906",
+      "dateStarted": "2021-07-31 12:59:29.202",
+      "dateFinished": "2021-07-31 12:59:29.260",
       "status": "FINISHED"
     },
     {
       "title": "HTML Display",
-      "text": "%r.ir \n\nprint(\"%html \u003ch3\u003eHello HTML\u003c/h3\u003e\")\nprint(\"\u003cfont color\u003d\u0027blue\u0027\u003e\u003cspan class\u003d\u0027fa fa-bars\u0027\u003e Easy...\u003c/font\u003e\u003c/span\u003e\")\nfor (i in 1:10) {\n  print(paste0(\"\u003ch4\u003e\", i, \" * 2 \u003d \", i*2, \"\u003c/h4\u003e\"))\n}\n",
+      "text": "%r.ir \n\ncat(\"%html \u003ch3\u003eHello HTML\u003c/h3\u003e\")\ncat(\"\u003cfont color\u003d\u0027blue\u0027\u003e\u003cspan class\u003d\u0027fa fa-bars\u0027\u003e Easy...\u003c/font\u003e\u003c/span\u003e\")\nfor (i in 1:10) {\n  cat(paste0(\"\u003ch4\u003e\", i, \" * 2 \u003d \", i*2, \"\u003c/h4\u003e\"))\n}\n",
       "user": "anonymous",
-      "dateUpdated": "2021-06-15 04:12:09.940",
+      "dateUpdated": "2021-07-31 12:59:29.301",
       "progress": 0,
       "config": {
         "colWidth": 6.0,
@@ -367,8 +368,8 @@
         "code": "SUCCESS",
         "msg": [
           {
-            "type": "TEXT",
-            "data": "[1] \"%html \u003ch3\u003eHello HTML\u003c/h3\u003e\"\n[1] \"\u003cfont color\u003d\u0027blue\u0027\u003e\u003cspan class\u003d\u0027fa fa-bars\u0027\u003e Easy...\u003c/font\u003e\u003c/span\u003e\"\n[1] \"\u003ch4\u003e1 * 2 \u003d 2\u003c/h4\u003e\"\n[1] \"\u003ch4\u003e2 * 2 \u003d 4\u003c/h4\u003e\"\n[1] \"\u003ch4\u003e3 * 2 \u003d 6\u003c/h4\u003e\"\n[1] \"\u003ch4\u003e4 * 2 \u003d 8\u003c/h4\u003e\"\n[1] \"\u003ch4\u003e5 * 2 \u003d 10\u003c/h4\u003e\"\n[1]  [...]
+            "type": "HTML",
+            "data": "\u003ch3\u003eHello HTML\u003c/h3\u003e\u003cfont color\u003d\u0027blue\u0027\u003e\u003cspan class\u003d\u0027fa fa-bars\u0027\u003e Easy...\u003c/font\u003e\u003c/span\u003e\u003ch4\u003e1 * 2 \u003d 2\u003c/h4\u003e\u003ch4\u003e2 * 2 \u003d 4\u003c/h4\u003e\u003ch4\u003e3 * 2 \u003d 6\u003c/h4\u003e\u003ch4\u003e4 * 2 \u003d 8\u003c/h4\u003e\u003ch4\u003e5 * 2 \u003d 10\u003c/h4\u003e\u003ch4\u003e6 * 2 \u003d 12\u003c/h4\u003e\u003ch4\u003e7 * 2 \u003d 14\u003c/ [...]
           }
         ]
       },
@@ -378,15 +379,15 @@
       "jobName": "paragraph_1456140102445_51059930",
       "id": "20160222-122142_1323614681",
       "dateCreated": "2016-02-22 12:21:42.000",
-      "dateStarted": "2021-06-15 04:12:09.948",
-      "dateFinished": "2021-06-15 04:12:10.019",
+      "dateStarted": "2021-07-31 12:59:29.307",
+      "dateFinished": "2021-07-31 12:59:29.369",
       "status": "FINISHED"
     },
     {
       "title": "GoogleVis: Bar Chart",
       "text": "%r.ir\n\nlibrary(googleVis)\ndf\u003ddata.frame(country\u003dc(\"US\", \"GB\", \"BR\"), \n              val1\u003dc(10,13,14), \n              val2\u003dc(23,12,32))\nBar \u003c- gvisBarChart(df)\nprint(Bar, tag \u003d \u0027chart\u0027)\n",
       "user": "anonymous",
-      "dateUpdated": "2021-06-15 04:12:10.048",
+      "dateUpdated": "2021-07-31 12:59:29.407",
       "progress": 0,
       "config": {
         "colWidth": 4.0,
@@ -427,7 +428,7 @@
           },
           {
             "type": "HTML",
-            "data": "\u003c!-- BarChart generated in R 3.6.3 by googleVis 0.6.10 package --\u003e\n\u003c!-- Tue Jun 15 04:12:10 2021 --\u003e\n\n\n\u003c!-- jsHeader --\u003e\n\u003cscript type\u003d\"text/javascript\"\u003e\n \n// jsData \nfunction gvisDataBarChartID11314b44a97 () {\nvar data \u003d new google.visualization.DataTable();\nvar datajson \u003d\n[\n [\n\"US\",\n10,\n23\n],\n[\n\"GB\",\n13,\n12\n],\n[\n\"BR\",\n14,\n32\n] \n];\ndata.addColumn(\u0027string\u0027,\u0027countr [...]
+            "data": "\u003c!-- BarChart generated in R 3.6.3 by googleVis 0.6.10 package --\u003e\n\u003c!-- Sat Jul 31 12:59:29 2021 --\u003e\n\n\n\u003c!-- jsHeader --\u003e\n\u003cscript type\u003d\"text/javascript\"\u003e\n \n// jsData \nfunction gvisDataBarChartID34f18480c5e () {\nvar data \u003d new google.visualization.DataTable();\nvar datajson \u003d\n[\n [\n\"US\",\n10,\n23\n],\n[\n\"GB\",\n13,\n12\n],\n[\n\"BR\",\n14,\n32\n] \n];\ndata.addColumn(\u0027string\u0027,\u0027countr [...]
           }
         ]
       },
@@ -437,15 +438,15 @@
       "jobName": "paragraph_1485626417184_-1153542135",
       "id": "20170129-030017_426747323",
       "dateCreated": "2017-01-29 03:00:17.000",
-      "dateStarted": "2021-06-15 04:12:10.055",
-      "dateFinished": "2021-06-15 04:12:10.130",
+      "dateStarted": "2021-07-31 12:59:29.414",
+      "dateFinished": "2021-07-31 12:59:29.482",
       "status": "FINISHED"
     },
     {
       "title": "GoogleVis: Candlestick Chart",
       "text": "%r.ir\n\nlibrary(googleVis)\n\nCandle \u003c- gvisCandlestickChart(OpenClose, \n                               options\u003dlist(legend\u003d\u0027none\u0027))\n\nprint(Candle, tag \u003d \u0027chart\u0027)\n\n\n\n\n\n\n\n\n",
       "user": "anonymous",
-      "dateUpdated": "2021-06-15 04:12:10.155",
+      "dateUpdated": "2021-07-31 12:59:29.514",
       "progress": 0,
       "config": {
         "colWidth": 4.0,
@@ -482,7 +483,7 @@
         "msg": [
           {
             "type": "HTML",
-            "data": "\u003c!-- CandlestickChart generated in R 3.6.3 by googleVis 0.6.10 package --\u003e\n\u003c!-- Tue Jun 15 04:12:10 2021 --\u003e\n\n\n\u003c!-- jsHeader --\u003e\n\u003cscript type\u003d\"text/javascript\"\u003e\n \n// jsData \nfunction gvisDataCandlestickChartID1131164ca3a () {\nvar data \u003d new google.visualization.DataTable();\nvar datajson \u003d\n[\n [\n\"Mon\",\n20,\n28,\n38,\n45\n],\n[\n\"Tues\",\n31,\n38,\n55,\n66\n],\n[\n\"Wed\",\n50,\n55,\n77,\n80\n],\n [...]
+            "data": "\u003c!-- CandlestickChart generated in R 3.6.3 by googleVis 0.6.10 package --\u003e\n\u003c!-- Sat Jul 31 12:59:29 2021 --\u003e\n\n\n\u003c!-- jsHeader --\u003e\n\u003cscript type\u003d\"text/javascript\"\u003e\n \n// jsData \nfunction gvisDataCandlestickChartID34f1c7c0c2e () {\nvar data \u003d new google.visualization.DataTable();\nvar datajson \u003d\n[\n [\n\"Mon\",\n20,\n28,\n38,\n45\n],\n[\n\"Tues\",\n31,\n38,\n55,\n66\n],\n[\n\"Wed\",\n50,\n55,\n77,\n80\n],\n [...]
           }
         ]
       },
@@ -492,15 +493,15 @@
       "jobName": "paragraph_1485627113560_-130863711",
       "id": "20170129-031153_758721410",
       "dateCreated": "2017-01-29 03:11:53.000",
-      "dateStarted": "2021-06-15 04:12:10.166",
-      "dateFinished": "2021-06-15 04:12:10.228",
+      "dateStarted": "2021-07-31 12:59:29.518",
+      "dateFinished": "2021-07-31 12:59:29.579",
       "status": "FINISHED"
     },
     {
       "title": "GoogleVis: Line chart",
       "text": "%r.ir\n\nlibrary(googleVis)\ndf\u003ddata.frame(country\u003dc(\"US\", \"GB\", \"BR\"), \n              val1\u003dc(10,13,14), \n              val2\u003dc(23,12,32))\n\nLine \u003c- gvisLineChart(df)\n\nprint(Line, tag \u003d \u0027chart\u0027)\n\n\n\n\n\n\n\n\n",
       "user": "anonymous",
-      "dateUpdated": "2021-06-15 04:12:10.264",
+      "dateUpdated": "2021-07-31 12:59:29.618",
       "progress": 0,
       "config": {
         "colWidth": 4.0,
@@ -537,7 +538,7 @@
         "msg": [
           {
             "type": "HTML",
-            "data": "\u003c!-- LineChart generated in R 3.6.3 by googleVis 0.6.10 package --\u003e\n\u003c!-- Tue Jun 15 04:12:10 2021 --\u003e\n\n\n\u003c!-- jsHeader --\u003e\n\u003cscript type\u003d\"text/javascript\"\u003e\n \n// jsData \nfunction gvisDataLineChartID1136265da05 () {\nvar data \u003d new google.visualization.DataTable();\nvar datajson \u003d\n[\n [\n\"US\",\n10,\n23\n],\n[\n\"GB\",\n13,\n12\n],\n[\n\"BR\",\n14,\n32\n] \n];\ndata.addColumn(\u0027string\u0027,\u0027coun [...]
+            "data": "\u003c!-- LineChart generated in R 3.6.3 by googleVis 0.6.10 package --\u003e\n\u003c!-- Sat Jul 31 12:59:29 2021 --\u003e\n\n\n\u003c!-- jsHeader --\u003e\n\u003cscript type\u003d\"text/javascript\"\u003e\n \n// jsData \nfunction gvisDataLineChartID34f1e8751b6 () {\nvar data \u003d new google.visualization.DataTable();\nvar datajson \u003d\n[\n [\n\"US\",\n10,\n23\n],\n[\n\"GB\",\n13,\n12\n],\n[\n\"BR\",\n14,\n32\n] \n];\ndata.addColumn(\u0027string\u0027,\u0027coun [...]
           }
         ]
       },
@@ -547,14 +548,14 @@
       "jobName": "paragraph_1455138857313_92355963",
       "id": "20160210-221417_1400405266",
       "dateCreated": "2016-02-10 10:14:17.000",
-      "dateStarted": "2021-06-15 04:12:10.272",
-      "dateFinished": "2021-06-15 04:12:10.342",
+      "dateStarted": "2021-07-31 12:59:29.623",
+      "dateFinished": "2021-07-31 12:59:29.682",
       "status": "FINISHED"
     },
     {
       "text": "%r.ir\n\npairs(iris)",
       "user": "anonymous",
-      "dateUpdated": "2021-06-15 04:12:10.372",
+      "dateUpdated": "2021-07-31 12:59:29.723",
       "progress": 0,
       "config": {
         "colWidth": 4.0,
@@ -603,14 +604,14 @@
       "jobName": "paragraph_1455137735427_-1023869289",
       "id": "20160210-215535_1815168219",
       "dateCreated": "2016-02-10 09:55:35.000",
-      "dateStarted": "2021-06-15 04:12:10.380",
-      "dateFinished": "2021-06-15 04:12:10.736",
+      "dateStarted": "2021-07-31 12:59:29.727",
+      "dateFinished": "2021-07-31 12:59:29.973",
       "status": "FINISHED"
     },
     {
       "text": "%r.ir\n\nplot(iris, col \u003d heat.colors(3))",
       "user": "anonymous",
-      "dateUpdated": "2021-06-15 04:12:10.781",
+      "dateUpdated": "2021-07-31 12:59:30.027",
       "progress": 0,
       "config": {
         "colWidth": 4.0,
@@ -659,14 +660,14 @@
       "jobName": "paragraph_1455137737773_-549089146",
       "id": "20160210-215537_582262164",
       "dateCreated": "2016-02-10 09:55:37.000",
-      "dateStarted": "2021-06-15 04:12:10.790",
-      "dateFinished": "2021-06-15 04:12:11.061",
+      "dateStarted": "2021-07-31 12:59:30.032",
+      "dateFinished": "2021-07-31 12:59:30.301",
       "status": "FINISHED"
     },
     {
       "text": "%r.ir\n\nlibrary(ggplot2)\npres_rating \u003c- data.frame(\n  rating \u003d as.numeric(presidents),\n  year \u003d as.numeric(floor(time(presidents))),\n  quarter \u003d as.numeric(cycle(presidents))\n)\np \u003c- ggplot(pres_rating, aes(x\u003dyear, y\u003dquarter, fill\u003drating))\np + geom_raster()",
       "user": "anonymous",
-      "dateUpdated": "2021-06-15 04:12:11.087",
+      "dateUpdated": "2021-07-31 12:59:30.332",
       "progress": 0,
       "config": {
         "colWidth": 4.0,
@@ -720,15 +721,15 @@
       "jobName": "paragraph_1438930880648_-1572054429",
       "id": "20150807-090120_1060568667",
       "dateCreated": "2015-08-07 09:01:20.000",
-      "dateStarted": "2021-06-15 04:12:11.093",
-      "dateFinished": "2021-06-15 04:12:11.804",
+      "dateStarted": "2021-07-31 12:59:30.337",
+      "dateFinished": "2021-07-31 12:59:31.004",
       "status": "FINISHED"
     },
     {
       "title": "GoogleViz: Bubble Chart",
       "text": "%r.ir\n\nlibrary(googleVis)\nbubble \u003c- gvisBubbleChart(Fruits, idvar\u003d\"Fruit\", \n                          xvar\u003d\"Sales\", yvar\u003d\"Expenses\",\n                          colorvar\u003d\"Year\", sizevar\u003d\"Profit\",\n                          options\u003dlist(\n                            hAxis\u003d\u0027{minValue:75, maxValue:125}\u0027))\nprint(bubble, tag \u003d \u0027chart\u0027)",
       "user": "anonymous",
-      "dateUpdated": "2021-06-15 04:12:11.893",
+      "dateUpdated": "2021-07-31 12:59:31.038",
       "progress": 0,
       "config": {
         "colWidth": 6.0,
@@ -768,7 +769,7 @@
         "msg": [
           {
             "type": "HTML",
-            "data": "\u003c!-- BubbleChart generated in R 3.6.3 by googleVis 0.6.10 package --\u003e\n\u003c!-- Tue Jun 15 04:12:11 2021 --\u003e\n\n\n\u003c!-- jsHeader --\u003e\n\u003cscript type\u003d\"text/javascript\"\u003e\n \n// jsData \nfunction gvisDataBubbleChartID113673a4179 () {\nvar data \u003d new google.visualization.DataTable();\nvar datajson \u003d\n[\n [\n\"Apples\",\n98,\n78,\n2008,\n20\n],\n[\n\"Apples\",\n111,\n79,\n2009,\n32\n],\n[\n\"Apples\",\n89,\n76,\n2010,\n13\ [...]
+            "data": "\u003c!-- BubbleChart generated in R 3.6.3 by googleVis 0.6.10 package --\u003e\n\u003c!-- Sat Jul 31 12:59:31 2021 --\u003e\n\n\n\u003c!-- jsHeader --\u003e\n\u003cscript type\u003d\"text/javascript\"\u003e\n \n// jsData \nfunction gvisDataBubbleChartID34f780e322 () {\nvar data \u003d new google.visualization.DataTable();\nvar datajson \u003d\n[\n [\n\"Apples\",\n98,\n78,\n2008,\n20\n],\n[\n\"Apples\",\n111,\n79,\n2009,\n32\n],\n[\n\"Apples\",\n89,\n76,\n2010,\n13\n [...]
           }
         ]
       },
@@ -778,15 +779,15 @@
       "jobName": "paragraph_1455141578555_-1713165000",
       "id": "20160210-225938_1538591791",
       "dateCreated": "2016-02-10 10:59:38.000",
-      "dateStarted": "2021-06-15 04:12:11.902",
-      "dateFinished": "2021-06-15 04:12:11.965",
+      "dateStarted": "2021-07-31 12:59:31.042",
+      "dateFinished": "2021-07-31 12:59:31.102",
       "status": "FINISHED"
     },
     {
       "title": "GoogleViz: Geo Chart",
       "text": "%r.ir\n\nlibrary(googleVis)\ngeo \u003d gvisGeoChart(Exports, locationvar \u003d \"Country\", colorvar\u003d\"Profit\", options\u003dlist(Projection \u003d \"kavrayskiy-vii\"))\nprint(geo, tag \u003d \u0027chart\u0027)",
       "user": "anonymous",
-      "dateUpdated": "2021-06-15 04:12:12.002",
+      "dateUpdated": "2021-07-31 12:59:31.142",
       "progress": 0,
       "config": {
         "colWidth": 6.0,
@@ -826,7 +827,7 @@
         "msg": [
           {
             "type": "HTML",
-            "data": "\u003c!-- GeoChart generated in R 3.6.3 by googleVis 0.6.10 package --\u003e\n\u003c!-- Tue Jun 15 04:12:12 2021 --\u003e\n\n\n\u003c!-- jsHeader --\u003e\n\u003cscript type\u003d\"text/javascript\"\u003e\n \n// jsData \nfunction gvisDataGeoChartID11351e99d8e () {\nvar data \u003d new google.visualization.DataTable();\nvar datajson \u003d\n[\n [\n\"Germany\",\n3\n],\n[\n\"Brazil\",\n4\n],\n[\n\"United States\",\n5\n],\n[\n\"France\",\n4\n],\n[\n\"Hungary\",\n3\n],\n[ [...]
+            "data": "\u003c!-- GeoChart generated in R 3.6.3 by googleVis 0.6.10 package --\u003e\n\u003c!-- Sat Jul 31 12:59:31 2021 --\u003e\n\n\n\u003c!-- jsHeader --\u003e\n\u003cscript type\u003d\"text/javascript\"\u003e\n \n// jsData \nfunction gvisDataGeoChartID34f7ca42969 () {\nvar data \u003d new google.visualization.DataTable();\nvar datajson \u003d\n[\n [\n\"Germany\",\n3\n],\n[\n\"Brazil\",\n4\n],\n[\n\"United States\",\n5\n],\n[\n\"France\",\n4\n],\n[\n\"Hungary\",\n3\n],\n[ [...]
           }
         ]
       },
@@ -836,14 +837,14 @@
       "jobName": "paragraph_1455140544963_1486338978",
       "id": "20160210-224224_735421242",
       "dateCreated": "2016-02-10 10:42:24.000",
-      "dateStarted": "2021-06-15 04:12:12.014",
-      "dateFinished": "2021-06-15 04:12:12.081",
+      "dateStarted": "2021-07-31 12:59:31.147",
+      "dateFinished": "2021-07-31 12:59:31.205",
       "status": "FINISHED"
     },
     {
       "text": "%md\n\n## Congratulations, it\u0027s done.\n### You can create your own notebook in \u0027Notebook\u0027 menu. Good luck!",
       "user": "anonymous",
-      "dateUpdated": "2021-06-15 04:12:12.115",
+      "dateUpdated": "2021-07-31 12:59:31.247",
       "progress": 0,
       "config": {
         "colWidth": 12.0,
@@ -880,8 +881,8 @@
       "jobName": "paragraph_1485626988585_-946362813",
       "id": "20170129-030948_1379298104",
       "dateCreated": "2017-01-29 03:09:48.000",
-      "dateStarted": "2021-06-15 04:12:12.121",
-      "dateFinished": "2021-06-15 04:12:12.133",
+      "dateStarted": "2021-07-31 12:59:31.252",
+      "dateFinished": "2021-07-31 12:59:31.260",
       "status": "FINISHED"
     }
   ],
diff --git a/notebook/R Tutorial/2. Shiny App_2EZ66TM57.zpln b/notebook/R Tutorial/2. Shiny App_2EZ66TM57.zpln
index e249c3f..270a139 100644
--- a/notebook/R Tutorial/2. Shiny App_2EZ66TM57.zpln	
+++ b/notebook/R Tutorial/2. Shiny App_2EZ66TM57.zpln	
@@ -48,7 +48,7 @@
       "title": "Shiny Server",
       "text": "%r.shiny(type\u003dserver)\n\n# Define server logic to summarize and view selected dataset ----\nserver \u003c- function(input, output) {\n\n    # Return the requested dataset ----\n    datasetInput \u003c- reactive({\n        switch(input$dataset,\n        \"rock\" \u003d rock,\n        \"pressure\" \u003d pressure,\n        \"cars\" \u003d cars)\n    })\n\n    # Generate a summary of the dataset ----\n    output$summary \u003c- renderPrint({\n        dataset \u003c- data [...]
       "user": "anonymous",
-      "dateUpdated": "2021-06-15 04:12:36.403",
+      "dateUpdated": "2021-07-31 12:35:50.786",
       "progress": 0,
       "config": {
         "colWidth": 6.0,
@@ -76,7 +76,7 @@
         "msg": [
           {
             "type": "TEXT",
-            "data": "Write server.R to /tmp/zeppelin-shiny831370826037572027 successfully."
+            "data": "Write server.R to /tmp/zeppelin-shiny626071477036151736 successfully."
           }
         ]
       },
@@ -86,15 +86,15 @@
       "jobName": "paragraph_1580562566379_-876908296",
       "id": "paragraph_1580562566379_-876908296",
       "dateCreated": "2020-02-01 21:09:26.379",
-      "dateStarted": "2021-06-15 04:12:36.405",
-      "dateFinished": "2021-06-15 04:12:38.675",
+      "dateStarted": "2021-07-31 12:35:50.806",
+      "dateFinished": "2021-07-31 12:35:56.193",
       "status": "FINISHED"
     },
     {
       "title": "Shiny UI",
       "text": "%r.shiny(type\u003dui)\n\n# Define UI for dataset viewer app ----\nui \u003c- fluidPage(\n\n    # App title ----\n    titlePanel(\"Shiny Text\"),\n\n    # Sidebar layout with a input and output definitions ----\n    sidebarLayout(\n\n        # Sidebar panel for inputs ----\n        sidebarPanel(\n    \n            # Input: Selector for choosing dataset ----\n            selectInput(inputId \u003d \"dataset\",\n            label \u003d \"Choose a dataset:\",\n            ch [...]
       "user": "anonymous",
-      "dateUpdated": "2021-06-15 04:12:39.921",
+      "dateUpdated": "2021-07-31 12:36:00.769",
       "progress": 0,
       "config": {
         "runOnSelectionChange": true,
@@ -122,7 +122,7 @@
         "msg": [
           {
             "type": "TEXT",
-            "data": "Write ui.R to /tmp/zeppelin-shiny831370826037572027 successfully."
+            "data": "Write ui.R to /tmp/zeppelin-shiny626071477036151736 successfully."
           }
         ]
       },
@@ -132,15 +132,15 @@
       "jobName": "paragraph_1580562634044_-1915679343",
       "id": "paragraph_1580562634044_-1915679343",
       "dateCreated": "2020-02-01 21:10:34.044",
-      "dateStarted": "2021-06-15 04:12:39.923",
-      "dateFinished": "2021-06-15 04:12:39.928",
+      "dateStarted": "2021-07-31 12:36:00.774",
+      "dateFinished": "2021-07-31 12:36:00.780",
       "status": "FINISHED"
     },
     {
       "title": "Shiny App",
       "text": "%r.shiny(type\u003drun)\n\n",
       "user": "anonymous",
-      "dateUpdated": "2021-06-15 04:14:08.796",
+      "dateUpdated": "2021-07-31 12:36:03.415",
       "progress": 0,
       "config": {
         "runOnSelectionChange": true,
@@ -168,7 +168,11 @@
         "msg": [
           {
             "type": "HTML",
-            "data": "\u003ciframe src\u003d\"http://172.17.0.2:43947\" height \u003d\"500px\" width\u003d\"100%\" frameBorder\u003d\"0\"\u003e\u003c/iframe\u003e\n"
+            "data": "\u003ciframe src\u003d\"http://172.17.0.2:6789\" height \u003d\"500px\" width\u003d\"100%\" frameBorder\u003d\"0\"\u003e\u003c/iframe\u003e\n"
+          },
+          {
+            "type": "TEXT",
+            "data": "  123: \u001b[37mhead.data.frame\u001b[39m\n  120: \u001b[34m\u001b[1mrenderTable [/tmp/zeppelin-shiny626071477036151736/server.R#22]\u001b[22m\u001b[39m\n  119: \u001b[37mfunc\u001b[39m\n  106: \u001b[37mrenderFunc\u001b[39m\n  105: \u001b[37moutput$view\u001b[39m\n   25: \u001b[37mrunApp\u001b[39m\nWarning message:\n“Error in if: missing value where TRUE/FALSE needed”\n\n"
           }
         ]
       },
@@ -178,8 +182,8 @@
       "jobName": "paragraph_1580562660988_2021181385",
       "id": "paragraph_1580562660988_2021181385",
       "dateCreated": "2020-02-01 21:11:00.988",
-      "dateStarted": "2021-06-15 04:14:08.798",
-      "dateFinished": "2021-06-15 04:14:27.853",
+      "dateStarted": "2021-07-31 12:36:03.419",
+      "dateFinished": "2021-07-31 12:36:38.525",
       "status": "ABORT"
     },
     {
diff --git a/notebook/Spark Tutorial/5. SparkR Basics_2BWJFTXKM.zpln b/notebook/Spark Tutorial/5. SparkR Basics_2BWJFTXKM.zpln
index 85b9999..c1d4657 100644
--- a/notebook/Spark Tutorial/5. SparkR Basics_2BWJFTXKM.zpln	
+++ b/notebook/Spark Tutorial/5. SparkR Basics_2BWJFTXKM.zpln	
@@ -4,7 +4,7 @@
       "title": "Overview",
       "text": "%md\n\nRegarding using R in Zeppelin, you can refer the R tutorial. This tutorial is for using SparkR in Zeppelin, where you not only be able to use all the R features, but also can use Spark.\n",
       "user": "anonymous",
-      "dateUpdated": "2021-07-26 04:33:09.925",
+      "dateUpdated": "2021-07-31 12:58:04.822",
       "progress": 0,
       "config": {
         "colWidth": 12.0,
@@ -40,15 +40,15 @@
       "jobName": "paragraph_1581045239881_1714679133",
       "id": "paragraph_1581045239881_1714679133",
       "dateCreated": "2020-02-07 11:13:59.881",
-      "dateStarted": "2021-07-26 04:33:09.934",
-      "dateFinished": "2021-07-26 04:33:09.944",
+      "dateStarted": "2021-07-31 12:58:04.849",
+      "dateFinished": "2021-07-31 12:58:07.175",
       "status": "FINISHED"
     },
     {
       "title": "Hello R",
       "text": "%spark.r\n\nfoo \u003c- TRUE\nprint(foo)\nbare \u003c- c(1, 2.5, 4)\nprint(bare)\ndouble \u003c- 15.0\nprint(double)",
       "user": "anonymous",
-      "dateUpdated": "2021-07-26 04:33:10.034",
+      "dateUpdated": "2021-07-31 12:58:07.247",
       "progress": 0,
       "config": {
         "colWidth": 12.0,
@@ -97,15 +97,15 @@
       "jobName": "paragraph_1429882946244_-381648689",
       "id": "20150424-154226_261270952",
       "dateCreated": "2015-04-24 03:42:26.000",
-      "dateStarted": "2021-07-26 04:33:10.041",
-      "dateFinished": "2021-07-26 04:33:11.267",
+      "dateStarted": "2021-07-31 12:58:07.257",
+      "dateFinished": "2021-07-31 12:58:20.780",
       "status": "FINISHED"
     },
     {
       "title": "Load R Librairies",
       "text": "%spark.r\n\nlibrary(data.table)\ndt \u003c- data.table(1:3)\nprint(dt)\nfor (i in 1:5) {\n  print(i*2)\n}\nprint(1:50)",
       "user": "anonymous",
-      "dateUpdated": "2021-07-26 04:33:11.341",
+      "dateUpdated": "2021-07-31 12:58:20.867",
       "progress": 0,
       "config": {
         "colWidth": 12.0,
@@ -152,15 +152,15 @@
       "jobName": "paragraph_1429882976611_1352445253",
       "id": "20150424-154256_645296307",
       "dateCreated": "2015-04-24 03:42:56.000",
-      "dateStarted": "2021-07-26 04:33:11.348",
-      "dateFinished": "2021-07-26 04:33:11.537",
+      "dateStarted": "2021-07-31 12:58:20.885",
+      "dateFinished": "2021-07-31 12:58:21.035",
       "status": "FINISHED"
     },
     {
       "title": "Load Iris Dataset",
       "text": "%spark.r\n\ncolnames(iris)\niris$Petal.Length\niris$Sepal.Length",
       "user": "anonymous",
-      "dateUpdated": "2021-07-26 04:33:11.548",
+      "dateUpdated": "2021-07-31 12:58:21.081",
       "progress": 0,
       "config": {
         "colWidth": 12.0,
@@ -207,15 +207,15 @@
       "jobName": "paragraph_1455138077044_161383897",
       "id": "20160210-220117_115873183",
       "dateCreated": "2016-02-10 10:01:17.000",
-      "dateStarted": "2021-07-26 04:33:11.559",
-      "dateFinished": "2021-07-26 04:33:11.653",
+      "dateStarted": "2021-07-31 12:58:21.093",
+      "dateFinished": "2021-07-31 12:58:21.171",
       "status": "FINISHED"
     },
     {
       "title": "Create a Spark Dataframe",
       "text": "%spark\n\nimport org.apache.commons.io.IOUtils\nimport java.net.URL\nimport java.nio.charset.Charset\n\nval bankText \u003d sc.parallelize(\n    IOUtils.toString(\n        new URL(\"https://s3.amazonaws.com/apache-zeppelin/tutorial/bank/bank.csv\"),\n        Charset.forName(\"utf8\")).split(\"\\n\"))\n\ncase class Bank(age: Integer, job: String, marital: String, education: String, balance: Integer)\n\nval bank \u003d bankText.map(s \u003d\u003e s.split(\";\")).filter(s \u0 [...]
       "user": "anonymous",
-      "dateUpdated": "2021-07-26 04:33:11.657",
+      "dateUpdated": "2021-07-31 12:58:21.193",
       "progress": 0,
       "config": {
         "colWidth": 6.0,
@@ -255,7 +255,7 @@
         "msg": [
           {
             "type": "TEXT",
-            "data": "\u001b[33mwarning: \u001b[0mthere was one deprecation warning (since 2.0.0); for details, enable `:setting -deprecation\u0027 or `:replay -deprecation\u0027\nimport sqlContext.implicits._\nimport org.apache.commons.io.IOUtils\nimport java.net.URL\nimport java.nio.charset.Charset\n\u001b[1m\u001b[34mbankText\u001b[0m: \u001b[1m\u001b[32morg.apache.spark.rdd.RDD[String]\u001b[0m \u003d ParallelCollectionRDD[173] at parallelize at \u003cconsole\u003e:22\ndefined class B [...]
+            "data": "\u001b[33mwarning: \u001b[0mthere was one deprecation warning; re-run with -deprecation for details\nimport sqlContext.implicits._\nimport org.apache.commons.io.IOUtils\nimport java.net.URL\nimport java.nio.charset.Charset\n\u001b[1m\u001b[34mbankText\u001b[0m: \u001b[1m\u001b[32morg.apache.spark.rdd.RDD[String]\u001b[0m \u003d ParallelCollectionRDD[0] at parallelize at \u003cconsole\u003e:22\ndefined class Bank\n\u001b[1m\u001b[34mbank\u001b[0m: \u001b[1m\u001b[32mo [...]
           }
         ]
       },
@@ -265,15 +265,15 @@
       "jobName": "paragraph_1455142039343_-233762796",
       "id": "20160210-230719_2111095838",
       "dateCreated": "2016-02-10 11:07:19.000",
-      "dateStarted": "2021-07-26 04:33:11.758",
-      "dateFinished": "2021-07-26 04:33:16.643",
+      "dateStarted": "2021-07-31 12:58:21.215",
+      "dateFinished": "2021-07-31 12:58:28.692",
       "status": "FINISHED"
     },
     {
       "title": "Read the Spark Dataframe from R",
-      "text": "%spark.r\n\ndf \u003c- sql(sqlContext, \"select count(*) from bank\")\nprintSchema(df)\nSparkR::head(df)",
+      "text": "%spark.r\n\ndf \u003c- sql(\"select count(*) from bank\")\nprintSchema(df)\nSparkR::head(df)",
       "user": "anonymous",
-      "dateUpdated": "2021-07-26 04:33:16.679",
+      "dateUpdated": "2021-07-31 12:58:28.721",
       "progress": 0,
       "config": {
         "colWidth": 6.0,
@@ -311,25 +311,38 @@
         "msg": [
           {
             "type": "TEXT",
-            "data": "\nError in sql(sqlContext, \"select count(*) from bank\"): unused argument (\"select count(*) from bank\")\n\n\nError in (function (classes, fdef, mtable) : unable to find an inherited method for function \u0027printSchema\u0027 for signature \u0027\"function\"\u0027\n\n\n1 function (x, df1, df2, ncp, log \u003d FALSE)\n2 {\n3     if (missing(ncp))\n4         .Call(C_df, x, df1, df2, log)\n5     else .Call(C_dnf, x, df1, df2, ncp, log)\n6 }                            [...]
+            "data": "\nroot\n |– count(1): long (nullable \u003d false)\n  count(1)\n1     4521\n\n\n\n"
           }
         ]
       },
       "apps": [],
-      "runtimeInfos": {},
+      "runtimeInfos": {
+        "jobUrl": {
+          "propertyName": "jobUrl",
+          "label": "SPARK JOB",
+          "tooltip": "View in Spark web UI",
+          "group": "spark",
+          "values": [
+            {
+              "jobUrl": "http://172.17.0.2:4040/jobs/job?id\u003d0"
+            }
+          ],
+          "interpreterSettingId": "spark"
+        }
+      },
       "progressUpdateIntervalMs": 500,
       "jobName": "paragraph_1455142043062_1598026718",
       "id": "20160210-230723_1811469598",
       "dateCreated": "2016-02-10 11:07:23.000",
-      "dateStarted": "2021-07-26 04:33:16.714",
-      "dateFinished": "2021-07-26 04:33:17.009",
+      "dateStarted": "2021-07-31 12:58:28.735",
+      "dateFinished": "2021-07-31 12:58:31.647",
       "status": "FINISHED"
     },
     {
       "title": "Create a R Dataframe",
-      "text": "%spark.r \n\nlocalNames \u003c- data.frame(name\u003dc(\"John\", \"Smith\", \"Sarah\"), budget\u003dc(19, 53, 18))\nnames \u003c- createDataFrame(sqlContext, localNames)\nprintSchema(names)\nregisterTempTable(names, \"names\")\n\n# SparkR::head(names)",
+      "text": "%spark.r \n\nlocalNames \u003c- data.frame(name\u003dc(\"John\", \"Smith\", \"Sarah\"), budget\u003dc(19, 53, 18))\nnames \u003c- createDataFrame(localNames)\nprintSchema(names)\nregisterTempTable(names, \"names\")\n\n# SparkR::head(names)",
       "user": "anonymous",
-      "dateUpdated": "2021-07-26 04:33:17.107",
+      "dateUpdated": "2021-07-31 12:58:31.738",
       "progress": 0,
       "config": {
         "colWidth": 12.0,
@@ -366,26 +379,39 @@
         "code": "SUCCESS",
         "msg": [
           {
-            "type": "HTML",
-            "data": "\n\u003cpre\u003e\u003ccode\u003eError in createDataFrame(sqlContext, localNames): unexpected type: jobj\n\u003c/code\u003e\u003c/pre\u003e\n\n\u003cpre\u003e\u003ccode\u003eError in (function (classes, fdef, mtable) : unable to find an inherited method for function \u0027printSchema\u0027 for signature \u0027\"function\"\u0027\n\u003c/code\u003e\u003c/pre\u003e\n\n\u003cpre\u003e\u003ccode\u003eError in (function (classes, fdef, mtable) : unable to find an inherited [...]
+            "type": "TEXT",
+            "data": "\nroot\n |– name: string (nullable \u003d true)\n |– budget: double (nullable \u003d true)\n\n\n\n"
           }
         ]
       },
       "apps": [],
-      "runtimeInfos": {},
+      "runtimeInfos": {
+        "jobUrl": {
+          "propertyName": "jobUrl",
+          "label": "SPARK JOB",
+          "tooltip": "View in Spark web UI",
+          "group": "spark",
+          "values": [
+            {
+              "jobUrl": "http://172.17.0.2:4040/jobs/job?id\u003d1"
+            }
+          ],
+          "interpreterSettingId": "spark"
+        }
+      },
       "progressUpdateIntervalMs": 500,
       "jobName": "paragraph_1455142112413_519883679",
       "id": "20160210-230832_1847721959",
       "dateCreated": "2016-02-10 11:08:32.000",
-      "dateStarted": "2021-07-26 04:33:17.116",
-      "dateFinished": "2021-07-26 04:33:17.228",
+      "dateStarted": "2021-07-31 12:58:31.750",
+      "dateFinished": "2021-07-31 12:58:32.072",
       "status": "FINISHED"
     },
     {
       "title": "Read the R Dataframe from Spark",
       "text": "%spark\n\nsqlContext.sql(\"select * from names\").head",
       "user": "anonymous",
-      "dateUpdated": "2021-07-26 04:33:17.316",
+      "dateUpdated": "2021-07-31 12:58:32.149",
       "progress": 0,
       "config": {
         "colWidth": 12.0,
@@ -420,29 +446,42 @@
         "forms": {}
       },
       "results": {
-        "code": "ERROR",
+        "code": "SUCCESS",
         "msg": [
           {
             "type": "TEXT",
-            "data": "org.apache.spark.sql.AnalysisException: Table or view not found: names; line 1 pos 14;\n\u0027Project [*]\n+- \u0027UnresolvedRelation [names], [], false\n\n  at org.apache.spark.sql.catalyst.analysis.package$AnalysisErrorAt.failAnalysis(package.scala:42)\n  at org.apache.spark.sql.catalyst.analysis.CheckAnalysis.$anonfun$checkAnalysis$1(CheckAnalysis.scala:113)\n  at org.apache.spark.sql.catalyst.analysis.CheckAnalysis.$anonfun$checkAnalysis$1$adapted(CheckAnalysis. [...]
+            "data": "\u001b[1m\u001b[34mres3\u001b[0m: \u001b[1m\u001b[32morg.apache.spark.sql.Row\u001b[0m \u003d [John,19.0]\n"
           }
         ]
       },
       "apps": [],
-      "runtimeInfos": {},
+      "runtimeInfos": {
+        "jobUrl": {
+          "propertyName": "jobUrl",
+          "label": "SPARK JOB",
+          "tooltip": "View in Spark web UI",
+          "group": "spark",
+          "values": [
+            {
+              "jobUrl": "http://172.17.0.2:4040/jobs/job?id\u003d2"
+            }
+          ],
+          "interpreterSettingId": "spark"
+        }
+      },
       "progressUpdateIntervalMs": 500,
       "jobName": "paragraph_1455188357108_95477841",
       "id": "20160211-115917_445850505",
       "dateCreated": "2016-02-11 11:59:17.000",
-      "dateStarted": "2021-07-26 04:33:17.328",
-      "dateFinished": "2021-07-26 04:33:18.121",
-      "status": "ERROR"
+      "dateStarted": "2021-07-31 12:58:32.186",
+      "dateFinished": "2021-07-31 12:58:34.068",
+      "status": "FINISHED"
     },
     {
       "title": "Query the R Datafame with SQL",
       "text": "%spark.sql\n\nselect * from names\n",
       "user": "anonymous",
-      "dateUpdated": "2020-03-11 14:02:53.325",
+      "dateUpdated": "2021-07-31 12:58:34.090",
       "progress": 0,
       "config": {
         "colWidth": 12.0,
@@ -507,20 +546,33 @@
         ]
       },
       "apps": [],
-      "runtimeInfos": {},
+      "runtimeInfos": {
+        "jobUrl": {
+          "propertyName": "jobUrl",
+          "label": "SPARK JOB",
+          "tooltip": "View in Spark web UI",
+          "group": "spark",
+          "values": [
+            {
+              "jobUrl": "http://172.17.0.2:4040/jobs/job?id\u003d3"
+            }
+          ],
+          "interpreterSettingId": "spark"
+        }
+      },
       "progressUpdateIntervalMs": 500,
       "jobName": "paragraph_1455142115582_-1840950897",
       "id": "20160210-230835_19876971",
       "dateCreated": "2016-02-10 11:08:35.000",
-      "dateStarted": "2020-03-11 14:02:53.337",
-      "dateFinished": "2020-03-11 14:02:53.454",
+      "dateStarted": "2021-07-31 12:58:34.108",
+      "dateFinished": "2021-07-31 12:58:34.294",
       "status": "FINISHED"
     },
     {
       "title": "R builtin Plotting",
       "text": "%spark.r\n\npairs(iris)",
       "user": "anonymous",
-      "dateUpdated": "2020-03-11 14:04:31.335",
+      "dateUpdated": "2021-07-31 12:58:34.305",
       "progress": 0,
       "config": {
         "colWidth": 4.0,
@@ -557,7 +609,7 @@
         "msg": [
           {
             "type": "HTML",
-            "data": "\u003cp\u003e\u003cimg src\u003d\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA/AAAAPwCAYAAACWX5UOAAAEGWlDQ1BrQ0dDb2xvclNwYWNlR2VuZXJpY1JHQgAAOI2NVV1oHFUUPrtzZyMkzlNsNIV0qD8NJQ2TVjShtLp/3d02bpZJNtoi6GT27s6Yyc44M7v9oU9FUHwx6psUxL+3gCAo9Q/bPrQvlQol2tQgKD60+INQ6Ium65k7M5lpurHeZe58853vnnvuuWfvBei5qliWkRQBFpquLRcy4nOHj4g9K5CEh6AXBqFXUR0rXalMAjZPC3e1W99Dwntf2dXd/p+tt0YdFSBxH2Kz5qgLiI8B8KdVy3YBevqRHz/qWh72Yui3MUDEL3q44WPXw3M+fo1pZuQs4tOIBVVTaoiXEI/MxfhGDPsxsNZfoE1q66ro5aJ [...]
+            "data": "\u003cp\u003e\u003cimg src\u003d\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA/AAAAPwCAMAAAChgWU8AAADAFBMVEUAAAABAQECAgIDAwMEBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUWFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJycoKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6Ojo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tMTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVl [...]
           }
         ]
       },
@@ -567,15 +619,15 @@
       "jobName": "paragraph_1455137735427_-1023869289",
       "id": "20160210-215535_1815168219",
       "dateCreated": "2016-02-10 09:55:35.000",
-      "dateStarted": "2020-03-11 14:02:54.029",
-      "dateFinished": "2020-03-11 14:02:55.047",
+      "dateStarted": "2021-07-31 12:58:34.313",
+      "dateFinished": "2021-07-31 12:58:34.641",
       "status": "FINISHED"
     },
     {
       "title": "R builtin Plotting",
       "text": "%spark.r\n\nplot(iris, col \u003d heat.colors(3))",
       "user": "anonymous",
-      "dateUpdated": "2020-03-11 14:04:39.471",
+      "dateUpdated": "2021-07-31 12:58:34.713",
       "progress": 0,
       "config": {
         "colWidth": 4.0,
@@ -612,7 +664,7 @@
         "msg": [
           {
             "type": "HTML",
-            "data": "\u003cp\u003e\u003cimg src\u003d\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA/AAAAPwCAYAAACWX5UOAAAEGWlDQ1BrQ0dDb2xvclNwYWNlR2VuZXJpY1JHQgAAOI2NVV1oHFUUPrtzZyMkzlNsNIV0qD8NJQ2TVjShtLp/3d02bpZJNtoi6GT27s6Yyc44M7v9oU9FUHwx6psUxL+3gCAo9Q/bPrQvlQol2tQgKD60+INQ6Ium65k7M5lpurHeZe58853vnnvuuWfvBei5qliWkRQBFpquLRcy4nOHj4g9K5CEh6AXBqFXUR0rXalMAjZPC3e1W99Dwntf2dXd/p+tt0YdFSBxH2Kz5qgLiI8B8KdVy3YBevqRHz/qWh72Yui3MUDEL3q44WPXw3M+fo1pZuQs4tOIBVVTaoiXEI/MxfhGDPsxsNZfoE1q66ro5aJ [...]
+            "data": "\u003cp\u003e\u003cimg src\u003d\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA/AAAAPwCAIAAAAZPQJZAAAACXBIWXMAABYlAAAWJQFJUiTwAAAgAElEQVR4nOzdd0AUx9vA8e8dHQ4QLIhgxS5gxd5bYjd2Y/0ZY2/BEhMTjRprotHEXmJL7CUqsfeu2AsqWBARRUWqdLj3D0DAV4ngwd3J8/mLm5udefZY9h52d2YUarUaIYQQQgghhH5SajsAIYQQQgghRNZJQi+EEEIIIYQek4ReCCGEEEIIPSYJvRBCCCGEEHpMEnohhBBCCCH0mCT0QgghhBBC6DFJ6IUQQgghhNBjktALIYQQQgihxyShF0IIIYQQQo9JQi+EEEIIIYQek4ReCCGEEEIIPSYJvRBCCCGEEHpMEnohhBBCCCH0mCT0QgghhBBC6DFJ6IUQQgg [...]
           }
         ]
       },
@@ -622,15 +674,15 @@
       "jobName": "paragraph_1455137737773_-549089146",
       "id": "20160210-215537_582262164",
       "dateCreated": "2016-02-10 09:55:37.000",
-      "dateStarted": "2020-03-11 14:02:55.142",
-      "dateFinished": "2020-03-11 14:02:55.706",
+      "dateStarted": "2021-07-31 12:58:34.720",
+      "dateFinished": "2021-07-31 12:58:35.079",
       "status": "FINISHED"
     },
     {
       "title": "ggplot2",
       "text": "%spark.r\n\nlibrary(ggplot2)\npres_rating \u003c- data.frame(\n  rating \u003d as.numeric(presidents),\n  year \u003d as.numeric(floor(time(presidents))),\n  quarter \u003d as.numeric(cycle(presidents))\n)\np \u003c- ggplot(pres_rating, aes(x\u003dyear, y\u003dquarter, fill\u003drating))\np + geom_raster()",
       "user": "anonymous",
-      "dateUpdated": "2020-03-11 14:04:47.733",
+      "dateUpdated": "2021-07-31 12:58:35.120",
       "progress": 0,
       "config": {
         "colWidth": 4.0,
@@ -668,7 +720,7 @@
         "msg": [
           {
             "type": "HTML",
-            "data": "\u003cp\u003e\u003cimg src\u003d\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA/AAAAPwCAYAAACWX5UOAAAEGWlDQ1BrQ0dDb2xvclNwYWNlR2VuZXJpY1JHQgAAOI2NVV1oHFUUPrtzZyMkzlNsNIV0qD8NJQ2TVjShtLp/3d02bpZJNtoi6GT27s6Yyc44M7v9oU9FUHwx6psUxL+3gCAo9Q/bPrQvlQol2tQgKD60+INQ6Ium65k7M5lpurHeZe58853vnnvuuWfvBei5qliWkRQBFpquLRcy4nOHj4g9K5CEh6AXBqFXUR0rXalMAjZPC3e1W99Dwntf2dXd/p+tt0YdFSBxH2Kz5qgLiI8B8KdVy3YBevqRHz/qWh72Yui3MUDEL3q44WPXw3M+fo1pZuQs4tOIBVVTaoiXEI/MxfhGDPsxsNZfoE1q66ro5aJ [...]
+            "data": "\u003cp\u003e\u003cimg src\u003d\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA/AAAAPwCAIAAAAZPQJZAAAACXBIWXMAABYlAAAWJQFJUiTwAAAgAElEQVR4nOzdfZyVdZ34/+vMDHMjdyo3gYxICQgs5k3IWkHeIcqqKWCiWKvtz3ZxswzN1PJrkA8tUUNtKdaVVh8iKbhtuA+zMM1U8g7MLLyDlEwCuWeYgYG5Ob8/RsdpADnjXJzDm57Px/wxfOaaz/XhPE70Opefc51MNptNAACAmIoKvQAAAODDE/QAABCYoAcAgMAEPQAABCboAQAgMEEPAACBCXoAAAhM0AMAQGCCHgAAAhP0AAAQWEmhF9AGVVVV27dvL/Qq/kYmk+nWrdu6deuy2Wyh1/J3pOlhT5Jk/fr1jY2NhV7O35fu3bt7wudf9+7dE0/4Qujevbu [...]
           }
         ]
       },
@@ -678,15 +730,15 @@
       "jobName": "paragraph_1438930880648_-1572054429",
       "id": "20150807-090120_1060568667",
       "dateCreated": "2015-08-07 09:01:20.000",
-      "dateStarted": "2020-03-11 14:02:55.777",
-      "dateFinished": "2020-03-11 14:02:56.859",
+      "dateStarted": "2021-07-31 12:58:35.127",
+      "dateFinished": "2021-07-31 12:58:36.116",
       "status": "FINISHED"
     },
     {
       "title": "GoogleVis: Bar Chart",
       "text": "%spark.r\n\nlibrary(googleVis)\ndf\u003ddata.frame(country\u003dc(\"US\", \"GB\", \"BR\"), \n              val1\u003dc(10,13,14), \n              val2\u003dc(23,12,32))\nBar \u003c- gvisBarChart(df)\nprint(Bar, tag \u003d \u0027chart\u0027)\n",
       "user": "anonymous",
-      "dateUpdated": "2020-03-11 14:02:53.544",
+      "dateUpdated": "2021-07-31 12:58:36.128",
       "progress": 0,
       "config": {
         "colWidth": 4.0,
@@ -721,7 +773,7 @@
         "msg": [
           {
             "type": "HTML",
-            "data": "\n\u003c!-- BarChart generated in R 3.5.2 by googleVis 0.6.4 package --\u003e\n\n\u003c!-- Wed Mar 11 14:02:53 2020 --\u003e\n\n\u003c!-- jsHeader --\u003e\n\n\u003cscript type\u003d\"text/javascript\"\u003e\n \n// jsData \nfunction gvisDataBarChartID16137fa9e5a9 () {\nvar data \u003d new google.visualization.DataTable();\nvar datajson \u003d\n[\n [\n\"US\",\n10,\n23\n],\n[\n\"GB\",\n13,\n12\n],\n[\n\"BR\",\n14,\n32\n] \n];\ndata.addColumn(\u0027string\u0027,\u0027co [...]
+            "data": "\n\u003c!-- BarChart generated in R 3.6.3 by googleVis 0.6.10 package --\u003e\n\n\u003c!-- Sat Jul 31 12:58:36 2021 --\u003e\n\n\u003c!-- jsHeader --\u003e\n\n\u003cscript type\u003d\"text/javascript\"\u003e\n \n// jsData \nfunction gvisDataBarChartID13f59e73eea () {\nvar data \u003d new google.visualization.DataTable();\nvar datajson \u003d\n[\n [\n\"US\",\n10,\n23\n],\n[\n\"GB\",\n13,\n12\n],\n[\n\"BR\",\n14,\n32\n] \n];\ndata.addColumn(\u0027string\u0027,\u0027co [...]
           }
         ]
       },
@@ -731,15 +783,15 @@
       "jobName": "paragraph_1485626417184_-1153542135",
       "id": "20170129-030017_426747323",
       "dateCreated": "2017-01-29 03:00:17.000",
-      "dateStarted": "2020-03-11 14:02:53.554",
-      "dateFinished": "2020-03-11 14:02:53.661",
+      "dateStarted": "2021-07-31 12:58:36.159",
+      "dateFinished": "2021-07-31 12:58:36.284",
       "status": "FINISHED"
     },
     {
       "title": "GoogleVis: Candlestick Chart",
       "text": "%spark.r\n\nlibrary(googleVis)\n\nCandle \u003c- gvisCandlestickChart(OpenClose, \n                               options\u003dlist(legend\u003d\u0027none\u0027))\n\nprint(Candle, tag \u003d \u0027chart\u0027)",
       "user": "anonymous",
-      "dateUpdated": "2020-03-11 14:02:53.759",
+      "dateUpdated": "2021-07-31 12:58:36.351",
       "progress": 0,
       "config": {
         "colWidth": 4.0,
@@ -774,7 +826,7 @@
         "msg": [
           {
             "type": "HTML",
-            "data": "\n\u003c!-- CandlestickChart generated in R 3.5.2 by googleVis 0.6.4 package --\u003e\n\n\u003c!-- Wed Mar 11 14:02:53 2020 --\u003e\n\n\u003c!-- jsHeader --\u003e\n\n\u003cscript type\u003d\"text/javascript\"\u003e\n \n// jsData \nfunction gvisDataCandlestickChartID161374f61e8d () {\nvar data \u003d new google.visualization.DataTable();\nvar datajson \u003d\n[\n [\n\"Mon\",\n20,\n28,\n38,\n45\n],\n[\n\"Tues\",\n31,\n38,\n55,\n66\n],\n[\n\"Wed\",\n50,\n55,\n77,\n80\n [...]
+            "data": "\n\u003c!-- CandlestickChart generated in R 3.6.3 by googleVis 0.6.10 package --\u003e\n\n\u003c!-- Sat Jul 31 12:58:36 2021 --\u003e\n\n\u003c!-- jsHeader --\u003e\n\n\u003cscript type\u003d\"text/javascript\"\u003e\n \n// jsData \nfunction gvisDataCandlestickChartID13f1459b8bb () {\nvar data \u003d new google.visualization.DataTable();\nvar datajson \u003d\n[\n [\n\"Mon\",\n20,\n28,\n38,\n45\n],\n[\n\"Tues\",\n31,\n38,\n55,\n66\n],\n[\n\"Wed\",\n50,\n55,\n77,\n80\n [...]
           }
         ]
       },
@@ -784,15 +836,15 @@
       "jobName": "paragraph_1485627113560_-130863711",
       "id": "20170129-031153_758721410",
       "dateCreated": "2017-01-29 03:11:53.000",
-      "dateStarted": "2020-03-11 14:02:53.773",
-      "dateFinished": "2020-03-11 14:02:53.839",
+      "dateStarted": "2021-07-31 12:58:36.361",
+      "dateFinished": "2021-07-31 12:58:36.531",
       "status": "FINISHED"
     },
     {
       "title": "GoogleVis: Line chart",
       "text": "%spark.r\n\nlibrary(googleVis)\ndf\u003ddata.frame(country\u003dc(\"US\", \"GB\", \"BR\"), \n              val1\u003dc(10,13,14), \n              val2\u003dc(23,12,32))\n\nLine \u003c- gvisLineChart(df)\n\nprint(Line, tag \u003d \u0027chart\u0027)\n",
       "user": "anonymous",
-      "dateUpdated": "2020-03-11 14:02:53.879",
+      "dateUpdated": "2021-07-31 12:58:36.561",
       "progress": 0,
       "config": {
         "colWidth": 4.0,
@@ -827,7 +879,7 @@
         "msg": [
           {
             "type": "HTML",
-            "data": "\n\u003c!-- LineChart generated in R 3.5.2 by googleVis 0.6.4 package --\u003e\n\n\u003c!-- Wed Mar 11 14:02:53 2020 --\u003e\n\n\u003c!-- jsHeader --\u003e\n\n\u003cscript type\u003d\"text/javascript\"\u003e\n \n// jsData \nfunction gvisDataLineChartID161374bb15701 () {\nvar data \u003d new google.visualization.DataTable();\nvar datajson \u003d\n[\n [\n\"US\",\n10,\n23\n],\n[\n\"GB\",\n13,\n12\n],\n[\n\"BR\",\n14,\n32\n] \n];\ndata.addColumn(\u0027string\u0027,\u002 [...]
+            "data": "\n\u003c!-- LineChart generated in R 3.6.3 by googleVis 0.6.10 package --\u003e\n\n\u003c!-- Sat Jul 31 12:58:36 2021 --\u003e\n\n\u003c!-- jsHeader --\u003e\n\n\u003cscript type\u003d\"text/javascript\"\u003e\n \n// jsData \nfunction gvisDataLineChartID13f607c42e3 () {\nvar data \u003d new google.visualization.DataTable();\nvar datajson \u003d\n[\n [\n\"US\",\n10,\n23\n],\n[\n\"GB\",\n13,\n12\n],\n[\n\"BR\",\n14,\n32\n] \n];\ndata.addColumn(\u0027string\u0027,\u0027 [...]
           }
         ]
       },
@@ -837,15 +889,15 @@
       "jobName": "paragraph_1455138857313_92355963",
       "id": "20160210-221417_1400405266",
       "dateCreated": "2016-02-10 10:14:17.000",
-      "dateStarted": "2020-03-11 14:02:53.888",
-      "dateFinished": "2020-03-11 14:02:53.966",
+      "dateStarted": "2021-07-31 12:58:36.569",
+      "dateFinished": "2021-07-31 12:58:36.652",
       "status": "FINISHED"
     },
     {
       "title": "GoogleViz: Bubble Chart",
       "text": "%spark.r\n\nlibrary(googleVis)\nbubble \u003c- gvisBubbleChart(Fruits, idvar\u003d\"Fruit\", \n                          xvar\u003d\"Sales\", yvar\u003d\"Expenses\",\n                          colorvar\u003d\"Year\", sizevar\u003d\"Profit\",\n                          options\u003dlist(\n                            hAxis\u003d\u0027{minValue:75, maxValue:125}\u0027))\nprint(bubble, tag \u003d \u0027chart\u0027)",
       "user": "anonymous",
-      "dateUpdated": "2020-03-11 14:02:56.910",
+      "dateUpdated": "2021-07-31 12:58:36.667",
       "progress": 0,
       "config": {
         "colWidth": 6.0,
@@ -883,7 +935,7 @@
         "msg": [
           {
             "type": "HTML",
-            "data": "\n\u003c!-- BubbleChart generated in R 3.5.2 by googleVis 0.6.4 package --\u003e\n\n\u003c!-- Wed Mar 11 14:02:56 2020 --\u003e\n\n\u003c!-- jsHeader --\u003e\n\n\u003cscript type\u003d\"text/javascript\"\u003e\n \n// jsData \nfunction gvisDataBubbleChartID161377dc0e955 () {\nvar data \u003d new google.visualization.DataTable();\nvar datajson \u003d\n[\n [\n\"Apples\",\n98,\n78,\n2008,\n20\n],\n[\n\"Apples\",\n111,\n79,\n2009,\n32\n],\n[\n\"Apples\",\n89,\n76,\n2010, [...]
+            "data": "\n\u003c!-- BubbleChart generated in R 3.6.3 by googleVis 0.6.10 package --\u003e\n\n\u003c!-- Sat Jul 31 12:58:36 2021 --\u003e\n\n\u003c!-- jsHeader --\u003e\n\n\u003cscript type\u003d\"text/javascript\"\u003e\n \n// jsData \nfunction gvisDataBubbleChartID13f7d6e8475 () {\nvar data \u003d new google.visualization.DataTable();\nvar datajson \u003d\n[\n [\n\"Apples\",\n98,\n78,\n2008,\n20\n],\n[\n\"Apples\",\n111,\n79,\n2009,\n32\n],\n[\n\"Apples\",\n89,\n76,\n2010,\ [...]
           }
         ]
       },
@@ -893,15 +945,15 @@
       "jobName": "paragraph_1455141578555_-1713165000",
       "id": "20160210-225938_1538591791",
       "dateCreated": "2016-02-10 10:59:38.000",
-      "dateStarted": "2020-03-11 14:02:56.920",
-      "dateFinished": "2020-03-11 14:02:56.988",
+      "dateStarted": "2021-07-31 12:58:36.674",
+      "dateFinished": "2021-07-31 12:58:36.753",
       "status": "FINISHED"
     },
     {
       "title": "GoogleViz: Geo Chart",
       "text": "%spark.r\n\nlibrary(googleVis)\ngeo \u003d gvisGeoChart(Exports, locationvar \u003d \"Country\", colorvar\u003d\"Profit\", options\u003dlist(Projection \u003d \"kavrayskiy-vii\"))\nprint(geo, tag \u003d \u0027chart\u0027)",
       "user": "anonymous",
-      "dateUpdated": "2020-03-11 14:02:57.020",
+      "dateUpdated": "2021-07-31 12:58:36.773",
       "progress": 0,
       "config": {
         "colWidth": 6.0,
@@ -939,7 +991,7 @@
         "msg": [
           {
             "type": "HTML",
-            "data": "\n\u003c!-- GeoChart generated in R 3.5.2 by googleVis 0.6.4 package --\u003e\n\n\u003c!-- Wed Mar 11 14:02:57 2020 --\u003e\n\n\u003c!-- jsHeader --\u003e\n\n\u003cscript type\u003d\"text/javascript\"\u003e\n \n// jsData \nfunction gvisDataGeoChartID16137401307ab () {\nvar data \u003d new google.visualization.DataTable();\nvar datajson \u003d\n[\n [\n\"Germany\",\n3\n],\n[\n\"Brazil\",\n4\n],\n[\n\"United States\",\n5\n],\n[\n\"France\",\n4\n],\n[\n\"Hungary\",\n3\n [...]
+            "data": "\n\u003c!-- GeoChart generated in R 3.6.3 by googleVis 0.6.10 package --\u003e\n\n\u003c!-- Sat Jul 31 12:58:36 2021 --\u003e\n\n\u003c!-- jsHeader --\u003e\n\n\u003cscript type\u003d\"text/javascript\"\u003e\n \n// jsData \nfunction gvisDataGeoChartID13f437c2543 () {\nvar data \u003d new google.visualization.DataTable();\nvar datajson \u003d\n[\n [\n\"Germany\",\n3\n],\n[\n\"Brazil\",\n4\n],\n[\n\"United States\",\n5\n],\n[\n\"France\",\n4\n],\n[\n\"Hungary\",\n3\n] [...]
           }
         ]
       },
@@ -949,14 +1001,14 @@
       "jobName": "paragraph_1455140544963_1486338978",
       "id": "20160210-224224_735421242",
       "dateCreated": "2016-02-10 10:42:24.000",
-      "dateStarted": "2020-03-11 14:02:57.032",
-      "dateFinished": "2020-03-11 14:02:57.089",
+      "dateStarted": "2021-07-31 12:58:36.788",
+      "dateFinished": "2021-07-31 12:58:36.879",
       "status": "FINISHED"
     },
     {
       "text": "%md\n\n## Congratulations, it\u0027s done.\n### You can create your own notebook in \u0027Notebook\u0027 menu. Good luck!",
       "user": "anonymous",
-      "dateUpdated": "2020-03-11 14:02:57.131",
+      "dateUpdated": "2021-07-31 12:58:36.888",
       "progress": 0,
       "config": {
         "colWidth": 12.0,
@@ -990,8 +1042,8 @@
       "jobName": "paragraph_1485626988585_-946362813",
       "id": "20170129-030948_1379298104",
       "dateCreated": "2017-01-29 03:09:48.000",
-      "dateStarted": "2020-03-11 14:02:57.140",
-      "dateFinished": "2020-03-11 14:02:57.203",
+      "dateStarted": "2021-07-31 12:58:36.896",
+      "dateFinished": "2021-07-31 12:58:36.911",
       "status": "FINISHED"
     }
   ],
diff --git a/notebook/Spark Tutorial/6. SparkR Shiny App_2F1CHQ4TT.zpln b/notebook/Spark Tutorial/6. SparkR Shiny App_2F1CHQ4TT.zpln
index e19746f..69fd1c5 100644
--- a/notebook/Spark Tutorial/6. SparkR Shiny App_2F1CHQ4TT.zpln	
+++ b/notebook/Spark Tutorial/6. SparkR Shiny App_2F1CHQ4TT.zpln	
@@ -5,6 +5,7 @@
       "text": "%md\n\n[Shiny](https://shiny.rstudio.com/tutorial/) is an R package that makes it easy to build interactive web applications (apps) straight from R. For developing one Shiny App in Zeppelin, you need to at least 3 paragraphs (server paragraph, ui paragraph and run type paragraph). User are not only able to build shiny app in R interpreter, but also in SparkR interpreter where you can use Spark.",
       "user": "anonymous",
       "dateUpdated": "2020-02-06 17:26:32.533",
+      "progress": 0,
       "config": {
         "colWidth": 12.0,
         "fontSize": 9.0,
@@ -34,6 +35,7 @@
         ]
       },
       "apps": [],
+      "runtimeInfos": {},
       "progressUpdateIntervalMs": 500,
       "jobName": "paragraph_1580981119260_-2080233417",
       "id": "paragraph_1580981119260_-2080233417",
@@ -46,7 +48,8 @@
       "title": "Shiny Server",
       "text": "%spark.shiny(type\u003dserver)\n\n# Define server logic to summarize and view selected dataset ----\nserver \u003c- function(input, output) {\n\n    # Return the requested dataset ----\n    datasetInput \u003c- reactive({\n        switch(input$dataset,\n        \"rock\" \u003d as.DataFrame(rock),\n        \"pressure\" \u003d as.DataFrame(pressure),\n        \"cars\" \u003d as.DataFrame(cars))\n    })\n\n    # Generate a summary of the dataset ----\n    output$summary \u003 [...]
       "user": "anonymous",
-      "dateUpdated": "2020-02-06 17:28:14.258",
+      "dateUpdated": "2021-07-31 12:37:18.062",
+      "progress": 0,
       "config": {
         "colWidth": 6.0,
         "fontSize": 9.0,
@@ -71,24 +74,26 @@
         "msg": [
           {
             "type": "TEXT",
-            "data": "Write server.R to /var/folders/99/mfxjjdtj7x70rvwgkxpq4jm40000gn/T/zeppelin-shiny1023768872015716789 successfully."
+            "data": "Write server.R to /tmp/zeppelin-shiny7021485758031533052 successfully."
           }
         ]
       },
       "apps": [],
+      "runtimeInfos": {},
       "progressUpdateIntervalMs": 500,
       "jobName": "paragraph_1580981178904_-1694112525",
       "id": "paragraph_1580981178904_-1694112525",
       "dateCreated": "2020-02-06 17:26:18.904",
-      "dateStarted": "2020-02-06 17:28:14.264",
-      "dateFinished": "2020-02-06 17:28:33.284",
+      "dateStarted": "2021-07-31 12:37:18.065",
+      "dateFinished": "2021-07-31 12:37:34.674",
       "status": "FINISHED"
     },
     {
       "title": "Shiny UI",
       "text": "%spark.shiny(type\u003dui)\n\n# Define UI for dataset viewer app ----\nui \u003c- fluidPage(\n\n    # App title ----\n    titlePanel(paste(\"Spark Version\", sparkR.version(), sep\u003d\":\")),\n\n    # Sidebar layout with a input and output definitions ----\n    sidebarLayout(\n\n        # Sidebar panel for inputs ----\n        sidebarPanel(\n\n            # Input: Selector for choosing dataset ----\n            selectInput(inputId \u003d \"dataset\",\n            label \ [...]
       "user": "anonymous",
-      "dateUpdated": "2020-02-06 17:31:47.873",
+      "dateUpdated": "2021-07-31 12:38:08.606",
+      "progress": 0,
       "config": {
         "colWidth": 6.0,
         "fontSize": 9.0,
@@ -113,24 +118,26 @@
         "msg": [
           {
             "type": "TEXT",
-            "data": "Write ui.R to /var/folders/99/mfxjjdtj7x70rvwgkxpq4jm40000gn/T/zeppelin-shiny1023768872015716789 successfully."
+            "data": "Write ui.R to /tmp/zeppelin-shiny7021485758031533052 successfully."
           }
         ]
       },
       "apps": [],
+      "runtimeInfos": {},
       "progressUpdateIntervalMs": 500,
       "jobName": "paragraph_1580981253412_-1490669900",
       "id": "paragraph_1580981253412_-1490669900",
       "dateCreated": "2020-02-06 17:27:33.412",
-      "dateStarted": "2020-02-06 17:30:26.620",
-      "dateFinished": "2020-02-06 17:30:26.630",
+      "dateStarted": "2021-07-31 12:38:08.609",
+      "dateFinished": "2021-07-31 12:38:08.617",
       "status": "FINISHED"
     },
     {
       "title": "Shiny App",
       "text": "%spark.shiny(type\u003drun)\n",
       "user": "anonymous",
-      "dateUpdated": "2020-02-06 17:31:58.385",
+      "dateUpdated": "2021-07-31 12:38:11.571",
+      "progress": 0,
       "config": {
         "colWidth": 12.0,
         "fontSize": 9.0,
@@ -150,12 +157,75 @@
         "params": {},
         "forms": {}
       },
+      "results": {
+        "code": "SUCCESS",
+        "msg": [
+          {
+            "type": "TEXT",
+            "data": ""
+          },
+          {
+            "type": "HTML",
+            "data": "\u003ciframe src\u003d\"http://172.17.0.2:37569\" height \u003d\"500px\" width\u003d\"100%\" frameBorder\u003d\"0\"\u003e\u003c/iframe\u003e\n"
+          }
+        ]
+      },
       "apps": [],
+      "runtimeInfos": {
+        "jobUrl": {
+          "propertyName": "jobUrl",
+          "label": "SPARK JOB",
+          "tooltip": "View in Spark web UI",
+          "group": "spark",
+          "values": [
+            {
+              "jobUrl": "http://5c3bcd393555:4040/jobs/job?id\u003d0"
+            },
+            {
+              "jobUrl": "http://5c3bcd393555:4040/jobs/job?id\u003d1"
+            },
+            {
+              "jobUrl": "http://5c3bcd393555:4040/jobs/job?id\u003d2"
+            },
+            {
+              "jobUrl": "http://5c3bcd393555:4040/jobs/job?id\u003d3"
+            },
+            {
+              "jobUrl": "http://5c3bcd393555:4040/jobs/job?id\u003d4"
+            },
+            {
+              "jobUrl": "http://5c3bcd393555:4040/jobs/job?id\u003d5"
+            },
+            {
+              "jobUrl": "http://5c3bcd393555:4040/jobs/job?id\u003d6"
+            },
+            {
+              "jobUrl": "http://5c3bcd393555:4040/jobs/job?id\u003d7"
+            },
+            {
+              "jobUrl": "http://5c3bcd393555:4040/jobs/job?id\u003d8"
+            },
+            {
+              "jobUrl": "http://5c3bcd393555:4040/jobs/job?id\u003d9"
+            },
+            {
+              "jobUrl": "http://5c3bcd393555:4040/jobs/job?id\u003d10"
+            },
+            {
+              "jobUrl": "http://5c3bcd393555:4040/jobs/job?id\u003d11"
+            },
+            {
+              "jobUrl": "http://5c3bcd393555:4040/jobs/job?id\u003d12"
+            }
+          ],
+          "interpreterSettingId": "spark"
+        }
+      },
       "progressUpdateIntervalMs": 500,
       "jobName": "paragraph_1580981260311_-1138471389",
       "id": "paragraph_1580981260311_-1138471389",
       "dateCreated": "2020-02-06 17:27:40.311",
-      "dateStarted": "2020-02-06 17:30:37.041",
+      "dateStarted": "2021-07-31 12:38:11.573",
       "dateFinished": "2020-02-06 17:30:52.885",
       "status": "ABORT"
     },
@@ -163,6 +233,7 @@
       "text": "%spark.shiny\n",
       "user": "anonymous",
       "dateUpdated": "2020-03-11 14:09:23.435",
+      "progress": 0,
       "config": {
         "colWidth": 12.0,
         "fontSize": 9.0,
@@ -181,6 +252,7 @@
         "forms": {}
       },
       "apps": [],
+      "runtimeInfos": {},
       "progressUpdateIntervalMs": 500,
       "jobName": "paragraph_1580981251266_390385714",
       "id": "paragraph_1580981251266_390385714",
@@ -188,7 +260,7 @@
       "status": "READY"
     }
   ],
-  "name": "SparkR Shiny App",
+  "name": "6. SparkR Shiny App",
   "id": "2F1CHQ4TT",
   "defaultInterpreterGroup": "spark",
   "version": "0.9.0-SNAPSHOT",