Added: zeppelin/site/docs/0.6.0/interpreter/python.html
URL:
http://svn.apache.org/viewvc/zeppelin/site/docs/0.6.0/interpreter/python.html?rev=1751605&view=auto
==============================================================================
--- zeppelin/site/docs/0.6.0/interpreter/python.html (added)
+++ zeppelin/site/docs/0.6.0/interpreter/python.html Wed Jul 6 06:25:29 2016
@@ -0,0 +1,292 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Python Interpreter</title>
+ <meta name="description" content="Python Interpreter">
+ <meta name="author" content="The Apache Software Foundation">
+
+ <!-- Enable responsive viewport -->
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+ <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+ <!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+
+ <link
href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css"
rel="stylesheet">
+
+ <!-- Le styles -->
+ <link
href="/docs/0.6.0/assets/themes/zeppelin/bootstrap/css/bootstrap.css"
rel="stylesheet">
+ <link href="/docs/0.6.0/assets/themes/zeppelin/css/style.css?body=1"
rel="stylesheet" type="text/css">
+ <link href="/docs/0.6.0/assets/themes/zeppelin/css/syntax.css"
rel="stylesheet" type="text/css" media="screen" />
+ <!-- Le fav and touch icons -->
+ <!-- Update these with your own images
+ <link rel="shortcut icon" href="images/favicon.ico">
+ <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
+ <link rel="apple-touch-icon" sizes="72x72"
href="images/apple-touch-icon-72x72.png">
+ <link rel="apple-touch-icon" sizes="114x114"
href="images/apple-touch-icon-114x114.png">
+ -->
+
+ <!-- Js -->
+ <script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
+ <script
src="/docs/0.6.0/assets/themes/zeppelin/bootstrap/js/bootstrap.min.js"></script>
+ <script src="/docs/0.6.0/assets/themes/zeppelin/js/docs.js"></script>
+ <script src="/docs/0.6.0/assets/themes/zeppelin/js/anchor.min.js"></script>
+ <script src="/docs/0.6.0/assets/themes/zeppelin/js/toc.js"></script>
+
+ <!-- atom & rss feed -->
+ <link href="/docs/0.6.0/atom.xml" type="application/atom+xml"
rel="alternate" title="Sitewide ATOM Feed">
+ <link href="/docs/0.6.0/rss.xml" type="application/rss+xml"
rel="alternate" title="Sitewide RSS Feed">
+ </head>
+
+ <body>
+
+ <div id="menu" class="navbar navbar-inverse navbar-fixed-top"
role="navigation">
+ <div class="container">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle" data-toggle="collapse"
data-target=".navbar-collapse">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="/docs/0.6.0">
+ <img src="/assets/themes/zeppelin/img/zeppelin_logo.png"
width="50" alt="I'm zeppelin">
+ <span style="vertical-align:middle">Zeppelin</span>
+ <span style="vertical-align:baseline"><small>0.6.0</small></span>
+ </a>
+ </div>
+ <nav class="navbar-collapse collapse" role="navigation">
+ <ul class="nav navbar-nav">
+ <li>
+ <a href="#" data-toggle="dropdown" class="dropdown-toggle">Quick
Start <b class="caret"></b></a>
+ <ul class="dropdown-menu">
+ <li><a href="/docs/0.6.0/index.html">What is Apache Zeppelin
?</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>Getting Started</b><span></li>
+ <li><a href="/docs/0.6.0/install/install.html">Install</a></li>
+ <li><a
href="/docs/0.6.0/install/install.html#apache-zeppelin-configuration">Configuration</a></li>
+ <li><a
href="/docs/0.6.0/quickstart/explorezeppelinui.html">Explore Zeppelin
UI</a></li>
+ <li><a
href="/docs/0.6.0/quickstart/tutorial.html">Tutorial</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>Basic Feature Guide</b><span></li>
+ <li><a href="/docs/0.6.0/manual/dynamicform.html">Dynamic
Form</a></li>
+ <li><a href="/docs/0.6.0/manual/publish.html">Publish your
Paragraph</a></li>
+ <li><a
href="/docs/0.6.0/manual/notebookashomepage.html">Customize Zeppelin
Homepage</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>More</b><span></li>
+ <li><a
href="/docs/0.6.0/install/virtual_machine.html">Zeppelin on Vagrant VM</a></li>
+ <li><a href="/docs/0.6.0/install/upgrade.html">Upgrade
Zeppelin Version</a></li>
+ </ul>
+ </li>
+ <li>
+ <a href="#" data-toggle="dropdown"
class="dropdown-toggle">Interpreter <b class="caret"></b></a>
+ <ul class="dropdown-menu scrollable-menu">
+ <li><a
href="/docs/0.6.0/manual/interpreters.html">Overview</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>Usage</b><span></li>
+ <li><a
href="/docs/0.6.0/manual/interpreterinstallation.html">Interpreter
Installation</a></li>
+ <!--<li><a
href="/docs/0.6.0/manual/dynamicinterpreterload.html">Dynamic Interpreter
Loading</a></li>-->
+ <li><a
href="/docs/0.6.0/manual/dependencymanagement.html">Interpreter Dependency
Management</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>Available
Interpreters</b><span></li>
+ <li><a
href="/docs/0.6.0/interpreter/alluxio.html">Alluxio</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/cassandra.html">Cassandra</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/elasticsearch.html">Elasticsearch</a></li>
+ <li><a href="/docs/0.6.0/interpreter/flink.html">Flink</a></li>
+ <li><a href="/docs/0.6.0/interpreter/geode.html">Geode</a></li>
+ <li><a href="/docs/0.6.0/interpreter/hbase.html">HBase</a></li>
+ <li><a href="/docs/0.6.0/interpreter/hdfs.html">HDFS</a></li>
+ <li><a href="/docs/0.6.0/interpreter/hive.html">Hive</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/ignite.html">Ignite</a></li>
+ <li><a href="/docs/0.6.0/interpreter/jdbc.html">JDBC</a></li>
+ <li><a href="/docs/0.6.0/interpreter/lens.html">Lens</a></li>
+ <li><a href="/docs/0.6.0/interpreter/livy.html">Livy</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/markdown.html">Markdown</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/python.html">Python</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/postgresql.html">Postgresql, HAWQ</a></li>
+ <li><a href="/docs/0.6.0/interpreter/r.html">R</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/scalding.html">Scalding</a></li>
+ <li><a href="/docs/0.6.0/pleasecontribute.html">Shell</a></li>
+ <li><a href="/docs/0.6.0/interpreter/spark.html">Spark</a></li>
+ </ul>
+ </li>
+ <li>
+ <a href="#" data-toggle="dropdown"
class="dropdown-toggle">Display System <b class="caret"></b></a>
+ <ul class="dropdown-menu">
+ <li class="title"><span><b>Basic Display System</b><span></li>
+ <li><a
href="/docs/0.6.0/displaysystem/basicdisplaysystem.html#text">Text</a></li>
+ <li><a
href="/docs/0.6.0/displaysystem/basicdisplaysystem.html#html">Html</a></li>
+ <li><a
href="/docs/0.6.0/displaysystem/basicdisplaysystem.html#table">Table</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>Angular API</b><span></li>
+ <li><a
href="/docs/0.6.0/displaysystem/back-end-angular.html">Angular (backend
API)</a></li>
+ <li><a
href="/docs/0.6.0/displaysystem/front-end-angular.html">Angular (frontend
API)</a></li>
+ </ul>
+ </li>
+ <li>
+ <a href="#" data-toggle="dropdown"
class="dropdown-toggle">More<b class="caret"></b></a>
+ <ul class="dropdown-menu scrollable-menu" style="right: 0; left:
auto;">
+ <li class="title"><span><b>Notebook Storage</b><span></li>
+ <li><a
href="/docs/0.6.0/storage/storage.html#notebook-storage-in-local-git-repository">Git
Storage</a></li>
+ <li><a
href="/docs/0.6.0/storage/storage.html#notebook-storage-in-s3">S3
Storage</a></li>
+ <li><a
href="/docs/0.6.0/storage/storage.html#notebook-storage-in-azure">Azure
Storage</a></li>
+ <li><a
href="/docs/0.6.0/storage/storage.html#storage-in-zeppelinhub">ZeppelinHub
Storage</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>REST API</b><span></li>
+ <li><a
href="/docs/0.6.0/rest-api/rest-interpreter.html">Interpreter API</a></li>
+ <li><a href="/docs/0.6.0/rest-api/rest-notebook.html">Notebook
API</a></li>
+ <li><a
href="/docs/0.6.0/rest-api/rest-configuration.html">Configuration API</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>Security</b><span></li>
+ <li><a
href="/docs/0.6.0/security/authentication.html">Authentication for
NGINX</a></li>
+ <li><a
href="/docs/0.6.0/security/shiroauthentication.html">Shiro
Authentication</a></li>
+ <li><a
href="/docs/0.6.0/security/notebook_authorization.html">Notebook
Authorization</a></li>
+ <li><a
href="/docs/0.6.0/security/interpreter_authorization.html">Interpreter & Data
Resource Authorization</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>Contibute</b><span></li>
+ <li><a
href="/docs/0.6.0/development/writingzeppelininterpreter.html">Writing Zeppelin
Interpreter</a></li>
+ <li><a href="/docs/0.6.0/development/howtocontribute.html">How
to contribute (code)</a></li>
+ <li><a
href="/docs/0.6.0/development/howtocontributewebsite.html">How to contribute
(website)</a></li>
+ </ul>
+ </li>
+ </ul>
+ </nav><!--/.navbar-collapse -->
+ </div>
+ </div>
+
+
+ <div class="content">
+
+<!--<div class="hero-unit Python Interpreter">
+ <h1></h1>
+</div>
+-->
+
+<div class="row">
+ <div class="col-md-12">
+ <h1>Python 2 & 3 Interpreter for Apache Zeppelin</h1>
+
+<div id="toc"></div>
+
+<h2>Configuration</h2>
+
+<table class="table-configuration">
+ <tr>
+ <th>Property</th>
+ <th>Default</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td>python</td>
+ <td>python</td>
+ <td>Path of the already installed Python binary (could be python2 or
python3).
+ If python is not in your $PATH you can set the absolute directory (example
: /usr/bin/python)
+ </td>
+ </tr>
+</table>
+
+<h2>Enabling Python Interpreter</h2>
+
+<p>In a notebook, to enable the <strong>Python</strong> interpreter, click on
the <strong>Gear</strong> icon and select <strong>Python</strong></p>
+
+<h2>Using the Python Interpreter</h2>
+
+<p>In a paragraph, use <strong><em>%python</em></strong> to select the
<strong>Python</strong> interpreter and then input all commands.</p>
+
+<p>The interpreter can only work if you already have python installed (the
interpreter doesn't bring it own python binaries).</p>
+
+<p>To access the help, type <strong>help()</strong></p>
+
+<h2>Python modules</h2>
+
+<p>The interpreter can use all modules already installed (with pip,
easy_install...)</p>
+
+<h2>Use Zeppelin Dynamic Forms</h2>
+
+<p>You can leverage <a href="/docs/0.6.0/manual/dynamicform.html">Zeppelin
Dynamic Form</a> inside your Python code.</p>
+
+<p><strong>Zeppelin Dynamic Form can only be used if py4j Python library is
installed in your system. If not, you can install it with <code>pip install
py4j</code>.</strong></p>
+
+<p>Example : </p>
+<div class="highlight"><pre><code class="python language-python"
data-lang="python"><span class="o">%</span><span class="n">python</span>
+<span class="c">### Input form</span>
+<span class="k">print</span> <span class="p">(</span><span
class="n">z</span><span class="o">.</span><span class="n">input</span><span
class="p">(</span><span class="s">"f1"</span><span
class="p">,</span><span class="s">"defaultValue"</span><span
class="p">))</span>
+
+<span class="c">### Select form</span>
+<span class="k">print</span> <span class="p">(</span><span
class="n">z</span><span class="o">.</span><span class="n">select</span><span
class="p">(</span><span class="s">"f1"</span><span
class="p">,[(</span><span class="s">"o1"</span><span
class="p">,</span><span class="s">"1"</span><span
class="p">),(</span><span class="s">"o2"</span><span
class="p">,</span><span class="s">"2"</span><span
class="p">)],</span><span class="s">"2"</span><span
class="p">))</span>
+
+<span class="c">### Checkbox form</span>
+<span class="k">print</span><span class="p">(</span><span
class="s">""</span><span class="o">.</span><span
class="n">join</span><span class="p">(</span><span class="n">z</span><span
class="o">.</span><span class="n">checkbox</span><span class="p">(</span><span
class="s">"f3"</span><span class="p">,</span> <span
class="p">[(</span><span class="s">"o1"</span><span
class="p">,</span><span class="s">"1"</span><span class="p">),</span>
<span class="p">(</span><span class="s">"o2"</span><span
class="p">,</span><span class="s">"2"</span><span
class="p">)],[</span><span class="s">"1"</span><span
class="p">])))</span>
+</code></pre></div>
+<h2>Zeppelin features not fully supported by the Python Interpreter</h2>
+
+<ul>
+<li>Interrupt a paragraph execution (<code>cancel()</code> method) is
currently only supported in Linux and MacOs. If interpreter runs in another
operating system (for instance MS Windows) , interrupt a paragraph will close
the whole interpreter. A JIRA ticket (<a
href="https://issues.apache.org/jira/browse/ZEPPELIN-893">ZEPPELIN-893</a>) is
opened to implement this feature in a next release of the interpreter.</li>
+<li>Progression bar in webUI (<code>getProgress()</code> method) is currently
not implemented.</li>
+<li>Code-completion is currently not implemented.</li>
+</ul>
+
+<h2>Matplotlib integration</h2>
+
+<p>The python interpreter can display matplotlib graph with the function
<code>z.show()</code>.
+ You need to have matplotlib module installed and a XServer running to use
this functionality !</p>
+<div class="highlight"><pre><code class="python language-python"
data-lang="python"><span class="o">%</span><span class="n">python</span>
+<span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span
class="kn">as</span> <span class="nn">plt</span>
+<span class="n">plt</span><span class="o">.</span><span
class="n">figure</span><span class="p">()</span>
+<span class="p">(</span><span class="o">..</span> <span
class="o">..</span><span class="p">)</span>
+<span class="n">z</span><span class="o">.</span><span
class="n">show</span><span class="p">(</span><span class="n">plt</span><span
class="p">)</span>
+<span class="n">plt</span><span class="o">.</span><span
class="n">close</span><span class="p">()</span>
+</code></pre></div>
+<p>z.show function can take optional parameters to adapt graph width and
height</p>
+<div class="highlight"><pre><code class="python language-python"
data-lang="python"><span class="o">%</span><span class="n">python</span>
+<span class="n">z</span><span class="o">.</span><span
class="n">show</span><span class="p">(</span><span class="n">plt</span><span
class="p">,</span> <span class="n">width</span><span class="o">=</span><span
class="s">'50px'</span><span class="p">)</span>
+<span class="n">z</span><span class="o">.</span><span
class="n">show</span><span class="p">(</span><span class="n">plt</span><span
class="p">,</span> <span class="n">height</span><span class="o">=</span><span
class="s">'150px'</span><span class="p">)</span>
+</code></pre></div>
+<p><img class="img-responsive"
src="../assets/themes/zeppelin/img/docs-img/pythonMatplotlib.png" /></p>
+
+<h2>Pandas integration</h2>
+
+<p><a href="/docs/0.6.0/displaysystem/basicdisplaysystem.html#table">Zeppelin
Display System</a> provides simple API to visualize data in Pandas DataFrames,
same as in Matplotlib.</p>
+
+<p>Example:</p>
+<div class="highlight"><pre><code class="python language-python"
data-lang="python"><span class="kn">import</span> <span
class="nn">pandas</span> <span class="kn">as</span> <span class="nn">pd</span>
+<span class="n">rates</span> <span class="o">=</span> <span
class="n">pd</span><span class="o">.</span><span class="n">read_csv</span><span
class="p">(</span><span class="s">"bank.csv"</span><span
class="p">,</span> <span class="n">sep</span><span class="o">=</span><span
class="s">";"</span><span class="p">)</span>
+<span class="n">z</span><span class="o">.</span><span
class="n">show</span><span class="p">(</span><span class="n">rates</span><span
class="p">)</span>
+</code></pre></div>
+<h2>Technical description</h2>
+
+<p>For in-depth technical details on current implementation plese reffer <a
href="https://github.com/apache/zeppelin/blob/master/python/README.md">python/README.md</a>.</p>
+
+ </div>
+</div>
+
+
+ <hr>
+ <footer>
+ <!-- <p>© 2016 The Apache Software Foundation</p>-->
+ </footer>
+ </div>
+
+
+
+
+ <script type="text/javascript">
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new
Date();a=s.createElement(o),
+
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-45176241-5', 'zeppelin.apache.org');
+ ga('require', 'linkid', 'linkid.js');
+ ga('send', 'pageview');
+
+</script>
+
+
+
+ </body>
+</html>
+
Propchange: zeppelin/site/docs/0.6.0/interpreter/python.html
------------------------------------------------------------------------------
svn:eol-style = native
Added: zeppelin/site/docs/0.6.0/interpreter/r.html
URL:
http://svn.apache.org/viewvc/zeppelin/site/docs/0.6.0/interpreter/r.html?rev=1751605&view=auto
==============================================================================
--- zeppelin/site/docs/0.6.0/interpreter/r.html (added)
+++ zeppelin/site/docs/0.6.0/interpreter/r.html Wed Jul 6 06:25:29 2016
@@ -0,0 +1,304 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>R Interpreter</title>
+ <meta name="description" content="">
+ <meta name="author" content="The Apache Software Foundation">
+
+ <!-- Enable responsive viewport -->
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+ <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+ <!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+
+ <link
href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css"
rel="stylesheet">
+
+ <!-- Le styles -->
+ <link
href="/docs/0.6.0/assets/themes/zeppelin/bootstrap/css/bootstrap.css"
rel="stylesheet">
+ <link href="/docs/0.6.0/assets/themes/zeppelin/css/style.css?body=1"
rel="stylesheet" type="text/css">
+ <link href="/docs/0.6.0/assets/themes/zeppelin/css/syntax.css"
rel="stylesheet" type="text/css" media="screen" />
+ <!-- Le fav and touch icons -->
+ <!-- Update these with your own images
+ <link rel="shortcut icon" href="images/favicon.ico">
+ <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
+ <link rel="apple-touch-icon" sizes="72x72"
href="images/apple-touch-icon-72x72.png">
+ <link rel="apple-touch-icon" sizes="114x114"
href="images/apple-touch-icon-114x114.png">
+ -->
+
+ <!-- Js -->
+ <script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
+ <script
src="/docs/0.6.0/assets/themes/zeppelin/bootstrap/js/bootstrap.min.js"></script>
+ <script src="/docs/0.6.0/assets/themes/zeppelin/js/docs.js"></script>
+ <script src="/docs/0.6.0/assets/themes/zeppelin/js/anchor.min.js"></script>
+ <script src="/docs/0.6.0/assets/themes/zeppelin/js/toc.js"></script>
+
+ <!-- atom & rss feed -->
+ <link href="/docs/0.6.0/atom.xml" type="application/atom+xml"
rel="alternate" title="Sitewide ATOM Feed">
+ <link href="/docs/0.6.0/rss.xml" type="application/rss+xml"
rel="alternate" title="Sitewide RSS Feed">
+ </head>
+
+ <body>
+
+ <div id="menu" class="navbar navbar-inverse navbar-fixed-top"
role="navigation">
+ <div class="container">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle" data-toggle="collapse"
data-target=".navbar-collapse">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="/docs/0.6.0">
+ <img src="/assets/themes/zeppelin/img/zeppelin_logo.png"
width="50" alt="I'm zeppelin">
+ <span style="vertical-align:middle">Zeppelin</span>
+ <span style="vertical-align:baseline"><small>0.6.0</small></span>
+ </a>
+ </div>
+ <nav class="navbar-collapse collapse" role="navigation">
+ <ul class="nav navbar-nav">
+ <li>
+ <a href="#" data-toggle="dropdown" class="dropdown-toggle">Quick
Start <b class="caret"></b></a>
+ <ul class="dropdown-menu">
+ <li><a href="/docs/0.6.0/index.html">What is Apache Zeppelin
?</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>Getting Started</b><span></li>
+ <li><a href="/docs/0.6.0/install/install.html">Install</a></li>
+ <li><a
href="/docs/0.6.0/install/install.html#apache-zeppelin-configuration">Configuration</a></li>
+ <li><a
href="/docs/0.6.0/quickstart/explorezeppelinui.html">Explore Zeppelin
UI</a></li>
+ <li><a
href="/docs/0.6.0/quickstart/tutorial.html">Tutorial</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>Basic Feature Guide</b><span></li>
+ <li><a href="/docs/0.6.0/manual/dynamicform.html">Dynamic
Form</a></li>
+ <li><a href="/docs/0.6.0/manual/publish.html">Publish your
Paragraph</a></li>
+ <li><a
href="/docs/0.6.0/manual/notebookashomepage.html">Customize Zeppelin
Homepage</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>More</b><span></li>
+ <li><a
href="/docs/0.6.0/install/virtual_machine.html">Zeppelin on Vagrant VM</a></li>
+ <li><a href="/docs/0.6.0/install/upgrade.html">Upgrade
Zeppelin Version</a></li>
+ </ul>
+ </li>
+ <li>
+ <a href="#" data-toggle="dropdown"
class="dropdown-toggle">Interpreter <b class="caret"></b></a>
+ <ul class="dropdown-menu scrollable-menu">
+ <li><a
href="/docs/0.6.0/manual/interpreters.html">Overview</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>Usage</b><span></li>
+ <li><a
href="/docs/0.6.0/manual/interpreterinstallation.html">Interpreter
Installation</a></li>
+ <!--<li><a
href="/docs/0.6.0/manual/dynamicinterpreterload.html">Dynamic Interpreter
Loading</a></li>-->
+ <li><a
href="/docs/0.6.0/manual/dependencymanagement.html">Interpreter Dependency
Management</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>Available
Interpreters</b><span></li>
+ <li><a
href="/docs/0.6.0/interpreter/alluxio.html">Alluxio</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/cassandra.html">Cassandra</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/elasticsearch.html">Elasticsearch</a></li>
+ <li><a href="/docs/0.6.0/interpreter/flink.html">Flink</a></li>
+ <li><a href="/docs/0.6.0/interpreter/geode.html">Geode</a></li>
+ <li><a href="/docs/0.6.0/interpreter/hbase.html">HBase</a></li>
+ <li><a href="/docs/0.6.0/interpreter/hdfs.html">HDFS</a></li>
+ <li><a href="/docs/0.6.0/interpreter/hive.html">Hive</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/ignite.html">Ignite</a></li>
+ <li><a href="/docs/0.6.0/interpreter/jdbc.html">JDBC</a></li>
+ <li><a href="/docs/0.6.0/interpreter/lens.html">Lens</a></li>
+ <li><a href="/docs/0.6.0/interpreter/livy.html">Livy</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/markdown.html">Markdown</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/python.html">Python</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/postgresql.html">Postgresql, HAWQ</a></li>
+ <li><a href="/docs/0.6.0/interpreter/r.html">R</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/scalding.html">Scalding</a></li>
+ <li><a href="/docs/0.6.0/pleasecontribute.html">Shell</a></li>
+ <li><a href="/docs/0.6.0/interpreter/spark.html">Spark</a></li>
+ </ul>
+ </li>
+ <li>
+ <a href="#" data-toggle="dropdown"
class="dropdown-toggle">Display System <b class="caret"></b></a>
+ <ul class="dropdown-menu">
+ <li class="title"><span><b>Basic Display System</b><span></li>
+ <li><a
href="/docs/0.6.0/displaysystem/basicdisplaysystem.html#text">Text</a></li>
+ <li><a
href="/docs/0.6.0/displaysystem/basicdisplaysystem.html#html">Html</a></li>
+ <li><a
href="/docs/0.6.0/displaysystem/basicdisplaysystem.html#table">Table</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>Angular API</b><span></li>
+ <li><a
href="/docs/0.6.0/displaysystem/back-end-angular.html">Angular (backend
API)</a></li>
+ <li><a
href="/docs/0.6.0/displaysystem/front-end-angular.html">Angular (frontend
API)</a></li>
+ </ul>
+ </li>
+ <li>
+ <a href="#" data-toggle="dropdown"
class="dropdown-toggle">More<b class="caret"></b></a>
+ <ul class="dropdown-menu scrollable-menu" style="right: 0; left:
auto;">
+ <li class="title"><span><b>Notebook Storage</b><span></li>
+ <li><a
href="/docs/0.6.0/storage/storage.html#notebook-storage-in-local-git-repository">Git
Storage</a></li>
+ <li><a
href="/docs/0.6.0/storage/storage.html#notebook-storage-in-s3">S3
Storage</a></li>
+ <li><a
href="/docs/0.6.0/storage/storage.html#notebook-storage-in-azure">Azure
Storage</a></li>
+ <li><a
href="/docs/0.6.0/storage/storage.html#storage-in-zeppelinhub">ZeppelinHub
Storage</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>REST API</b><span></li>
+ <li><a
href="/docs/0.6.0/rest-api/rest-interpreter.html">Interpreter API</a></li>
+ <li><a href="/docs/0.6.0/rest-api/rest-notebook.html">Notebook
API</a></li>
+ <li><a
href="/docs/0.6.0/rest-api/rest-configuration.html">Configuration API</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>Security</b><span></li>
+ <li><a
href="/docs/0.6.0/security/authentication.html">Authentication for
NGINX</a></li>
+ <li><a
href="/docs/0.6.0/security/shiroauthentication.html">Shiro
Authentication</a></li>
+ <li><a
href="/docs/0.6.0/security/notebook_authorization.html">Notebook
Authorization</a></li>
+ <li><a
href="/docs/0.6.0/security/interpreter_authorization.html">Interpreter & Data
Resource Authorization</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>Contibute</b><span></li>
+ <li><a
href="/docs/0.6.0/development/writingzeppelininterpreter.html">Writing Zeppelin
Interpreter</a></li>
+ <li><a href="/docs/0.6.0/development/howtocontribute.html">How
to contribute (code)</a></li>
+ <li><a
href="/docs/0.6.0/development/howtocontributewebsite.html">How to contribute
(website)</a></li>
+ </ul>
+ </li>
+ </ul>
+ </nav><!--/.navbar-collapse -->
+ </div>
+ </div>
+
+
+ <div class="content">
+
+<!--<div class="hero-unit R Interpreter">
+ <h1></h1>
+</div>
+-->
+
+<div class="row">
+ <div class="col-md-12">
+ <h1>R Interpreter for Apache Zeppelin</h1>
+
+<div id="toc"></div>
+
+<h2>Overview</h2>
+
+<p><a href="https://www.r-project.org">R</a> is a free software environment
for statistical computing and graphics.</p>
+
+<p>To run R code and visualize plots in Apache Zeppelin, you will need R on
your master node (or your dev laptop).</p>
+
+<ul>
+<li>For Centos: <code>yum install R R-devel libcurl-devel
openssl-devel</code></li>
+<li>For Ubuntu: <code>apt-get install r-base</code></li>
+</ul>
+
+<p>Validate your installation with a simple R command:</p>
+<div class="highlight"><pre><code class="text language-text"
data-lang="text">R -e "print(1+1)"
+</code></pre></div>
+<p>To enjoy plots, install additional libraries with:</p>
+<div class="highlight"><pre><code class="text language-text"
data-lang="text">+ 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')"`
+</code></pre></div>
+<p>We recommend you to also install the following optional R libraries for
happy data analytics:</p>
+
+<ul>
+<li>glmnet</li>
+<li>pROC</li>
+<li>data.table</li>
+<li>caret</li>
+<li>sqldf</li>
+<li>wordcloud</li>
+</ul>
+
+<h2>Configuration</h2>
+
+<p>To run Zeppelin with the R Interpreter, the <code>SPARK_HOME</code>
environment variable must be set. The best way to do this is by editing
<code>conf/zeppelin-env.sh</code>.
+If it is not set, the R Interpreter will not be able to interface with
Spark.</p>
+
+<p>You should also copy <code>conf/zeppelin-site.xml.template</code> to
<code>conf/zeppelin-site.xml</code>. That will ensure that Zeppelin sees the R
Interpreter the first time it starts up.</p>
+
+<h2>Using the R Interpreter</h2>
+
+<p>By default, the R Interpreter appears as two Zeppelin Interpreters,
<code>%r</code> and <code>%knitr</code>.</p>
+
+<p><code>%r</code> will behave like an ordinary REPL. You can execute
commands as in the CLI. </p>
+
+<p><img class="img-responsive"
src="../assets/themes/zeppelin/img/docs-img/repl2plus2.png" width="700px"/></p>
+
+<p>R base plotting is fully supported</p>
+
+<p><img class="img-responsive"
src="../assets/themes/zeppelin/img/docs-img/replhist.png" width="550px"/></p>
+
+<p>If you return a data.frame, Zeppelin will attempt to display it using
Zeppelin's built-in visualizations.</p>
+
+<p><img class="img-responsive"
src="../assets/themes/zeppelin/img/docs-img/replhead.png" width="550px"/></p>
+
+<p><code>%knitr</code> interfaces directly against <code>knitr</code>, with
chunk options on the first line:</p>
+
+<p><img class="img-responsive"
src="../assets/themes/zeppelin/img/docs-img/knitgeo.png" width="550px"/></p>
+
+<p><img class="img-responsive"
src="../assets/themes/zeppelin/img/docs-img/knitstock.png" width="550px"/></p>
+
+<p><img class="img-responsive"
src="../assets/themes/zeppelin/img/docs-img/knitmotion.png" width="550px"/></p>
+
+<p>The two interpreters share the same environment. If you define a variable
from <code>%r</code>, it will be within-scope if you then make a call using
<code>knitr</code>.</p>
+
+<h2>Using SparkR & Moving Between Languages</h2>
+
+<p>If <code>SPARK_HOME</code> is set, the <code>SparkR</code> package will be
loaded automatically:</p>
+
+<p><img class="img-responsive"
src="../assets/themes/zeppelin/img/docs-img/sparkrfaithful.png"
width="550px"/></p>
+
+<p>The Spark Context and SQL Context are created and injected into the local
environment automatically as <code>sc</code> and <code>sql</code>.</p>
+
+<p>The same context are shared with the <code>%spark</code>, <code>%sql</code>
and <code>%pyspark</code> interpreters:</p>
+
+<p><img class="img-responsive"
src="../assets/themes/zeppelin/img/docs-img/backtoscala.png" width="700px"/></p>
+
+<p>You can also make an ordinary R variable accessible in scala and Python:</p>
+
+<p><img class="img-responsive"
src="../assets/themes/zeppelin/img/docs-img/varr1.png" width="550px"/></p>
+
+<p>And vice versa:</p>
+
+<p><img class="img-responsive"
src="../assets/themes/zeppelin/img/docs-img/varscala.png" width="550px"/></p>
+
+<p><img class="img-responsive"
src="../assets/themes/zeppelin/img/docs-img/varr2.png" width="550px"/></p>
+
+<h2>Caveats & Troubleshooting</h2>
+
+<ul>
+<li><p>Almost all issues with the R interpreter turned out to be caused by an
incorrectly set <code>SPARK_HOME</code>. The R interpreter must load a version
of the <code>SparkR</code> package that matches the running version of Spark,
and it does this by searching <code>SPARK_HOME</code>. If Zeppelin isn't
configured to interface with Spark in <code>SPARK_HOME</code>, the R
interpreter will not be able to connect to Spark.</p></li>
+<li><p>The <code>knitr</code> environment is persistent. If you run a chunk
from Zeppelin that changes a variable, then run the same chunk again, the
variable has already been changed. Use immutable variables.</p></li>
+<li><p>(Note that <code>%spark.r</code> and <code>$r</code> are two different
ways of calling the same interpreter, as are <code>%spark.knitr</code> and
<code>%knitr</code>. By default, Zeppelin puts the R interpreters in the
<code>%spark.</code> Interpreter Group.</p></li>
+<li><p>Using the <code>%r</code> interpreter, if you return a data.frame,
HTML, or an image, it will dominate the result. So if you execute three
commands, and one is <code>hist()</code>, all you will see is the histogram,
not the results of the other commands. This is a Zeppelin limitation.</p></li>
+<li><p>If you return a data.frame (for instance, from calling
<code>head()</code>) from the <code>%spark.r</code> interpreter, it will be
parsed by Zeppelin's built-in data visualization system. </p></li>
+<li><p>Why <code>knitr</code> Instead of <code>rmarkdown</code>? Why no
<code>htmlwidgets</code>? In order to support <code>htmlwidgets</code>, which
has indirect dependencies, <code>rmarkdown</code> uses <code>pandoc</code>,
which requires writing to and reading from disc. This makes it many times
slower than <code>knitr</code>, which can operate entirely in RAM.</p></li>
+<li><p>Why no <code>ggvis</code> or <code>shiny</code>? Supporting
<code>shiny</code> would require integrating a reverse-proxy into Zeppelin,
which is a task.</p></li>
+<li><p>Max OS X & case-insensitive filesystem. If you try to install on a
case-insensitive filesystem, which is the Mac OS X default, maven can
unintentionally delete the install directory because <code>r</code> and
<code>R</code> become the same subdirectory.</p></li>
+<li><p>Error <code>unable to start device X11</code> with the repl
interpreter. Check your shell login scripts to see if they are adjusting the
<code>DISPLAY</code> environment variable. This is common on some operating
systems as a workaround for ssh issues, but can interfere with R
plotting.</p></li>
+<li><p>akka Library Version or <code>TTransport</code> 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 <code>-Pspark-1.x</code> when Zeppelin was
compiled.</p></li>
+</ul>
+
+ </div>
+</div>
+
+
+ <hr>
+ <footer>
+ <!-- <p>© 2016 The Apache Software Foundation</p>-->
+ </footer>
+ </div>
+
+
+
+
+ <script type="text/javascript">
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new
Date();a=s.createElement(o),
+
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-45176241-5', 'zeppelin.apache.org');
+ ga('require', 'linkid', 'linkid.js');
+ ga('send', 'pageview');
+
+</script>
+
+
+
+ </body>
+</html>
+
Propchange: zeppelin/site/docs/0.6.0/interpreter/r.html
------------------------------------------------------------------------------
svn:eol-style = native
Added: zeppelin/site/docs/0.6.0/interpreter/scalding.html
URL:
http://svn.apache.org/viewvc/zeppelin/site/docs/0.6.0/interpreter/scalding.html?rev=1751605&view=auto
==============================================================================
--- zeppelin/site/docs/0.6.0/interpreter/scalding.html (added)
+++ zeppelin/site/docs/0.6.0/interpreter/scalding.html Wed Jul 6 06:25:29 2016
@@ -0,0 +1,331 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Scalding Interpreter</title>
+ <meta name="description" content="">
+ <meta name="author" content="The Apache Software Foundation">
+
+ <!-- Enable responsive viewport -->
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+ <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+ <!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+
+ <link
href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css"
rel="stylesheet">
+
+ <!-- Le styles -->
+ <link
href="/docs/0.6.0/assets/themes/zeppelin/bootstrap/css/bootstrap.css"
rel="stylesheet">
+ <link href="/docs/0.6.0/assets/themes/zeppelin/css/style.css?body=1"
rel="stylesheet" type="text/css">
+ <link href="/docs/0.6.0/assets/themes/zeppelin/css/syntax.css"
rel="stylesheet" type="text/css" media="screen" />
+ <!-- Le fav and touch icons -->
+ <!-- Update these with your own images
+ <link rel="shortcut icon" href="images/favicon.ico">
+ <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
+ <link rel="apple-touch-icon" sizes="72x72"
href="images/apple-touch-icon-72x72.png">
+ <link rel="apple-touch-icon" sizes="114x114"
href="images/apple-touch-icon-114x114.png">
+ -->
+
+ <!-- Js -->
+ <script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
+ <script
src="/docs/0.6.0/assets/themes/zeppelin/bootstrap/js/bootstrap.min.js"></script>
+ <script src="/docs/0.6.0/assets/themes/zeppelin/js/docs.js"></script>
+ <script src="/docs/0.6.0/assets/themes/zeppelin/js/anchor.min.js"></script>
+ <script src="/docs/0.6.0/assets/themes/zeppelin/js/toc.js"></script>
+
+ <!-- atom & rss feed -->
+ <link href="/docs/0.6.0/atom.xml" type="application/atom+xml"
rel="alternate" title="Sitewide ATOM Feed">
+ <link href="/docs/0.6.0/rss.xml" type="application/rss+xml"
rel="alternate" title="Sitewide RSS Feed">
+ </head>
+
+ <body>
+
+ <div id="menu" class="navbar navbar-inverse navbar-fixed-top"
role="navigation">
+ <div class="container">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle" data-toggle="collapse"
data-target=".navbar-collapse">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="/docs/0.6.0">
+ <img src="/assets/themes/zeppelin/img/zeppelin_logo.png"
width="50" alt="I'm zeppelin">
+ <span style="vertical-align:middle">Zeppelin</span>
+ <span style="vertical-align:baseline"><small>0.6.0</small></span>
+ </a>
+ </div>
+ <nav class="navbar-collapse collapse" role="navigation">
+ <ul class="nav navbar-nav">
+ <li>
+ <a href="#" data-toggle="dropdown" class="dropdown-toggle">Quick
Start <b class="caret"></b></a>
+ <ul class="dropdown-menu">
+ <li><a href="/docs/0.6.0/index.html">What is Apache Zeppelin
?</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>Getting Started</b><span></li>
+ <li><a href="/docs/0.6.0/install/install.html">Install</a></li>
+ <li><a
href="/docs/0.6.0/install/install.html#apache-zeppelin-configuration">Configuration</a></li>
+ <li><a
href="/docs/0.6.0/quickstart/explorezeppelinui.html">Explore Zeppelin
UI</a></li>
+ <li><a
href="/docs/0.6.0/quickstart/tutorial.html">Tutorial</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>Basic Feature Guide</b><span></li>
+ <li><a href="/docs/0.6.0/manual/dynamicform.html">Dynamic
Form</a></li>
+ <li><a href="/docs/0.6.0/manual/publish.html">Publish your
Paragraph</a></li>
+ <li><a
href="/docs/0.6.0/manual/notebookashomepage.html">Customize Zeppelin
Homepage</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>More</b><span></li>
+ <li><a
href="/docs/0.6.0/install/virtual_machine.html">Zeppelin on Vagrant VM</a></li>
+ <li><a href="/docs/0.6.0/install/upgrade.html">Upgrade
Zeppelin Version</a></li>
+ </ul>
+ </li>
+ <li>
+ <a href="#" data-toggle="dropdown"
class="dropdown-toggle">Interpreter <b class="caret"></b></a>
+ <ul class="dropdown-menu scrollable-menu">
+ <li><a
href="/docs/0.6.0/manual/interpreters.html">Overview</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>Usage</b><span></li>
+ <li><a
href="/docs/0.6.0/manual/interpreterinstallation.html">Interpreter
Installation</a></li>
+ <!--<li><a
href="/docs/0.6.0/manual/dynamicinterpreterload.html">Dynamic Interpreter
Loading</a></li>-->
+ <li><a
href="/docs/0.6.0/manual/dependencymanagement.html">Interpreter Dependency
Management</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>Available
Interpreters</b><span></li>
+ <li><a
href="/docs/0.6.0/interpreter/alluxio.html">Alluxio</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/cassandra.html">Cassandra</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/elasticsearch.html">Elasticsearch</a></li>
+ <li><a href="/docs/0.6.0/interpreter/flink.html">Flink</a></li>
+ <li><a href="/docs/0.6.0/interpreter/geode.html">Geode</a></li>
+ <li><a href="/docs/0.6.0/interpreter/hbase.html">HBase</a></li>
+ <li><a href="/docs/0.6.0/interpreter/hdfs.html">HDFS</a></li>
+ <li><a href="/docs/0.6.0/interpreter/hive.html">Hive</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/ignite.html">Ignite</a></li>
+ <li><a href="/docs/0.6.0/interpreter/jdbc.html">JDBC</a></li>
+ <li><a href="/docs/0.6.0/interpreter/lens.html">Lens</a></li>
+ <li><a href="/docs/0.6.0/interpreter/livy.html">Livy</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/markdown.html">Markdown</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/python.html">Python</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/postgresql.html">Postgresql, HAWQ</a></li>
+ <li><a href="/docs/0.6.0/interpreter/r.html">R</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/scalding.html">Scalding</a></li>
+ <li><a href="/docs/0.6.0/pleasecontribute.html">Shell</a></li>
+ <li><a href="/docs/0.6.0/interpreter/spark.html">Spark</a></li>
+ </ul>
+ </li>
+ <li>
+ <a href="#" data-toggle="dropdown"
class="dropdown-toggle">Display System <b class="caret"></b></a>
+ <ul class="dropdown-menu">
+ <li class="title"><span><b>Basic Display System</b><span></li>
+ <li><a
href="/docs/0.6.0/displaysystem/basicdisplaysystem.html#text">Text</a></li>
+ <li><a
href="/docs/0.6.0/displaysystem/basicdisplaysystem.html#html">Html</a></li>
+ <li><a
href="/docs/0.6.0/displaysystem/basicdisplaysystem.html#table">Table</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>Angular API</b><span></li>
+ <li><a
href="/docs/0.6.0/displaysystem/back-end-angular.html">Angular (backend
API)</a></li>
+ <li><a
href="/docs/0.6.0/displaysystem/front-end-angular.html">Angular (frontend
API)</a></li>
+ </ul>
+ </li>
+ <li>
+ <a href="#" data-toggle="dropdown"
class="dropdown-toggle">More<b class="caret"></b></a>
+ <ul class="dropdown-menu scrollable-menu" style="right: 0; left:
auto;">
+ <li class="title"><span><b>Notebook Storage</b><span></li>
+ <li><a
href="/docs/0.6.0/storage/storage.html#notebook-storage-in-local-git-repository">Git
Storage</a></li>
+ <li><a
href="/docs/0.6.0/storage/storage.html#notebook-storage-in-s3">S3
Storage</a></li>
+ <li><a
href="/docs/0.6.0/storage/storage.html#notebook-storage-in-azure">Azure
Storage</a></li>
+ <li><a
href="/docs/0.6.0/storage/storage.html#storage-in-zeppelinhub">ZeppelinHub
Storage</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>REST API</b><span></li>
+ <li><a
href="/docs/0.6.0/rest-api/rest-interpreter.html">Interpreter API</a></li>
+ <li><a href="/docs/0.6.0/rest-api/rest-notebook.html">Notebook
API</a></li>
+ <li><a
href="/docs/0.6.0/rest-api/rest-configuration.html">Configuration API</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>Security</b><span></li>
+ <li><a
href="/docs/0.6.0/security/authentication.html">Authentication for
NGINX</a></li>
+ <li><a
href="/docs/0.6.0/security/shiroauthentication.html">Shiro
Authentication</a></li>
+ <li><a
href="/docs/0.6.0/security/notebook_authorization.html">Notebook
Authorization</a></li>
+ <li><a
href="/docs/0.6.0/security/interpreter_authorization.html">Interpreter & Data
Resource Authorization</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>Contibute</b><span></li>
+ <li><a
href="/docs/0.6.0/development/writingzeppelininterpreter.html">Writing Zeppelin
Interpreter</a></li>
+ <li><a href="/docs/0.6.0/development/howtocontribute.html">How
to contribute (code)</a></li>
+ <li><a
href="/docs/0.6.0/development/howtocontributewebsite.html">How to contribute
(website)</a></li>
+ </ul>
+ </li>
+ </ul>
+ </nav><!--/.navbar-collapse -->
+ </div>
+ </div>
+
+
+ <div class="content">
+
+<!--<div class="hero-unit Scalding Interpreter">
+ <h1></h1>
+</div>
+-->
+
+<div class="row">
+ <div class="col-md-12">
+ <h1>Scalding Interpreter for Apache Zeppelin</h1>
+
+<div id="toc"></div>
+
+<p><a href="https://github.com/twitter/scalding">Scalding</a> is an open
source Scala library for writing MapReduce jobs.</p>
+
+<h2>Building the Scalding Interpreter</h2>
+
+<p>You have to first build the Scalding interpreter by enable the
<strong>scalding</strong> profile as follows:</p>
+<div class="highlight"><pre><code class="text language-text"
data-lang="text">mvn clean package -Pscalding -DskipTests
+</code></pre></div>
+<h2>Enabling the Scalding Interpreter</h2>
+
+<p>In a notebook, to enable the <strong>Scalding</strong> interpreter, click
on the <strong>Gear</strong> icon,select <strong>Scalding</strong>, and hit
<strong>Save</strong>.</p>
+
+<p><center></p>
+
+<p><img
src="../assets/themes/zeppelin/img/docs-img/scalding-InterpreterBinding.png"
alt="Interpreter Binding"></p>
+
+<p><img
src="../assets/themes/zeppelin/img/docs-img/scalding-InterpreterSelection.png"
alt="Interpreter Selection"></p>
+
+<p></center></p>
+
+<h2>Configuring the Interpreter</h2>
+
+<p>Scalding interpreter runs in two modes:</p>
+
+<ul>
+<li>local</li>
+<li>hdfs</li>
+</ul>
+
+<p>In the local mode, you can access files on the local server and scalding
transformation are done locally.</p>
+
+<p>In hdfs mode you can access files in HDFS and scalding transformation are
run as hadoop map-reduce jobs.</p>
+
+<p>Zeppelin comes with a pre-configured Scalding interpreter in local mode.</p>
+
+<p>To run the scalding interpreter in the hdfs mode you have to do the
following:</p>
+
+<p><strong>Set the classpath with ZEPPELIN_CLASSPATH_OVERRIDES</strong></p>
+
+<p>In conf/zeppelin<em>env.sh, you have to set
+ZEPPELIN</em>CLASSPATH_OVERRIDES to the contents of 'hadoop classpath'
+and directories with custom jar files you need for your scalding commands.</p>
+
+<p><strong>Set arguments to the scalding repl</strong></p>
+
+<p>The default arguments are: "--local --repl"</p>
+
+<p>For hdfs mode you need to add: "--hdfs --repl"</p>
+
+<p>If you want to add custom jars, you need to add:
+"-libjars directory/<em>:directory/</em>"</p>
+
+<p>For reducer estimation, you need to add something like:
+"-Dscalding.reducer.estimator.classes=com.twitter.scalding.reducer_estimation.InputSizeReducerEstimator"</p>
+
+<p><strong>Set max.open.instances</strong></p>
+
+<p>If you want to control the maximum number of open interpreters, you have to
select "scoped" interpreter for note
+option and set max.open.instances argument.</p>
+
+<h2>Testing the Interpreter</h2>
+
+<h3>Local mode</h3>
+
+<p>In example, by using the <a
href="https://gist.github.com/johnynek/a47699caa62f4f38a3e2">Alice in
Wonderland</a> tutorial,
+we will count words (of course!), and plot a graph of the top 10 words in the
book.</p>
+<div class="highlight"><pre><code class="text language-text"
data-lang="text">%scalding
+
+import scala.io.Source
+
+// Get the Alice in Wonderland book from gutenberg.org:
+val alice =
Source.fromURL("http://www.gutenberg.org/files/11/11.txt").getLines
+val aliceLineNum = alice.zipWithIndex.toList
+val alicePipe = TypedPipe.from(aliceLineNum)
+
+// Now get a list of words for the book:
+val aliceWords = alicePipe.flatMap { case (text, _) =>
text.split("\\s+").toList }
+
+// Now lets add a count for each word:
+val aliceWithCount = aliceWords.filterNot(_.equals("")).map { word
=> (word, 1L) }
+
+// let's sum them for each word:
+val wordCount = aliceWithCount.group.sum
+
+print ("Here are the top 10 words\n")
+val top10 = wordCount
+ .groupAll
+ .sortBy { case (word, count) => -count }
+ .take(10)
+top10.dump
+</code></pre></div><div class="highlight"><pre><code class="text
language-text" data-lang="text">%scalding
+
+val table = "words\t count\n" + top10.toIterator.map{case (k, (word,
count)) => s"$word\t$count"}.mkString("\n")
+print("%table " + table)
+</code></pre></div>
+<p>If you click on the icon for the pie chart, you should be able to see a
chart like this:
+<img src="../assets/themes/zeppelin/img/docs-img/scalding-pie.png"
alt="Scalding - Pie - Chart"></p>
+
+<h3>HDFS mode</h3>
+
+<p><strong>Test mode</strong></p>
+<div class="highlight"><pre><code class="text language-text"
data-lang="text">%scalding
+mode
+</code></pre></div>
+<p>This command should print:</p>
+<div class="highlight"><pre><code class="text language-text"
data-lang="text">res4: com.twitter.scalding.Mode = Hdfs(true,Configuration:
core-default.xml, core-site.xml, mapred-default.xml, mapred-site.xml,
yarn-default.xml, yarn-site.xml, hdfs-default.xml, hdfs-site.xml)
+</code></pre></div>
+<p><strong>Test HDFS read</strong></p>
+<div class="highlight"><pre><code class="text language-text"
data-lang="text">val testfile =
TypedPipe.from(TextLine("/user/x/testfile"))
+testfile.dump
+</code></pre></div>
+<p>This command should print the contents of the hdfs file
/user/x/testfile.</p>
+
+<p><strong>Test map-reduce job</strong></p>
+<div class="highlight"><pre><code class="text language-text"
data-lang="text">val testfile =
TypedPipe.from(TextLine("/user/x/testfile"))
+val a = testfile.groupAll.size.values
+a.toList
+</code></pre></div>
+<p>This command should create a map reduce job.</p>
+
+<h2>Future Work</h2>
+
+<ul>
+<li>Better user feedback (hadoop url, progress updates)</li>
+<li>Ability to cancel jobs</li>
+<li>Ability to dynamically load jars without restarting the interpreter</li>
+<li>Multiuser scalability (run scalding interpreters on different servers)</li>
+</ul>
+
+ </div>
+</div>
+
+
+ <hr>
+ <footer>
+ <!-- <p>© 2016 The Apache Software Foundation</p>-->
+ </footer>
+ </div>
+
+
+
+
+ <script type="text/javascript">
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new
Date();a=s.createElement(o),
+
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-45176241-5', 'zeppelin.apache.org');
+ ga('require', 'linkid', 'linkid.js');
+ ga('send', 'pageview');
+
+</script>
+
+
+
+ </body>
+</html>
+
Propchange: zeppelin/site/docs/0.6.0/interpreter/scalding.html
------------------------------------------------------------------------------
svn:eol-style = native
Added: zeppelin/site/docs/0.6.0/interpreter/spark.html
URL:
http://svn.apache.org/viewvc/zeppelin/site/docs/0.6.0/interpreter/spark.html?rev=1751605&view=auto
==============================================================================
--- zeppelin/site/docs/0.6.0/interpreter/spark.html (added)
+++ zeppelin/site/docs/0.6.0/interpreter/spark.html Wed Jul 6 06:25:29 2016
@@ -0,0 +1,584 @@
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Spark Interpreter Group</title>
+ <meta name="description" content="">
+ <meta name="author" content="The Apache Software Foundation">
+
+ <!-- Enable responsive viewport -->
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+ <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+ <!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+
+ <link
href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css"
rel="stylesheet">
+
+ <!-- Le styles -->
+ <link
href="/docs/0.6.0/assets/themes/zeppelin/bootstrap/css/bootstrap.css"
rel="stylesheet">
+ <link href="/docs/0.6.0/assets/themes/zeppelin/css/style.css?body=1"
rel="stylesheet" type="text/css">
+ <link href="/docs/0.6.0/assets/themes/zeppelin/css/syntax.css"
rel="stylesheet" type="text/css" media="screen" />
+ <!-- Le fav and touch icons -->
+ <!-- Update these with your own images
+ <link rel="shortcut icon" href="images/favicon.ico">
+ <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
+ <link rel="apple-touch-icon" sizes="72x72"
href="images/apple-touch-icon-72x72.png">
+ <link rel="apple-touch-icon" sizes="114x114"
href="images/apple-touch-icon-114x114.png">
+ -->
+
+ <!-- Js -->
+ <script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
+ <script
src="/docs/0.6.0/assets/themes/zeppelin/bootstrap/js/bootstrap.min.js"></script>
+ <script src="/docs/0.6.0/assets/themes/zeppelin/js/docs.js"></script>
+ <script src="/docs/0.6.0/assets/themes/zeppelin/js/anchor.min.js"></script>
+ <script src="/docs/0.6.0/assets/themes/zeppelin/js/toc.js"></script>
+
+ <!-- atom & rss feed -->
+ <link href="/docs/0.6.0/atom.xml" type="application/atom+xml"
rel="alternate" title="Sitewide ATOM Feed">
+ <link href="/docs/0.6.0/rss.xml" type="application/rss+xml"
rel="alternate" title="Sitewide RSS Feed">
+ </head>
+
+ <body>
+
+ <div id="menu" class="navbar navbar-inverse navbar-fixed-top"
role="navigation">
+ <div class="container">
+ <div class="navbar-header">
+ <button type="button" class="navbar-toggle" data-toggle="collapse"
data-target=".navbar-collapse">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="/docs/0.6.0">
+ <img src="/assets/themes/zeppelin/img/zeppelin_logo.png"
width="50" alt="I'm zeppelin">
+ <span style="vertical-align:middle">Zeppelin</span>
+ <span style="vertical-align:baseline"><small>0.6.0</small></span>
+ </a>
+ </div>
+ <nav class="navbar-collapse collapse" role="navigation">
+ <ul class="nav navbar-nav">
+ <li>
+ <a href="#" data-toggle="dropdown" class="dropdown-toggle">Quick
Start <b class="caret"></b></a>
+ <ul class="dropdown-menu">
+ <li><a href="/docs/0.6.0/index.html">What is Apache Zeppelin
?</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>Getting Started</b><span></li>
+ <li><a href="/docs/0.6.0/install/install.html">Install</a></li>
+ <li><a
href="/docs/0.6.0/install/install.html#apache-zeppelin-configuration">Configuration</a></li>
+ <li><a
href="/docs/0.6.0/quickstart/explorezeppelinui.html">Explore Zeppelin
UI</a></li>
+ <li><a
href="/docs/0.6.0/quickstart/tutorial.html">Tutorial</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>Basic Feature Guide</b><span></li>
+ <li><a href="/docs/0.6.0/manual/dynamicform.html">Dynamic
Form</a></li>
+ <li><a href="/docs/0.6.0/manual/publish.html">Publish your
Paragraph</a></li>
+ <li><a
href="/docs/0.6.0/manual/notebookashomepage.html">Customize Zeppelin
Homepage</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>More</b><span></li>
+ <li><a
href="/docs/0.6.0/install/virtual_machine.html">Zeppelin on Vagrant VM</a></li>
+ <li><a href="/docs/0.6.0/install/upgrade.html">Upgrade
Zeppelin Version</a></li>
+ </ul>
+ </li>
+ <li>
+ <a href="#" data-toggle="dropdown"
class="dropdown-toggle">Interpreter <b class="caret"></b></a>
+ <ul class="dropdown-menu scrollable-menu">
+ <li><a
href="/docs/0.6.0/manual/interpreters.html">Overview</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>Usage</b><span></li>
+ <li><a
href="/docs/0.6.0/manual/interpreterinstallation.html">Interpreter
Installation</a></li>
+ <!--<li><a
href="/docs/0.6.0/manual/dynamicinterpreterload.html">Dynamic Interpreter
Loading</a></li>-->
+ <li><a
href="/docs/0.6.0/manual/dependencymanagement.html">Interpreter Dependency
Management</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>Available
Interpreters</b><span></li>
+ <li><a
href="/docs/0.6.0/interpreter/alluxio.html">Alluxio</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/cassandra.html">Cassandra</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/elasticsearch.html">Elasticsearch</a></li>
+ <li><a href="/docs/0.6.0/interpreter/flink.html">Flink</a></li>
+ <li><a href="/docs/0.6.0/interpreter/geode.html">Geode</a></li>
+ <li><a href="/docs/0.6.0/interpreter/hbase.html">HBase</a></li>
+ <li><a href="/docs/0.6.0/interpreter/hdfs.html">HDFS</a></li>
+ <li><a href="/docs/0.6.0/interpreter/hive.html">Hive</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/ignite.html">Ignite</a></li>
+ <li><a href="/docs/0.6.0/interpreter/jdbc.html">JDBC</a></li>
+ <li><a href="/docs/0.6.0/interpreter/lens.html">Lens</a></li>
+ <li><a href="/docs/0.6.0/interpreter/livy.html">Livy</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/markdown.html">Markdown</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/python.html">Python</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/postgresql.html">Postgresql, HAWQ</a></li>
+ <li><a href="/docs/0.6.0/interpreter/r.html">R</a></li>
+ <li><a
href="/docs/0.6.0/interpreter/scalding.html">Scalding</a></li>
+ <li><a href="/docs/0.6.0/pleasecontribute.html">Shell</a></li>
+ <li><a href="/docs/0.6.0/interpreter/spark.html">Spark</a></li>
+ </ul>
+ </li>
+ <li>
+ <a href="#" data-toggle="dropdown"
class="dropdown-toggle">Display System <b class="caret"></b></a>
+ <ul class="dropdown-menu">
+ <li class="title"><span><b>Basic Display System</b><span></li>
+ <li><a
href="/docs/0.6.0/displaysystem/basicdisplaysystem.html#text">Text</a></li>
+ <li><a
href="/docs/0.6.0/displaysystem/basicdisplaysystem.html#html">Html</a></li>
+ <li><a
href="/docs/0.6.0/displaysystem/basicdisplaysystem.html#table">Table</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>Angular API</b><span></li>
+ <li><a
href="/docs/0.6.0/displaysystem/back-end-angular.html">Angular (backend
API)</a></li>
+ <li><a
href="/docs/0.6.0/displaysystem/front-end-angular.html">Angular (frontend
API)</a></li>
+ </ul>
+ </li>
+ <li>
+ <a href="#" data-toggle="dropdown"
class="dropdown-toggle">More<b class="caret"></b></a>
+ <ul class="dropdown-menu scrollable-menu" style="right: 0; left:
auto;">
+ <li class="title"><span><b>Notebook Storage</b><span></li>
+ <li><a
href="/docs/0.6.0/storage/storage.html#notebook-storage-in-local-git-repository">Git
Storage</a></li>
+ <li><a
href="/docs/0.6.0/storage/storage.html#notebook-storage-in-s3">S3
Storage</a></li>
+ <li><a
href="/docs/0.6.0/storage/storage.html#notebook-storage-in-azure">Azure
Storage</a></li>
+ <li><a
href="/docs/0.6.0/storage/storage.html#storage-in-zeppelinhub">ZeppelinHub
Storage</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>REST API</b><span></li>
+ <li><a
href="/docs/0.6.0/rest-api/rest-interpreter.html">Interpreter API</a></li>
+ <li><a href="/docs/0.6.0/rest-api/rest-notebook.html">Notebook
API</a></li>
+ <li><a
href="/docs/0.6.0/rest-api/rest-configuration.html">Configuration API</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>Security</b><span></li>
+ <li><a
href="/docs/0.6.0/security/authentication.html">Authentication for
NGINX</a></li>
+ <li><a
href="/docs/0.6.0/security/shiroauthentication.html">Shiro
Authentication</a></li>
+ <li><a
href="/docs/0.6.0/security/notebook_authorization.html">Notebook
Authorization</a></li>
+ <li><a
href="/docs/0.6.0/security/interpreter_authorization.html">Interpreter & Data
Resource Authorization</a></li>
+ <li role="separator" class="divider"></li>
+ <li class="title"><span><b>Contibute</b><span></li>
+ <li><a
href="/docs/0.6.0/development/writingzeppelininterpreter.html">Writing Zeppelin
Interpreter</a></li>
+ <li><a href="/docs/0.6.0/development/howtocontribute.html">How
to contribute (code)</a></li>
+ <li><a
href="/docs/0.6.0/development/howtocontributewebsite.html">How to contribute
(website)</a></li>
+ </ul>
+ </li>
+ </ul>
+ </nav><!--/.navbar-collapse -->
+ </div>
+ </div>
+
+
+ <div class="content">
+
+<!--<div class="hero-unit Spark Interpreter Group">
+ <h1></h1>
+</div>
+-->
+
+<div class="row">
+ <div class="col-md-12">
+ <h1>Spark Interpreter for Apache Zeppelin</h1>
+
+<div id="toc"></div>
+
+<h2>Overview</h2>
+
+<p><a href="http://spark.apache.org">Apache Spark</a> is a fast and
general-purpose cluster computing system.
+It provides high-level APIs in Java, Scala, Python and R, and an optimized
engine that supports general execution graphs
+Apache Spark is supported in Zeppelin with
+Spark Interpreter group, which consists of five interpreters.</p>
+
+<table class="table-configuration">
+ <tr>
+ <th>Name</th>
+ <th>Class</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td>%spark</td>
+ <td>SparkInterpreter</td>
+ <td>Creates a SparkContext and provides a scala environment</td>
+ </tr>
+ <tr>
+ <td>%pyspark</td>
+ <td>PySparkInterpreter</td>
+ <td>Provides a python environment</td>
+ </tr>
+ <tr>
+ <td>%r</td>
+ <td>SparkRInterpreter</td>
+ <td>Provides an R environment with SparkR support</td>
+ </tr>
+ <tr>
+ <td>%sql</td>
+ <td>SparkSQLInterpreter</td>
+ <td>Provides a SQL environment</td>
+ </tr>
+ <tr>
+ <td>%dep</td>
+ <td>DepInterpreter</td>
+ <td>Dependency loader</td>
+ </tr>
+</table>
+
+<h2>Configuration</h2>
+
+<p>The Spark interpreter can be configured with properties provided by
Zeppelin.
+You can also set other Spark properties which are not listed in the table. For
a list of additional properties, refer to <a
href="http://spark.apache.org/docs/latest/configuration.html#available-properties">Spark
Available Properties</a>.
+<table class="table-configuration">
+ <tr>
+ <th>Property</th>
+ <th>Default</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td>args</td>
+ <td></td>
+ <td>Spark commandline args</td>
+ </tr>
+ <td>master</td>
+ <td>local[*]</td>
+ <td>Spark master uri. <br/> ex) spark://masterhost:7077</td>
+ <tr>
+ <td>spark.app.name</td>
+ <td>Zeppelin</td>
+ <td>The name of spark application.</td>
+ </tr>
+ <tr>
+ <td>spark.cores.max</td>
+ <td></td>
+ <td>Total number of cores to use. <br/> Empty value uses all available
core.</td>
+ </tr>
+ <tr>
+ <td>spark.executor.memory </td>
+ <td>512m</td>
+ <td>Executor memory per worker instance. <br/> ex) 512m, 32g</td>
+ </tr>
+ <tr>
+ <td>zeppelin.dep.additionalRemoteRepository</td>
+ <td>spark-packages, <br/> http://dl.bintray.com/spark-packages/maven,
<br/> false;</td>
+ <td>A list of <code>id,remote-repository-URL,is-snapshot;</code> <br/> for
each remote repository.</td>
+ </tr>
+ <tr>
+ <td>zeppelin.dep.localrepo</td>
+ <td>local-repo</td>
+ <td>Local repository for dependency loader</td>
+ </tr>
+ <tr>
+ <td>zeppelin.pyspark.python</td>
+ <td>python</td>
+ <td>Python command to run pyspark with</td>
+ </tr>
+ <tr>
+ <td>zeppelin.spark.concurrentSQL</td>
+ <td>false</td>
+ <td>Execute multiple SQL concurrently if set true.</td>
+ </tr>
+ <tr>
+ <td>zeppelin.spark.maxResult</td>
+ <td>1000</td>
+ <td>Max number of SparkSQL result to display.</td>
+ </tr>
+ <tr>
+ <td>zeppelin.spark.printREPLOutput</td>
+ <td>true</td>
+ <td>Print REPL output</td>
+ </tr>
+ <tr>
+ <td>zeppelin.spark.useHiveContext</td>
+ <td>true</td>
+ <td>Use HiveContext instead of SQLContext if it is true.</td>
+ </tr>
+ <tr>
+ <td>zeppelin.spark.importImplicit</td>
+ <td>true</td>
+ <td>Import implicits, UDF collection, and sql if set true.</td>
+ </tr>
+</table></p>
+
+<p>Without any configuration, Spark interpreter works out of box in local
mode. But if you want to connect to your Spark cluster, you'll need to
follow below two simple steps.</p>
+
+<h3>1. Export SPARK_HOME</h3>
+
+<p>In <strong>conf/zeppelin-env.sh</strong>, export <code>SPARK_HOME</code>
environment variable with your Spark installation path.</p>
+
+<p>for example</p>
+<div class="highlight"><pre><code class="bash language-bash"
data-lang="bash"><span class="nb">export </span><span
class="nv">SPARK_HOME</span><span class="o">=</span>/usr/lib/spark
+</code></pre></div>
+<p>You can optionally export HADOOP_CONF_DIR and SPARK_SUBMIT_OPTIONS</p>
+<div class="highlight"><pre><code class="bash language-bash"
data-lang="bash"><span class="nb">export </span><span
class="nv">HADOOP_CONF_DIR</span><span class="o">=</span>/usr/lib/hadoop
+<span class="nb">export </span><span
class="nv">SPARK_SUBMIT_OPTIONS</span><span class="o">=</span><span
class="s2">"--packages com.databricks:spark-csv_2.10:1.2.0"</span>
+</code></pre></div>
+<p>For Windows, ensure you have <code>winutils.exe</code> in
<code>%HADOOP_HOME%\bin</code>. For more details please see <a
href="https://wiki.apache.org/hadoop/WindowsProblems">Problems running Hadoop
on Windows</a></p>
+
+<h3>2. Set master in Interpreter menu</h3>
+
+<p>After start Zeppelin, go to <strong>Interpreter</strong> menu and edit
<strong>master</strong> property in your Spark interpreter setting. The value
may vary depending on your Spark cluster deployment type.</p>
+
+<p>for example,</p>
+
+<ul>
+<li><strong>local[*]</strong> in local mode</li>
+<li><strong>spark://master:7077</strong> in standalone cluster</li>
+<li><strong>yarn-client</strong> in Yarn client mode</li>
+<li><strong>mesos://host:5050</strong> in Mesos cluster</li>
+</ul>
+
+<p>That's it. Zeppelin will work with any version of Spark and any
deployment type without rebuilding Zeppelin in this way. (Zeppelin
0.5.6-incubating release works up to Spark 1.6.1 )</p>
+
+<blockquote>
+<p>Note that without exporting <code>SPARK_HOME</code>, it's running in
local mode with included version of Spark. The included version may vary
depending on the build profile.</p>
+</blockquote>
+
+<h2>SparkContext, SQLContext, ZeppelinContext</h2>
+
+<p>SparkContext, SQLContext, ZeppelinContext are automatically created and
exposed as variable names 'sc', 'sqlContext' and 'z',
respectively, both in scala and python environments.</p>
+
+<blockquote>
+<p>Note that scala / python environment shares the same SparkContext,
SQLContext, ZeppelinContext instance.</p>
+</blockquote>
+
+<p><a name="dependencyloading"> </a></p>
+
+<h2>Dependency Management</h2>
+
+<p>There are two ways to load external library in spark interpreter. First is
using Interpreter setting menu and second is loading Spark properties.</p>
+
+<h3>1. Setting Dependencies via Interpreter Setting</h3>
+
+<p>Please see <a href="../manual/dependencymanagement.html">Dependency
Management</a> for the details.</p>
+
+<h3>2. Loading Spark Properties</h3>
+
+<p>Once <code>SPARK_HOME</code> is set in <code>conf/zeppelin-env.sh</code>,
Zeppelin uses <code>spark-submit</code> as spark interpreter runner.
<code>spark-submit</code> supports two ways to load configurations. The first
is command line options such as --master and Zeppelin can pass these options to
<code>spark-submit</code> by exporting <code>SPARK_SUBMIT_OPTIONS</code> in
conf/zeppelin-env.sh. Second is reading configuration options from
<code>SPARK_HOME/conf/spark-defaults.conf</code>. Spark properites that user
can set to distribute libraries are:</p>
+
+<table class="table-configuration">
+ <tr>
+ <th>spark-defaults.conf</th>
+ <th>SPARK_SUBMIT_OPTIONS</th>
+ <th>Applicable Interpreter</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td>spark.jars</td>
+ <td>--jars</td>
+ <td>%spark</td>
+ <td>Comma-separated list of local jars to include on the driver and
executor classpaths.</td>
+ </tr>
+ <tr>
+ <td>spark.jars.packages</td>
+ <td>--packages</td>
+ <td>%spark</td>
+ <td>Comma-separated list of maven coordinates of jars to include on the
driver and executor classpaths. Will search the local maven repo, then maven
central and any additional remote repositories given by --repositories. The
format for the coordinates should be groupId:artifactId:version.</td>
+ </tr>
+ <tr>
+ <td>spark.files</td>
+ <td>--files</td>
+ <td>%pyspark</td>
+ <td>Comma-separated list of files to be placed in the working directory of
each executor.</td>
+ </tr>
+</table>
+
+<blockquote>
+<p>Note that adding jar to pyspark is only availabe via <code>%dep</code>
interpreter at the moment.</p>
+</blockquote>
+
+<p>Here are few examples:</p>
+
+<ul>
+<li><p>SPARK_SUBMIT_OPTIONS in conf/zeppelin-env.sh</p>
+
+<p>export SPARK<em>SUBMIT</em>OPTIONS="--packages
com.databricks:spark-csv_2.10:1.2.0 --jars /path/mylib1.jar,/path/mylib2.jar
--files /path/mylib1.py,/path/mylib2.zip,/path/mylib3.egg"</p></li>
+<li><p>SPARK_HOME/conf/spark-defaults.conf</p>
+
+<p>spark.jars /path/mylib1.jar,/path/mylib2.jar
+spark.jars.packages com.databricks:spark-csv_2.10:1.2.0
+spark.files /path/mylib1.py,/path/mylib2.egg,/path/mylib3.zip</p></li>
+</ul>
+
+<h3>3. Dynamic Dependency Loading via %dep interpreter</h3>
+
+<blockquote>
+<p>Note: <code>%dep</code> interpreter is deprecated since v0.6.0.
+<code>%dep</code> interpreter load libraries to <code>%spark</code> and
<code>%pyspark</code> but not to <code>%spark.sql</code> interpreter so we
recommend you to use first option instead.</p>
+</blockquote>
+
+<p>When your code requires external library, instead of doing
download/copy/restart Zeppelin, you can easily do following jobs using
<code>%dep</code> interpreter.</p>
+
+<ul>
+<li>Load libraries recursively from Maven repository</li>
+<li>Load libraries from local filesystem</li>
+<li>Add additional maven repository</li>
+<li>Automatically add libraries to SparkCluster (You can turn off)</li>
+</ul>
+
+<p>Dep interpreter leverages scala environment. So you can write any Scala
code here.
+Note that <code>%dep</code> interpreter should be used before
<code>%spark</code>, <code>%pyspark</code>, <code>%sql</code>.</p>
+
+<p>Here's usages.</p>
+<div class="highlight"><pre><code class="scala language-scala"
data-lang="scala"><span class="o">%</span><span class="n">dep</span>
+<span class="n">z</span><span class="o">.</span><span
class="n">reset</span><span class="o">()</span> <span class="c1">// clean up
previously added artifact and repository</span>
+
+<span class="c1">// add maven repository</span>
+<span class="n">z</span><span class="o">.</span><span
class="n">addRepo</span><span class="o">(</span><span
class="s">"RepoName"</span><span class="o">).</span><span
class="n">url</span><span class="o">(</span><span
class="s">"RepoURL"</span><span class="o">)</span>
+
+<span class="c1">// add maven snapshot repository</span>
+<span class="n">z</span><span class="o">.</span><span
class="n">addRepo</span><span class="o">(</span><span
class="s">"RepoName"</span><span class="o">).</span><span
class="n">url</span><span class="o">(</span><span
class="s">"RepoURL"</span><span class="o">).</span><span
class="n">snapshot</span><span class="o">()</span>
+
+<span class="c1">// add credentials for private maven repository</span>
+<span class="n">z</span><span class="o">.</span><span
class="n">addRepo</span><span class="o">(</span><span
class="s">"RepoName"</span><span class="o">).</span><span
class="n">url</span><span class="o">(</span><span
class="s">"RepoURL"</span><span class="o">).</span><span
class="n">username</span><span class="o">(</span><span
class="s">"username"</span><span class="o">).</span><span
class="n">password</span><span class="o">(</span><span
class="s">"password"</span><span class="o">)</span>
+
+<span class="c1">// add artifact from filesystem</span>
+<span class="n">z</span><span class="o">.</span><span
class="n">load</span><span class="o">(</span><span
class="s">"/path/to.jar"</span><span class="o">)</span>
+
+<span class="c1">// add artifact from maven repository, with no
dependency</span>
+<span class="n">z</span><span class="o">.</span><span
class="n">load</span><span class="o">(</span><span
class="s">"groupId:artifactId:version"</span><span
class="o">).</span><span class="n">excludeAll</span><span class="o">()</span>
+
+<span class="c1">// add artifact recursively</span>
+<span class="n">z</span><span class="o">.</span><span
class="n">load</span><span class="o">(</span><span
class="s">"groupId:artifactId:version"</span><span class="o">)</span>
+
+<span class="c1">// add artifact recursively except comma separated
GroupID:ArtifactId list</span>
+<span class="n">z</span><span class="o">.</span><span
class="n">load</span><span class="o">(</span><span
class="s">"groupId:artifactId:version"</span><span
class="o">).</span><span class="n">exclude</span><span class="o">(</span><span
class="s">"groupId:artifactId,groupId:artifactId, ..."</span><span
class="o">)</span>
+
+<span class="c1">// exclude with pattern</span>
+<span class="n">z</span><span class="o">.</span><span
class="n">load</span><span class="o">(</span><span
class="s">"groupId:artifactId:version"</span><span
class="o">).</span><span class="n">exclude</span><span class="o">(*)</span>
+<span class="n">z</span><span class="o">.</span><span
class="n">load</span><span class="o">(</span><span
class="s">"groupId:artifactId:version"</span><span
class="o">).</span><span class="n">exclude</span><span class="o">(</span><span
class="s">"groupId:artifactId:*"</span><span class="o">)</span>
+<span class="n">z</span><span class="o">.</span><span
class="n">load</span><span class="o">(</span><span
class="s">"groupId:artifactId:version"</span><span
class="o">).</span><span class="n">exclude</span><span class="o">(</span><span
class="s">"groupId:*"</span><span class="o">)</span>
+
+<span class="c1">// local() skips adding artifact to spark clusters (skipping
sc.addJar())</span>
+<span class="n">z</span><span class="o">.</span><span
class="n">load</span><span class="o">(</span><span
class="s">"groupId:artifactId:version"</span><span
class="o">).</span><span class="n">local</span><span class="o">()</span>
+</code></pre></div>
+<h2>ZeppelinContext</h2>
+
+<p>Zeppelin automatically injects ZeppelinContext as variable 'z' in
your scala/python environment. ZeppelinContext provides some additional
functions and utility.</p>
+
+<h3>Object Exchange</h3>
+
+<p>ZeppelinContext extends map and it's shared between scala, python
environment.
+So you can put some object from scala and read it from python, vise versa.</p>
+
+<div class="codetabs">
+ <div data-lang="scala" markdown="1">
+
+
+<div class="highlight"><pre><code class="scala"><span class="c1">// Put object
from scala</span>
+<span class="o">%</span><span class="n">spark</span>
+<span class="k">val</span> <span class="n">myObject</span> <span
class="k">=</span> <span class="o">...</span>
+<span class="n">z</span><span class="o">.</span><span
class="n">put</span><span class="o">(</span><span
class="s">"objName"</span><span class="o">,</span> <span
class="n">myObject</span><span class="o">)</span>
+</code></pre></div>
+
+
+ </div>
+ <div data-lang="python" markdown="1">
+
+
+<div class="highlight"><pre><code class="python"><span class="c"># Get object
from python</span>
+<span class="o">%</span><span class="n">pyspark</span>
+<span class="n">myObject</span> <span class="o">=</span> <span
class="n">z</span><span class="o">.</span><span class="n">get</span><span
class="p">(</span><span class="s">"objName"</span><span
class="p">)</span>
+</code></pre></div>
+
+
+ </div>
+</div>
+
+<h3>Form Creation</h3>
+
+<p>ZeppelinContext provides functions for creating forms.
+In scala and python environments, you can create forms programmatically.
+<div class="codetabs">
+ <div data-lang="scala" markdown="1"></p>
+
+<div class="highlight"><pre><code class="scala"><span class="o">%</span><span
class="n">spark</span>
+<span class="cm">/* Create text input form */</span>
+<span class="n">z</span><span class="o">.</span><span
class="n">input</span><span class="o">(</span><span
class="s">"formName"</span><span class="o">)</span>
+
+<span class="cm">/* Create text input form with default value */</span>
+<span class="n">z</span><span class="o">.</span><span
class="n">input</span><span class="o">(</span><span
class="s">"formName"</span><span class="o">,</span> <span
class="s">"defaultValue"</span><span class="o">)</span>
+
+<span class="cm">/* Create select form */</span>
+<span class="n">z</span><span class="o">.</span><span
class="n">select</span><span class="o">(</span><span
class="s">"formName"</span><span class="o">,</span> <span
class="nc">Seq</span><span class="o">((</span><span
class="s">"option1"</span><span class="o">,</span> <span
class="s">"option1DisplayName"</span><span class="o">),</span>
+ <span class="o">(</span><span
class="s">"option2"</span><span class="o">,</span> <span
class="s">"option2DisplayName"</span><span class="o">)))</span>
+
+<span class="cm">/* Create select form with default value*/</span>
+<span class="n">z</span><span class="o">.</span><span
class="n">select</span><span class="o">(</span><span
class="s">"formName"</span><span class="o">,</span> <span
class="s">"option1"</span><span class="o">,</span> <span
class="nc">Seq</span><span class="o">((</span><span
class="s">"option1"</span><span class="o">,</span> <span
class="s">"option1DisplayName"</span><span class="o">),</span>
+ <span class="o">(</span><span
class="s">"option2"</span><span class="o">,</span> <span
class="s">"option2DisplayName"</span><span class="o">)))</span>
+</code></pre></div>
+
+
+ </div>
+ <div data-lang="python" markdown="1">
+
+
+<div class="highlight"><pre><code class="python"><span class="o">%</span><span
class="n">pyspark</span>
+<span class="c"># Create text input form</span>
+<span class="n">z</span><span class="o">.</span><span
class="n">input</span><span class="p">(</span><span
class="s">"formName"</span><span class="p">)</span>
+
+<span class="c"># Create text input form with default value</span>
+<span class="n">z</span><span class="o">.</span><span
class="n">input</span><span class="p">(</span><span
class="s">"formName"</span><span class="p">,</span> <span
class="s">"defaultValue"</span><span class="p">)</span>
+
+<span class="c"># Create select form</span>
+<span class="n">z</span><span class="o">.</span><span
class="n">select</span><span class="p">(</span><span
class="s">"formName"</span><span class="p">,</span> <span
class="p">[(</span><span class="s">"option1"</span><span
class="p">,</span> <span class="s">"option1DisplayName"</span><span
class="p">),</span>
+ <span class="p">(</span><span
class="s">"option2"</span><span class="p">,</span> <span
class="s">"option2DisplayName"</span><span class="p">)])</span>
+
+<span class="c"># Create select form with default value</span>
+<span class="n">z</span><span class="o">.</span><span
class="n">select</span><span class="p">(</span><span
class="s">"formName"</span><span class="p">,</span> <span
class="p">[(</span><span class="s">"option1"</span><span
class="p">,</span> <span class="s">"option1DisplayName"</span><span
class="p">),</span>
+ <span class="p">(</span><span
class="s">"option2"</span><span class="p">,</span> <span
class="s">"option2DisplayName"</span><span class="p">)],</span> <span
class="s">"option1"</span><span class="p">)</span>
+</code></pre></div>
+
+
+ </div>
+</div>
+
+<p>In sql environment, you can create form in simple template.</p>
+<div class="highlight"><pre><code class="text language-text"
data-lang="text">%sql
+select * from ${table=defaultTableName} where text like '%${search}%'
+</code></pre></div>
+<p>To learn more about dynamic form, checkout <a
href="../manual/dynamicform.html">Dynamic Form</a>.</p>
+
+<h2>Interpreter setting option</h2>
+
+<p>Interpreter setting can choose one of 'shared', 'scoped',
'isolated' option. Spark interpreter creates separate scala compiler
per each notebook but share a single SparkContext in 'scoped' mode
(experimental). It creates separate SparkContext per each notebook in
'isolated' mode.</p>
+
+<h2>Setting up Zeppelin with Kerberos</h2>
+
+<p>Logical setup with Zeppelin, Kerberos Key Distribution Center (KDC), and
Spark on YARN:</p>
+
+<p><img src="../assets/themes/zeppelin/img/docs-img/kdc_zeppelin.png"></p>
+
+<h3>Configuration Setup</h3>
+
+<ol>
+<li><p>On the server that Zeppelin is installed, install Kerberos client
modules and configuration, krb5.conf.
+This is to make the server communicate with KDC.</p></li>
+<li><p>Set SPARK_HOME in <code>[ZEPPELIN\_HOME]/conf/zeppelin-env.sh</code> to
use spark-submit
+(Additionally, you might have to set <code>export
HADOOP\_CONF\_DIR=/etc/hadoop/conf</code>)</p></li>
+<li><p>Add the two properties below to spark configuration
(<code>[SPARK_HOME]/conf/spark-defaults.conf</code>):</p>
+<div class="highlight"><pre><code class="text language-text"
data-lang="text">spark.yarn.principal
+spark.yarn.keytab
+</code></pre></div>
+<blockquote>
+<p><strong>NOTE:</strong> If you do not have access to the above
spark-defaults.conf file, optionally, you may add the lines to the Spark
Interpreter through the Interpreter tab in the Zeppelin UI.</p>
+</blockquote></li>
+<li><p>That's it. Play with Zeppelin!</p></li>
+</ol>
+
+ </div>
+</div>
+
+
+ <hr>
+ <footer>
+ <!-- <p>© 2016 The Apache Software Foundation</p>-->
+ </footer>
+ </div>
+
+
+
+
+ <script type="text/javascript">
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new
Date();a=s.createElement(o),
+
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-45176241-5', 'zeppelin.apache.org');
+ ga('require', 'linkid', 'linkid.js');
+ ga('send', 'pageview');
+
+</script>
+
+
+
+ </body>
+</html>
+
Propchange: zeppelin/site/docs/0.6.0/interpreter/spark.html
------------------------------------------------------------------------------
svn:eol-style = native