Added: zeppelin/site/docs/0.6.2/interpreter/cassandra.html
URL: 
http://svn.apache.org/viewvc/zeppelin/site/docs/0.6.2/interpreter/cassandra.html?rev=1765205&view=auto
==============================================================================
--- zeppelin/site/docs/0.6.2/interpreter/cassandra.html (added)
+++ zeppelin/site/docs/0.6.2/interpreter/cassandra.html Mon Oct 17 04:13:33 2016
@@ -0,0 +1,990 @@
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <title>Cassandra Interpreter</title>
+    <meta name="description" content="Cassandra 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.2/assets/themes/zeppelin/bootstrap/css/bootstrap.css" 
rel="stylesheet">
+    <link href="/docs/0.6.2/assets/themes/zeppelin/css/style.css?body=1" 
rel="stylesheet" type="text/css">
+    <link href="/docs/0.6.2/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.2/assets/themes/zeppelin/bootstrap/js/bootstrap.min.js"></script>
+    <script src="/docs/0.6.2/assets/themes/zeppelin/js/docs.js"></script>
+    <script src="/docs/0.6.2/assets/themes/zeppelin/js/anchor.min.js"></script>
+    <script src="/docs/0.6.2/assets/themes/zeppelin/js/toc.js"></script>
+
+    <!-- atom & rss feed -->
+    <link href="/docs/0.6.2/atom.xml" type="application/atom+xml" 
rel="alternate" title="Sitewide ATOM Feed">
+    <link href="/docs/0.6.2/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.2">
+            <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.2</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.2/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.2/install/install.html">Install</a></li>
+                <li><a 
href="/docs/0.6.2/install/install.html#apache-zeppelin-configuration">Configuration</a></li>
+                <li><a 
href="/docs/0.6.2/quickstart/explorezeppelinui.html">Explore Zeppelin 
UI</a></li>
+                <li><a 
href="/docs/0.6.2/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.2/manual/dynamicform.html">Dynamic 
Form</a></li>
+                <li><a href="/docs/0.6.2/manual/publish.html">Publish your 
Paragraph</a></li>
+                <li><a 
href="/docs/0.6.2/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.2/install/virtual_machine.html">Zeppelin on Vagrant VM</a></li>
+                <li><a href="/docs/0.6.2/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.2/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.2/manual/interpreterinstallation.html">Interpreter 
Installation</a></li>
+                <!--<li><a 
href="/docs/0.6.2/manual/dynamicinterpreterload.html">Dynamic Interpreter 
Loading</a></li>-->
+                <li><a 
href="/docs/0.6.2/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.2/interpreter/alluxio.html">Alluxio</a></li>
+                <li><a 
href="/docs/0.6.2/interpreter/bigquery.html">BigQuery</a></li>
+                <li><a 
href="/docs/0.6.2/interpreter/cassandra.html">Cassandra</a></li>
+                <li><a 
href="/docs/0.6.2/interpreter/elasticsearch.html">Elasticsearch</a></li>
+                <li><a href="/docs/0.6.2/interpreter/flink.html">Flink</a></li>
+                <li><a href="/docs/0.6.2/interpreter/geode.html">Geode</a></li>
+                <li><a href="/docs/0.6.2/interpreter/hbase.html">HBase</a></li>
+                <li><a href="/docs/0.6.2/interpreter/hdfs.html">HDFS</a></li>
+                <li><a href="/docs/0.6.2/interpreter/hive.html">Hive</a></li>
+                <li><a 
href="/docs/0.6.2/interpreter/ignite.html">Ignite</a></li>
+                <li><a href="/docs/0.6.2/interpreter/jdbc.html">JDBC</a></li>
+                <li><a href="/docs/0.6.2/interpreter/lens.html">Lens</a></li>
+                <li><a href="/docs/0.6.2/interpreter/livy.html">Livy</a></li>
+                <li><a 
href="/docs/0.6.2/interpreter/markdown.html">Markdown</a></li>
+                <li><a 
href="/docs/0.6.2/interpreter/python.html">Python</a></li>
+                <li><a 
href="/docs/0.6.2/interpreter/postgresql.html">Postgresql, HAWQ</a></li>
+                <li><a href="/docs/0.6.2/interpreter/r.html">R</a></li>
+                <li><a 
href="/docs/0.6.2/interpreter/scalding.html">Scalding</a></li>
+                <li><a href="/docs/0.6.2/pleasecontribute.html">Shell</a></li>
+                <li><a href="/docs/0.6.2/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.2/displaysystem/basicdisplaysystem.html#text">Text</a></li>
+                <li><a 
href="/docs/0.6.2/displaysystem/basicdisplaysystem.html#html">Html</a></li>
+                <li><a 
href="/docs/0.6.2/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.2/displaysystem/back-end-angular.html">Angular (backend 
API)</a></li>
+                <li><a 
href="/docs/0.6.2/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.2/storage/storage.html#notebook-storage-in-local-git-repository">Git
 Storage</a></li>
+                <li><a 
href="/docs/0.6.2/storage/storage.html#notebook-storage-in-s3">S3 
Storage</a></li>
+                <li><a 
href="/docs/0.6.2/storage/storage.html#notebook-storage-in-azure">Azure 
Storage</a></li>
+                <li><a 
href="/docs/0.6.2/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.2/rest-api/rest-interpreter.html">Interpreter API</a></li>
+                <li><a href="/docs/0.6.2/rest-api/rest-notebook.html">Notebook 
API</a></li>
+                <li><a 
href="/docs/0.6.2/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.2/security/authentication.html">Authentication for 
NGINX</a></li>
+                <li><a 
href="/docs/0.6.2/security/shiroauthentication.html">Shiro 
Authentication</a></li>
+                <li><a 
href="/docs/0.6.2/security/notebook_authorization.html">Notebook 
Authorization</a></li>
+                <li><a 
href="/docs/0.6.2/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.2/development/writingzeppelininterpreter.html">Writing Zeppelin 
Interpreter</a></li>
+                <li><a href="/docs/0.6.2/development/howtocontribute.html">How 
to contribute (code)</a></li>
+                <li><a 
href="/docs/0.6.2/development/howtocontributewebsite.html">How to contribute 
(website)</a></li>
+              </ul>
+            </li>
+          </ul>
+        </nav><!--/.navbar-collapse -->
+      </div>
+    </div>
+    
+
+
+    <div class="content">
+      
+<!--<div class="hero-unit Cassandra Interpreter">
+  <h1></h1>
+</div>
+-->
+
+<div class="row">
+  <div class="col-md-12">
+    <h1>Cassandra CQL Interpreter for Apache Zeppelin</h1>
+
+<div id="toc"></div>
+
+<table class="table-configuration">
+  <tr>
+    <th>Name</th>
+    <th>Class</th>
+    <th>Description</th>
+  </tr>
+  <tr>
+    <td>%cassandra</td>
+    <td>CassandraInterpreter</td>
+    <td>Provides interpreter for Apache Cassandra CQL query language</td>
+  </tr>
+</table>
+
+<h2>Enabling Cassandra Interpreter</h2>
+
+<p>In a notebook, to enable the <strong>Cassandra</strong> interpreter, click 
on the <strong>Gear</strong> icon and select <strong>Cassandra</strong></p>
+
+<p><center>
+ <img 
src="../assets/themes/zeppelin/img/docs-img/cassandra-InterpreterBinding.png" 
alt="Interpreter Binding"></p>
+
+<p><img 
src="../assets/themes/zeppelin/img/docs-img/cassandra-InterpreterSelection.png" 
alt="Interpreter Selection">
+ </center></p>
+
+<h2>Using the Cassandra Interpreter</h2>
+
+<p>In a paragraph, use <strong><em>%cassandra</em></strong> to select the 
<strong>Cassandra</strong> interpreter and then input all commands.</p>
+
+<p>To access the interactive help, type <strong>HELP;</strong></p>
+
+<p><center>
+   <img 
src="../assets/themes/zeppelin/img/docs-img/cassandra-InteractiveHelp.png" 
alt="Interactive Help">
+ </center></p>
+
+<h2>Interpreter Commands</h2>
+
+<p>The <strong>Cassandra</strong> interpreter accepts the following 
commands</p>
+
+<p><center>
+  <table class="table-configuration">
+    <tr>
+      <th>Command Type</th>
+      <th>Command Name</th>
+      <th>Description</th>
+    </tr>
+    <tr>
+      <td nowrap>Help command</td>
+      <td>HELP</td>
+      <td>Display the interactive help menu</td>
+    </tr>
+    <tr>
+      <td nowrap>Schema commands</td>
+      <td>DESCRIBE KEYSPACE, DESCRIBE CLUSTER, DESCRIBE TABLES ...</td>
+      <td>Custom commands to describe the Cassandra schema</td>
+    </tr>
+    <tr>
+      <td nowrap>Option commands</td>
+      <td>@consistency, @retryPolicy, @fetchSize ...</td>
+      <td>Inject runtime options to all statements in the paragraph</td>
+    </tr>
+    <tr>
+      <td nowrap>Prepared statement commands</td>
+      <td>@prepare, @bind, @remove_prepared</td>
+      <td>Let you register a prepared command and re-use it later by injecting 
bound values</td>
+    </tr>
+    <tr>
+      <td nowrap>Native CQL statements</td>
+      <td>All CQL-compatible statements (SELECT, INSERT, CREATE ...)</td>
+      <td>All CQL statements are executed directly against the Cassandra 
server</td>
+    </tr>
+  </table>
+</center></p>
+
+<h2>CQL statements</h2>
+
+<p>This interpreter is compatible with any CQL statement supported by 
Cassandra. Ex:</p>
+<div class="highlight"><pre><code class="sql language-sql" 
data-lang="sql"><span class="k">INSERT</span> <span class="k">INTO</span> <span 
class="n">users</span><span class="p">(</span><span class="n">login</span><span 
class="p">,</span><span class="n">name</span><span class="p">)</span> <span 
class="k">VALUES</span><span class="p">(</span><span 
class="s1">&#39;jdoe&#39;</span><span class="p">,</span><span 
class="s1">&#39;John DOE&#39;</span><span class="p">);</span>
+<span class="k">SELECT</span> <span class="o">*</span> <span 
class="k">FROM</span> <span class="n">users</span> <span class="k">WHERE</span> 
<span class="n">login</span><span class="o">=</span><span 
class="s1">&#39;jdoe&#39;</span><span class="p">;</span>
+</code></pre></div>
+<p>Each statement should be separated by a semi-colon ( <strong>;</strong> ) 
except the special commands below:</p>
+
+<ol>
+<li>@prepare</li>
+<li>@bind</li>
+<li>@remove_prepare</li>
+<li>@consistency</li>
+<li>@serialConsistency</li>
+<li>@timestamp</li>
+<li>@retryPolicy</li>
+<li>@fetchSize</li>
+<li>@requestTimeOut</li>
+</ol>
+
+<p>Multi-line statements as well as multiple statements on the same line are 
also supported as long as they are separated by a semi-colon. Ex:</p>
+<div class="highlight"><pre><code class="sql language-sql" 
data-lang="sql"><span class="n">USE</span> <span 
class="n">spark_demo</span><span class="p">;</span>
+
+<span class="k">SELECT</span> <span class="o">*</span> <span 
class="k">FROM</span> <span class="n">albums_by_country</span> <span 
class="k">LIMIT</span> <span class="mi">1</span><span class="p">;</span> <span 
class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> 
<span class="n">countries</span> <span class="k">LIMIT</span> <span 
class="mi">1</span><span class="p">;</span>
+
+<span class="k">SELECT</span> <span class="o">*</span>
+<span class="k">FROM</span> <span class="n">artists</span>
+<span class="k">WHERE</span> <span class="n">login</span><span 
class="o">=</span><span class="s1">&#39;jlennon&#39;</span><span 
class="p">;</span>
+</code></pre></div>
+<p>Batch statements are supported and can span multiple lines, as well as 
DDL(CREATE/ALTER/DROP) statements:</p>
+<div class="highlight"><pre><code class="sql language-sql" 
data-lang="sql"><span class="k">BEGIN</span> <span class="n">BATCH</span>
+    <span class="k">INSERT</span> <span class="k">INTO</span> <span 
class="n">users</span><span class="p">(</span><span class="n">login</span><span 
class="p">,</span><span class="n">name</span><span class="p">)</span> <span 
class="k">VALUES</span><span class="p">(</span><span 
class="s1">&#39;jdoe&#39;</span><span class="p">,</span><span 
class="s1">&#39;John DOE&#39;</span><span class="p">);</span>
+    <span class="k">INSERT</span> <span class="k">INTO</span> <span 
class="n">users_preferences</span><span class="p">(</span><span 
class="n">login</span><span class="p">,</span><span 
class="n">account_type</span><span class="p">)</span> <span 
class="k">VALUES</span><span class="p">(</span><span 
class="s1">&#39;jdoe&#39;</span><span class="p">,</span><span 
class="s1">&#39;BASIC&#39;</span><span class="p">);</span>
+<span class="n">APPLY</span> <span class="n">BATCH</span><span 
class="p">;</span>
+
+<span class="k">CREATE</span> <span class="k">TABLE</span> <span 
class="n">IF</span> <span class="k">NOT</span> <span class="k">EXISTS</span> 
<span class="n">test</span><span class="p">(</span>
+    <span class="k">key</span> <span class="nb">int</span> <span 
class="k">PRIMARY</span> <span class="k">KEY</span><span class="p">,</span>
+    <span class="n">value</span> <span class="nb">text</span>
+<span class="p">);</span>
+</code></pre></div>
+<p>CQL statements are <strong>case-insensitive</strong> (except for column 
names and values). This means that the following statements are equivalent and 
valid:</p>
+<div class="highlight"><pre><code class="sql language-sql" 
data-lang="sql"><span class="k">INSERT</span> <span class="k">INTO</span> <span 
class="n">users</span><span class="p">(</span><span class="n">login</span><span 
class="p">,</span><span class="n">name</span><span class="p">)</span> <span 
class="k">VALUES</span><span class="p">(</span><span 
class="s1">&#39;jdoe&#39;</span><span class="p">,</span><span 
class="s1">&#39;John DOE&#39;</span><span class="p">);</span>
+<span class="k">Insert</span> <span class="k">into</span> <span 
class="n">users</span><span class="p">(</span><span class="n">login</span><span 
class="p">,</span><span class="n">name</span><span class="p">)</span> <span 
class="k">vAlues</span><span class="p">(</span><span 
class="s1">&#39;hsue&#39;</span><span class="p">,</span><span 
class="s1">&#39;Helen SUE&#39;</span><span class="p">);</span>
+</code></pre></div>
+<p>The complete list of all CQL statements and versions can be found below:</p>
+
+<p><center>
+ <table class="table-configuration">
+   <tr>
+     <th>Cassandra Version</th>
+     <th>Documentation Link</th>
+   </tr>
+   <tr>
+     <td><strong>3.x</strong></td>
+     <td>
+        <a target="_blank"
+          href="http://docs.datastax.com/en/cql/3.3/cql/cqlIntro.html";>
+          http://docs.datastax.com/en/cql/3.3/cql/cqlIntro.html
+        </a>
+     </td>
+   </tr><br>
+   <tr>
+     <td><strong>2.2</strong></td>
+     <td>
+        <a target="_blank"
+          href="http://docs.datastax.com/en/cql/3.3/cql/cqlIntro.html";>
+          http://docs.datastax.com/en/cql/3.3/cql/cqlIntro.html
+        </a>
+     </td>
+   </tr>
+   <tr>
+     <td><strong>2.1 &amp; 2.0</strong></td>
+     <td>
+        <a target="_blank"
+          href="http://docs.datastax.com/en/cql/3.1/cql/cql_intro_c.html";>
+          http://docs.datastax.com/en/cql/3.1/cql/cql<em>intro</em>c.html
+        </a>
+     </td>
+   </tr>
+   <tr>
+     <td><strong>1.2</strong></td>
+     <td>
+        <a target="_blank"
+          href="http://docs.datastax.com/en/cql/3.0/cql/aboutCQL.html";>
+          http://docs.datastax.com/en/cql/3.0/cql/aboutCQL.html
+        </a>
+     </td>
+   </tr>
+ </table>
+</center></p>
+
+<h2>Comments in statements</h2>
+
+<p>It is possible to add comments between statements. Single line comments 
start with the <strong>hash sign</strong> (#) or <strong>double 
slashes</strong> (//). Multi-line comments are enclosed between /** and **/. 
Ex:</p>
+<div class="highlight"><pre><code class="sql language-sql" 
data-lang="sql"><span class="o">#</span><span class="n">Single</span> <span 
class="n">line</span> <span class="k">comment</span> <span 
class="n">style</span> <span class="mi">1</span>
+<span class="k">INSERT</span> <span class="k">INTO</span> <span 
class="n">users</span><span class="p">(</span><span class="n">login</span><span 
class="p">,</span><span class="n">name</span><span class="p">)</span> <span 
class="k">VALUES</span><span class="p">(</span><span 
class="s1">&#39;jdoe&#39;</span><span class="p">,</span><span 
class="s1">&#39;John DOE&#39;</span><span class="p">);</span>
+
+<span class="o">//</span><span class="n">Single</span> <span 
class="n">line</span> <span class="k">comment</span> <span 
class="n">style</span> <span class="mi">2</span>
+
+<span class="cm">/**</span>
+<span class="cm"> Multi line</span>
+<span class="cm"> comments</span>
+<span class="cm"> **/</span>
+<span class="k">Insert</span> <span class="k">into</span> <span 
class="n">users</span><span class="p">(</span><span class="n">login</span><span 
class="p">,</span><span class="n">name</span><span class="p">)</span> <span 
class="k">vAlues</span><span class="p">(</span><span 
class="s1">&#39;hsue&#39;</span><span class="p">,</span><span 
class="s1">&#39;Helen SUE&#39;</span><span class="p">);</span>
+</code></pre></div>
+<h2>Syntax Validation</h2>
+
+<p>The interpreters is shipped with a built-in syntax validator. This 
validator only checks for basic syntax errors.</p>
+
+<p>All CQL-related syntax validation is delegated directly to 
<strong>Cassandra</strong></p>
+
+<p>Most of the time, syntax errors are due to <strong>missing 
semi-colons</strong> between statements or <strong>typo errors</strong>.</p>
+
+<h2>Schema commands</h2>
+
+<p>To make schema discovery easier and more interactive, the following 
commands are supported:</p>
+
+<p><center>
+ <table class="table-configuration">
+   <tr>
+     <th>Command</th>
+     <th>Description</th>
+   </tr>
+   <tr>
+     <td><strong>DESCRIBE CLUSTER;</strong></td>
+     <td>Show the current cluster name and its partitioner</td>
+   </tr>
+   <tr>
+     <td><strong>DESCRIBE KEYSPACES;</strong></td>
+     <td>List all existing keyspaces in the cluster and their configuration 
(replication factor, durable write ...)</td>
+   </tr>
+   <tr>
+     <td><strong>DESCRIBE TABLES;</strong></td>
+     <td>List all existing keyspaces in the cluster and for each, all the 
tables name</td>
+   </tr>
+   <tr>
+     <td><strong>DESCRIBE TYPES;</strong></td>
+     <td>List all existing keyspaces in the cluster and for each, all the 
user-defined types name</strong></td>
+   </tr>
+   <tr>
+     <td nowrap><strong>DESCRIBE FUNCTIONS;</strong></td>
+     <td>List all existing keyspaces in the cluster and for each, all the 
functions name</td>
+   </tr>
+   <tr>
+     <td nowrap><strong>DESCRIBE AGGREGATES;</strong></td>
+     <td>List all existing keyspaces in the cluster and for each, all the 
aggregates name</td>
+   </tr>
+   <tr>
+     <td nowrap><strong>DESCRIBE MATERIALIZED VIEWS;</strong></td>
+     <td>List all existing keyspaces in the cluster and for each, all the 
materialized views name</td>
+   </tr>
+   <tr>
+     <td nowrap><strong>DESCRIBE KEYSPACE 
&lt;keyspace<em>name&gt;;</strong></td>
+     <td>Describe the given keyspace configuration and all its table details 
(name, columns, ...)</td>
+   </tr>
+   <tr>
+     <td nowrap><strong>DESCRIBE TABLE 
(&lt;keyspace</em>name&gt;).&lt;table<em>name&gt;;</strong></td>
+     <td>
+        Describe the given table. If the keyspace is not provided, the current 
logged in keyspace is used.
+        If there is no logged in keyspace, the default system keyspace is used.
+        If no table is found, an error message is raised
+     </td>
+   </tr>
+   <tr>
+     <td nowrap><strong>DESCRIBE TYPE 
(&lt;keyspace</em>name&gt;).&lt;type<em>name&gt;;</strong></td>
+     <td>
+        Describe the given type(UDT). If the keyspace is not provided, the 
current logged in keyspace is used.
+        If there is no logged in keyspace, the default system keyspace is used.
+        If no type is found, an error message is raised
+     </td>
+   </tr>
+   <tr>
+     <td nowrap><strong>DESCRIBE FUNCTION 
(&lt;keyspace</em>name&gt;).&lt;function<em>name&gt;;</strong></td>
+     <td>Describe the given function. If the keyspace is not provided, the 
current logged in keyspace is used.
+         If there is no logged in keyspace, the default system keyspace is 
used.
+         If no function is found, an error message is raised
+     </td>
+   </tr>
+   <tr>
+     <td nowrap><strong>DESCRIBE AGGREGATE 
(&lt;keyspace</em>name&gt;).&lt;aggregate<em>name&gt;;</strong></td>
+     <td>Describe the given aggregate. If the keyspace is not provided, the 
current logged in keyspace is used.
+         If there is no logged in keyspace, the default system keyspace is 
used.
+         If no aggregate is found, an error message is raised
+     </td>
+   </tr>
+   <tr>
+     <td nowrap><strong>DESCRIBE MATERIALIZED VIEW 
(&lt;keyspace</em>name&gt;).&lt;view_name&gt;;</strong></td>
+     <td>Describe the given view. If the keyspace is not provided, the current 
logged in keyspace is used.
+         If there is no logged in keyspace, the default system keyspace is 
used.
+         If no view is found, an error message is raised
+     </td>
+   </tr>
+ </table>
+</center></p>
+
+<p>The schema objects (cluster, keyspace, table, type, function and aggregate) 
are displayed in a tabular format.
+There is a drop-down menu on the top left corner to expand objects details. On 
the top right menu is shown the Icon legend.</p>
+
+<p><center>
+  <img 
src="../assets/themes/zeppelin/img/docs-img/cassandra-DescribeSchema.png" 
alt="Describe Schema">
+</center></p>
+
+<h2>Runtime Parameters</h2>
+
+<p>Sometimes you want to be able to pass runtime query parameters to your 
statements.</p>
+
+<p>Those parameters are not part of the CQL specs and are specific to the 
interpreter.</p>
+
+<p>Below is the list of all parameters:</p>
+
+<p><center>
+ <table class="table-configuration">
+   <tr>
+     <th>Parameter</th>
+     <th>Syntax</th>
+     <th>Description</th>
+   </tr>
+   <tr>
+     <td nowrap>Consistency Level</td>
+     <td><strong>@consistency=<em>value</em></strong></td>
+     <td>Apply the given consistency level to all queries in the paragraph</td>
+   </tr>
+   <tr>
+     <td nowrap>Serial Consistency Level</td>
+     <td><strong>@serialConsistency=<em>value</em></strong></td>
+     <td>Apply the given serial consistency level to all queries in the 
paragraph</td>
+   </tr>
+   <tr>
+     <td nowrap>Timestamp</td>
+     <td><strong>@timestamp=<em>long value</em></strong></td>
+     <td>
+        Apply the given timestamp to all queries in the paragraph.
+        Please note that timestamp value passed directly in CQL statement will 
override this value
+      </td>
+   </tr>
+   <tr>
+     <td nowrap>Retry Policy</td>
+     <td><strong>@retryPolicy=<em>value</em></strong></td>
+     <td>Apply the given retry policy to all queries in the paragraph</td>
+   </tr>
+   <tr>
+     <td nowrap>Fetch Size</td>
+     <td><strong>@fetchSize=<em>integer value</em></strong></td>
+     <td>Apply the given fetch size to all queries in the paragraph</td>
+   </tr>
+   <tr>
+     <td nowrap>Request Time Out</td>
+     <td><strong>@requestTimeOut=<em>integer value</em></strong></td>
+     <td>Apply the given request timeout <strong>in millisecs</strong> to all 
queries in the paragraph</td>
+   </tr><br>
+ </table>
+</center></p>
+
+<p>Some parameters only accept restricted values:</p>
+
+<p><center>
+ <table class="table-configuration">
+   <tr>
+     <th>Parameter</th>
+     <th>Possible Values</th>
+   </tr>
+   <tr>
+     <td nowrap>Consistency Level</td>
+     <td><strong>ALL, ANY, ONE, TWO, THREE, QUORUM, LOCAL<em>ONE, 
LOCAL</em>QUORUM, EACH<em>QUORUM</strong></td>
+   </tr>
+   <tr>
+     <td nowrap>Serial Consistency Level</td>
+     <td><strong>SERIAL, LOCAL</em>SERIAL</strong></td>
+   </tr>
+   <tr>
+     <td nowrap>Timestamp</td>
+     <td>Any long value</td>
+   </tr>
+   <tr>
+     <td nowrap>Retry Policy</td>
+     <td><strong>DEFAULT, DOWNGRADING<em>CONSISTENCY, FALLTHROUGH, 
LOGGING</em>DEFAULT, LOGGING<em>DOWNGRADING, 
LOGGING</em>FALLTHROUGH</strong></td>
+   </tr>
+   <tr>
+     <td nowrap>Fetch Size</td>
+     <td>Any integer value</td>
+   </tr>
+ </table>
+</center></p>
+
+<blockquote>
+<p>Please note that you should <strong>not</strong> add semi-colon ( 
<strong>;</strong> ) at the end of each parameter statement</p>
+</blockquote>
+
+<p>Some examples:</p>
+<div class="highlight"><pre><code class="sql language-sql" 
data-lang="sql"><span class="k">CREATE</span> <span class="k">TABLE</span> 
<span class="n">IF</span> <span class="k">NOT</span> <span 
class="k">EXISTS</span> <span class="n">spark_demo</span><span 
class="p">.</span><span class="n">ts</span><span class="p">(</span>
+    <span class="k">key</span> <span class="nb">int</span> <span 
class="k">PRIMARY</span> <span class="k">KEY</span><span class="p">,</span>
+    <span class="n">value</span> <span class="nb">text</span>
+<span class="p">);</span>
+<span class="k">TRUNCATE</span> <span class="n">spark_demo</span><span 
class="p">.</span><span class="n">ts</span><span class="p">;</span>
+
+<span class="o">//</span> <span class="k">Timestamp</span> <span 
class="k">in</span> <span class="n">the</span> <span class="n">past</span>
+<span class="o">@</span><span class="k">timestamp</span><span 
class="o">=</span><span class="mi">10</span>
+
+<span class="o">//</span> <span class="k">Force</span> <span 
class="k">timestamp</span> <span class="n">directly</span> <span 
class="k">in</span> <span class="n">the</span> <span class="k">first</span> 
<span class="k">insert</span>
+<span class="k">INSERT</span> <span class="k">INTO</span> <span 
class="n">spark_demo</span><span class="p">.</span><span 
class="n">ts</span><span class="p">(</span><span class="k">key</span><span 
class="p">,</span><span class="n">value</span><span class="p">)</span> <span 
class="k">VALUES</span><span class="p">(</span><span class="mi">1</span><span 
class="p">,</span><span class="s1">&#39;first insert&#39;</span><span 
class="p">)</span> <span class="k">USING</span> <span 
class="k">TIMESTAMP</span> <span class="mi">100</span><span class="p">;</span>
+
+<span class="o">//</span> <span class="k">Select</span> <span 
class="k">some</span> <span class="k">data</span> <span class="k">to</span> 
<span class="n">make</span> <span class="n">the</span> <span 
class="n">clock</span> <span class="n">turn</span>
+<span class="k">SELECT</span> <span class="o">*</span> <span 
class="k">FROM</span> <span class="n">spark_demo</span><span 
class="p">.</span><span class="n">albums</span> <span class="k">LIMIT</span> 
<span class="mi">100</span><span class="p">;</span>
+
+<span class="o">//</span> <span class="n">Now</span> <span 
class="k">insert</span> <span class="k">using</span> <span class="n">the</span> 
<span class="k">timestamp</span> <span class="k">parameter</span> <span 
class="k">set</span> <span class="k">at</span> <span class="n">the</span> <span 
class="n">beginning</span><span class="p">(</span><span 
class="mi">10</span><span class="p">)</span>
+<span class="k">INSERT</span> <span class="k">INTO</span> <span 
class="n">spark_demo</span><span class="p">.</span><span 
class="n">ts</span><span class="p">(</span><span class="k">key</span><span 
class="p">,</span><span class="n">value</span><span class="p">)</span> <span 
class="k">VALUES</span><span class="p">(</span><span class="mi">1</span><span 
class="p">,</span><span class="s1">&#39;second insert&#39;</span><span 
class="p">);</span>
+
+<span class="o">//</span> <span class="k">Check</span> <span 
class="k">for</span> <span class="n">the</span> <span 
class="k">result</span><span class="p">.</span> <span class="n">You</span> 
<span class="n">should</span> <span class="n">see</span> <span 
class="s1">&#39;first insert&#39;</span>
+<span class="k">SELECT</span> <span class="n">value</span> <span 
class="k">FROM</span> <span class="n">spark_demo</span><span 
class="p">.</span><span class="n">ts</span> <span class="k">WHERE</span> <span 
class="k">key</span><span class="o">=</span><span class="mi">1</span><span 
class="p">;</span>
+</code></pre></div>
+<p>Some remarks about query parameters:</p>
+
+<blockquote>
+<ol>
+<li><strong>many</strong> query parameters can be set in the same 
paragraph</li>
+<li>if the <strong>same</strong> query parameter is set many time with 
different values, the interpreter only take into account the first value</li>
+<li>each query parameter applies to <strong>all CQL statements</strong> in the 
same paragraph, unless you override the option using plain CQL text (like 
forcing timestamp with the USING clause)</li>
+<li>the order of each query parameter with regard to CQL statement does not 
matter</li>
+</ol>
+</blockquote>
+
+<h2>Support for Prepared Statements</h2>
+
+<p>For performance reason, it is better to prepare statements before-hand and 
reuse them later by providing bound values.</p>
+
+<p>This interpreter provides 3 commands to handle prepared and bound 
statements:</p>
+
+<ol>
+<li><strong>@prepare</strong></li>
+<li><strong>@bind</strong></li>
+<li><strong>@remove_prepared</strong></li>
+</ol>
+
+<p>Example:</p>
+<div class="highlight"><pre><code class="text language-text" 
data-lang="text">@prepare[statement-name]=...
+
+@bind[statement-name]=’text’, 1223, ’2015-07-30 12:00:01’, null, true, 
[‘list_item1’, ’list_item2’]
+
+@bind[statement-name-with-no-bound-value]
+
+@remove_prepare[statement-name]
+</code></pre></div>
+<h4>@prepare</h4>
+
+<p>You can use the syntax 
<em>&quot;@prepare[statement-name]=SELECT...&quot;</em> to create a prepared 
statement.
+The <em>statement-name</em> is <strong>mandatory</strong> because the 
interpreter prepares the given statement with the Java driver and
+saves the generated prepared statement in an <strong>internal hash 
map</strong>, using the provided <em>statement-name</em> as search key.</p>
+
+<blockquote>
+<p>Please note that this internal prepared statement map is shared with 
<strong>all notebooks</strong> and <strong>all paragraphs</strong> because
+there is only one instance of the interpreter for Cassandra</p>
+
+<p>If the interpreter encounters <strong>many</strong> @prepare for the 
<strong>same <em>statement-name</em> (key)</strong>, only the 
<strong>first</strong> statement will be taken into account.</p>
+</blockquote>
+
+<p>Example:</p>
+<div class="highlight"><pre><code class="text language-text" 
data-lang="text">@prepare[select]=SELECT * FROM spark_demo.albums LIMIT ?
+
+@prepare[select]=SELECT * FROM spark_demo.artists LIMIT ?
+</code></pre></div>
+<p>For the above example, the prepared statement is <code>SELECT * FROM 
spark_demo.albums LIMIT ?</code>.
+`SELECT * FROM spark_demo.artists LIMIT ? is ignored because an entry already 
exists in the prepared statements map with the key select.</p>
+
+<p>In the context of <strong>Zeppelin</strong>, a notebook can be scheduled to 
be executed at regular interval,
+thus it is necessary to <strong>avoid re-preparing many time the same 
statement (considered an anti-pattern)</strong>.</p>
+
+<h4>@bind</h4>
+
+<p>Once the statement is prepared (possibly in a separated 
notebook/paragraph). You can bind values to it:</p>
+<div class="highlight"><pre><code class="text language-text" 
data-lang="text">@bind[select_first]=10
+</code></pre></div>
+<p>Bound values are not mandatory for the <strong>@bind</strong> statement. 
However if you provide bound values, they need to comply to some syntax:</p>
+
+<ul>
+<li>String values should be enclosed between simple quotes ( ‘ )</li>
+<li>Date values should be enclosed between simple quotes ( ‘ ) and respect 
the formats:
+
+<ol>
+<li>yyyy-MM-dd HH:MM:ss</li>
+<li>yyyy-MM-dd HH:MM:ss.SSS</li>
+</ol></li>
+<li><strong>null</strong> is parsed as-is</li>
+<li><strong>boolean</strong> (true|false) are parsed as-is</li>
+<li>collection values must follow the <strong><a 
href="http://docs.datastax.com/en/cql/3.1/cql/cql_using/use_collections_c.html";>standard
 CQL syntax</a></strong>:
+
+<ul>
+<li>list: [‘list<em>item1’, ’list</em>item2’, ...]</li>
+<li>set: {‘set<em>item1’, ‘set</em>item2’, …}</li>
+<li>map: {‘key1’: ‘val1’, ‘key2’: ‘val2’, …}</li>
+</ul></li>
+<li><strong>tuple</strong> values should be enclosed between parenthesis (see 
<strong><a 
href="http://docs.datastax.com/en/cql/3.1/cql/cql_reference/tupleType.html";>Tuple
 CQL syntax</a></strong>): (‘text’, 123, true)</li>
+<li><strong>udt</strong> values should be enclosed between brackets (see 
<strong><a 
href="http://docs.datastax.com/en/cql/3.1/cql/cql_using/cqlUseUDT.html";>UDT CQL 
syntax</a></strong>): {stree<em>name: ‘Beverly Hills’, number: 104, 
zip</em>code: 90020, state: ‘California’, …}</li>
+</ul>
+
+<blockquote>
+<p>It is possible to use the @bind statement inside a batch:</p>
+<div class="highlight"><pre><code class="sql language-sql" 
data-lang="sql"><span class="k">BEGIN</span> <span class="n">BATCH</span>
+   <span class="o">@</span><span class="n">bind</span><span 
class="p">[</span><span class="n">insert_user</span><span 
class="p">]</span><span class="o">=</span><span 
class="s1">&#39;jdoe&#39;</span><span class="p">,</span><span 
class="s1">&#39;John DOE&#39;</span>
+   <span class="k">UPDATE</span> <span class="n">users</span> <span 
class="k">SET</span> <span class="n">age</span> <span class="o">=</span> <span 
class="mi">27</span> <span class="k">WHERE</span> <span 
class="n">login</span><span class="o">=</span><span 
class="s1">&#39;hsue&#39;</span><span class="p">;</span>
+<span class="n">APPLY</span> <span class="n">BATCH</span><span 
class="p">;</span>
+</code></pre></div></blockquote>
+
+<h4>@remove_prepare</h4>
+
+<p>To avoid for a prepared statement to stay forever in the prepared statement 
map, you can use the
+<strong>@remove_prepare[statement-name]</strong> syntax to remove it.
+Removing a non-existing prepared statement yields no error.</p>
+
+<h2>Using Dynamic Forms</h2>
+
+<p>Instead of hard-coding your CQL queries, it is possible to use <strong><a 
href="http://zeppelin.apache.org/docs/0.6.0-SNAPSHOT/manual/dynamicform.html";>Zeppelin
 dynamic form</a></strong> syntax to inject simple value or multiple choices 
forms.</p>
+
+<p>The legacy mustache syntax ( <strong>{{ }}</strong> ) to bind input text 
and select form is still supported but is deprecated and will be removed in 
future releases.</p>
+
+<blockquote>
+<p><strong>Legacy</strong>
+The syntax for simple parameter is: <strong>{{input_Label=default 
value}}</strong>. The default value is mandatory because the first time the 
paragraph is executed,
+we launch the CQL query before rendering the form so at least one value should 
be provided.</p>
+
+<p>The syntax for multiple choices parameter is: <strong>{{input_Label=value1 
| value2 | … | valueN }}</strong>. By default the first choice is used for 
CQL query
+the first time the paragraph is executed.</p>
+</blockquote>
+
+<p>Example:</p>
+<div class="highlight"><pre><code class="text language-text" 
data-lang="text">#Secondary index on performer style
+SELECT name, country, performer
+FROM spark_demo.performers
+WHERE name=&#39;${performer=Sheryl Crow|Doof|Fanfarlo|Los Paranoia}&#39;
+AND styles CONTAINS &#39;${style=Rock}&#39;;
+</code></pre></div>
+<p>In the above example, the first CQL query will be executed for 
<em>performer=&#39;Sheryl Crow&#39; AND style=&#39;Rock&#39;</em>.
+For subsequent queries, you can change the value directly using the form.</p>
+
+<blockquote>
+<p>Please note that we enclosed the <strong>${ }</strong> block between simple 
quotes ( <strong>&#39;</strong> ) because Cassandra expects a String here.
+We could have also use the <strong>${style=&#39;Rock&#39;}</strong> syntax but 
this time, the value displayed on the form is 
<strong><em>&#39;Rock&#39;</em></strong> and not 
<strong><em>Rock</em></strong>.</p>
+</blockquote>
+
+<p>It is also possible to use dynamic forms for <strong>prepared 
statements</strong>:</p>
+<div class="highlight"><pre><code class="text language-text" 
data-lang="text">@bind[select]==&#39;${performer=Sheryl Crow|Doof|Fanfarlo|Los 
Paranoia}&#39;, &#39;${style=Rock}&#39;
+</code></pre></div>
+<h2>Shared states</h2>
+
+<p>It is possible to execute many paragraphs in parallel. However, at the 
back-end side, we’re still using synchronous queries.
+<em>Asynchronous execution</em> is only possible when it is possible to return 
a <code>Future</code> value in the <code>InterpreterResult</code>.
+It may be an interesting proposal for the <strong>Zeppelin</strong> 
project.</p>
+
+<p>Recently, <strong>Zeppelin</strong> allows you to choose the level of 
isolation for your interpreters (see <strong><a 
href="http://zeppelin.apache.org/docs/0.6.0-SNAPSHOT/manual/interpreters.html";>Interpreter
 Binding Mode</a></strong> ).</p>
+
+<p>Long story short, you have 3 available bindings:</p>
+
+<ul>
+<li><strong>shared</strong> : <em>same JVM</em> and <em>same Interpreter 
instance</em> for all notes</li>
+<li><strong>scoped</strong> : <em>same JVM</em> but <em>different Interpreter 
instances</em>, one for each note</li>
+<li><strong>isolated</strong>: <em>different JVM</em> running a <em>single 
Interpreter instance</em>, one JVM for each note</li>
+</ul>
+
+<p>Using the <strong>shared</strong> binding, the same 
<code>com.datastax.driver.core.Session</code> object is used for 
<strong>all</strong> notes and paragraphs.
+Consequently, if you use the <strong>USE <em>keyspace name</em>;</strong> 
statement to log into a keyspace, it will change the keyspace for
+<strong>all current users</strong> of the <strong>Cassandra</strong> 
interpreter because we only create 1 
<code>com.datastax.driver.core.Session</code> object
+per instance of <strong>Cassandra</strong> interpreter.</p>
+
+<p>The same remark does apply to the <strong>prepared statement hash 
map</strong>, it is shared by <strong>all users</strong> using the same 
instance of <strong>Cassandra</strong> interpreter.</p>
+
+<p>When using <strong>scoped</strong> binding, in the <em>same JVM</em> 
<strong>Zeppelin</strong> will create multiple instances of the Cassandra 
interpreter, thus 
+multiple <code>com.datastax.driver.core.Session</code> objects. <strong>Beware 
of resource and memory usage using this binding !</strong> </p>
+
+<p>The <strong>isolated</strong> mode is the most extreme and will create as 
many JVM/<code>com.datastax.driver.core.Session</code> object as there are 
distinct notes.</p>
+
+<h2>Interpreter Configuration</h2>
+
+<p>To configure the <strong>Cassandra</strong> interpreter, go to the 
<strong>Interpreter</strong> menu and scroll down to change the parameters.
+The <strong>Cassandra</strong> interpreter is using the official <strong><a 
href="https://github.com/datastax/java-driver";>Cassandra Java 
Driver</a></strong> and most of the parameters are used
+to configure the Java driver</p>
+
+<p>Below are the configuration parameters and their default value.</p>
+
+<p><table class="table-configuration">
+   <tr>
+     <th>Property Name</th>
+     <th>Description</th>
+     <th>Default Value</th>
+   </tr>
+   <tr>
+     <td>cassandra.cluster</td>
+     <td>Name of the Cassandra cluster to connect to</td>
+     <td>Test Cluster</td>
+   </tr>
+   <tr>
+     <td>cassandra.compression.protocol</td>
+     <td>On wire compression. Possible values are: NONE, SNAPPY, LZ4</td>
+     <td>NONE</td>
+   </tr>
+   <tr>
+     <td>cassandra.credentials.username</td>
+     <td>If security is enable, provide the login</td>
+     <td>none</td>
+   </tr>
+   <tr>
+     <td>cassandra.credentials.password</td>
+     <td>If security is enable, provide the password</td>
+     <td>none</td>
+   </tr>
+   <tr>
+     <td>cassandra.hosts</td>
+     <td>
+        Comma separated Cassandra hosts (DNS name or IP address).
+        <br/>
+        Ex: &#39;192.168.0.12,node2,node3&#39;
+      </td>
+     <td>localhost</td>
+   </tr>
+   <tr>
+     <td>cassandra.interpreter.parallelism</td>
+     <td>Number of concurrent paragraphs(queries block) that can be 
executed</td>
+     <td>10</td>
+   </tr>
+   <tr>
+     <td>cassandra.keyspace</td>
+     <td>
+        Default keyspace to connect to.
+        <strong>
+          It is strongly recommended to let the default value
+          and prefix the table name with the actual keyspace
+          in all of your queries
+        </strong>
+     </td>
+     <td>system</td>
+   </tr>
+   <tr>
+     <td>cassandra.load.balancing.policy</td>
+     <td>
+        Load balancing policy. Default = <em>new TokenAwarePolicy(new 
DCAwareRoundRobinPolicy())</em>
+        To Specify your own policy, provide the <strong>fully qualify class 
name (FQCN)</strong> of your policy.
+        At runtime the interpreter will instantiate the policy using
+        <strong>Class.forName(FQCN)</strong>
+     </td>
+     <td>DEFAULT</td>
+   </tr>
+   <tr>
+     <td>cassandra.max.schema.agreement.wait.second</td>
+     <td>Cassandra max schema agreement wait in second</td>
+     <td>10</td>
+   </tr>
+   <tr>
+     <td>cassandra.pooling.core.connection.per.host.local</td>
+     <td>Protocol V2 and below default = 2. Protocol V3 and above default = 
1</td>
+     <td>2</td>
+   </tr>
+   <tr>
+     <td>cassandra.pooling.core.connection.per.host.remote</td>
+     <td>Protocol V2 and below default = 1. Protocol V3 and above default = 
1</td>
+     <td>1</td>
+   </tr>
+   <tr>
+     <td>cassandra.pooling.heartbeat.interval.seconds</td>
+     <td>Cassandra pool heartbeat interval in secs</td>
+     <td>30</td>
+   </tr>
+   <tr>
+     <td>cassandra.pooling.idle.timeout.seconds</td>
+     <td>Cassandra idle time out in seconds</td>
+     <td>120</td>
+   </tr>
+   <tr>
+     <td>cassandra.pooling.max.connection.per.host.local</td>
+     <td>Protocol V2 and below default = 8. Protocol V3 and above default = 
1</td>
+     <td>8</td>
+   </tr>
+   <tr>
+     <td>cassandra.pooling.max.connection.per.host.remote</td>
+     <td>Protocol V2 and below default = 2. Protocol V3 and above default = 
1</td>
+     <td>2</td>
+   </tr>
+   <tr>
+     <td>cassandra.pooling.max.request.per.connection.local</td>
+     <td>Protocol V2 and below default = 128. Protocol V3 and above default = 
1024</td>
+     <td>128</td>
+   </tr>
+   <tr>
+     <td>cassandra.pooling.max.request.per.connection.remote</td>
+     <td>Protocol V2 and below default = 128. Protocol V3 and above default = 
256</td>
+     <td>128</td>
+   </tr>
+   <tr>
+     <td>cassandra.pooling.new.connection.threshold.local</td>
+     <td>Protocol V2 and below default = 100. Protocol V3 and above default = 
800</td>
+     <td>100</td>
+   </tr>
+   <tr>
+     <td>cassandra.pooling.new.connection.threshold.remote</td>
+     <td>Protocol V2 and below default = 100. Protocol V3 and above default = 
200</td>
+     <td>100</td>
+   </tr>
+   <tr>
+     <td>cassandra.pooling.pool.timeout.millisecs</td>
+     <td>Cassandra pool time out in millisecs</td>
+     <td>5000</td>
+   </tr>
+   <tr>
+     <td>cassandra.protocol.version</td>
+     <td>Cassandra binary protocol version</td>
+     <td>4</td>
+   </tr>
+   <tr>
+     <td>cassandra.query.default.consistency</td>
+     <td>
+      Cassandra query default consistency level
+      <br/>
+      Available values: ONE, TWO, THREE, QUORUM, LOCAL<em>ONE, 
LOCAL</em>QUORUM, EACH<em>QUORUM, ALL
+     </td>
+     <td>ONE</td>
+   </tr>
+   <tr>
+     <td>cassandra.query.default.fetchSize</td>
+     <td>Cassandra query default fetch size</td>
+     <td>5000</td>
+   </tr>
+   <tr>
+     <td>cassandra.query.default.serial.consistency</td>
+     <td>
+      Cassandra query default serial consistency level
+      <br/>
+      Available values: SERIAL, LOCAL</em>SERIAL
+     </td>
+     <td>SERIAL</td>
+   </tr>
+   <tr>
+     <td>cassandra.reconnection.policy</td>
+     <td>
+        Cassandra Reconnection Policy.
+        Default = new ExponentialReconnectionPolicy(1000, 10 * 60 * 1000)
+        To Specify your own policy, provide the <strong>fully qualify class 
name (FQCN)</strong> of your policy.
+        At runtime the interpreter will instantiate the policy using
+        <strong>Class.forName(FQCN)</strong>
+     </td>
+     <td>DEFAULT</td>
+   </tr>
+   <tr>
+     <td>cassandra.retry.policy</td>
+     <td>
+        Cassandra Retry Policy.
+        Default = DefaultRetryPolicy.INSTANCE
+        To Specify your own policy, provide the <strong>fully qualify class 
name (FQCN)</strong> of your policy.
+        At runtime the interpreter will instantiate the policy using
+        <strong>Class.forName(FQCN)</strong>
+     </td>
+     <td>DEFAULT</td>
+   </tr>
+   <tr>
+     <td>cassandra.socket.connection.timeout.millisecs</td>
+     <td>Cassandra socket default connection timeout in millisecs</td>
+     <td>500</td>
+   </tr>
+   <tr>
+     <td>cassandra.socket.read.timeout.millisecs</td>
+     <td>Cassandra socket read timeout in millisecs</td>
+     <td>12000</td>
+   </tr>
+   <tr>
+     <td>cassandra.socket.tcp.no_delay</td>
+     <td>Cassandra socket TCP no delay</td>
+     <td>true</td>
+   </tr>
+   <tr>
+     <td>cassandra.speculative.execution.policy</td>
+     <td>
+        Cassandra Speculative Execution Policy.
+        Default = NoSpeculativeExecutionPolicy.INSTANCE
+        To Specify your own policy, provide the <strong>fully qualify class 
name (FQCN)</strong> of your policy.
+        At runtime the interpreter will instantiate the policy using
+        <strong>Class.forName(FQCN)</strong>
+     </td>
+     <td>DEFAULT</td>
+   </tr>
+ </table></p>
+
+<h2>Change Log</h2>
+
+<p><strong>3.0</strong> <em>(Zeppelin 0.6.2)</em> :</p>
+
+<ul>
+<li>Update documentation</li>
+<li>Update interactive documentation</li>
+<li>Add support for binary protocol <strong>V4</strong></li>
+<li>Implement new <code>@requestTimeOut</code> runtime option</li>
+<li>Upgrade Java driver version to <strong>3.0.1</strong></li>
+<li>Allow interpreter to add dynamic forms programmatically when using 
FormType.SIMPLE</li>
+<li>Allow dynamic form using default Zeppelin syntax</li>
+<li>Fixing typo on FallThroughPolicy</li>
+<li>Look for data in AngularObjectRegistry before creating dynamic form</li>
+<li>Add missing support for <code>ALTER</code> statements</li>
+</ul>
+
+<p><strong>2.0</strong> <em>(Zeppelin 0.6.2)</em> :</p>
+
+<ul>
+<li>Update help menu and add changelog</li>
+<li>Add Support for <strong>User Defined Functions</strong>, <strong>User 
Defined Aggregates</strong> and <strong>Materialized Views</strong></li>
+<li>Upgrade Java driver version to <strong>3.0.0-rc1</strong></li>
+</ul>
+
+<p><strong>1.0</strong> <em>(Zeppelin 0.5.5-incubating)</em> :</p>
+
+<ul>
+<li>Initial version</li>
+</ul>
+
+<h2>Bugs &amp; Contacts</h2>
+
+<p>If you encounter a bug for this interpreter, please create a <strong><a 
href="https://issues.apache.org/jira/browse/ZEPPELIN-382?jql=project%20%3D%20ZEPPELIN";>JIRA</a></strong>
 ticket and ping me on Twitter
+ at <strong><a 
href="https://twitter.com/doanduyhai";>@doanduyhai</a></strong></p>
+
+  </div>
+</div>
+
+
+      <hr>
+      <footer>
+        <!-- <p>&copy; 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.2/interpreter/cassandra.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: zeppelin/site/docs/0.6.2/interpreter/elasticsearch.html
URL: 
http://svn.apache.org/viewvc/zeppelin/site/docs/0.6.2/interpreter/elasticsearch.html?rev=1765205&view=auto
==============================================================================
--- zeppelin/site/docs/0.6.2/interpreter/elasticsearch.html (added)
+++ zeppelin/site/docs/0.6.2/interpreter/elasticsearch.html Mon Oct 17 04:13:33 
2016
@@ -0,0 +1,444 @@
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <title>Elasticsearch 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.2/assets/themes/zeppelin/bootstrap/css/bootstrap.css" 
rel="stylesheet">
+    <link href="/docs/0.6.2/assets/themes/zeppelin/css/style.css?body=1" 
rel="stylesheet" type="text/css">
+    <link href="/docs/0.6.2/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.2/assets/themes/zeppelin/bootstrap/js/bootstrap.min.js"></script>
+    <script src="/docs/0.6.2/assets/themes/zeppelin/js/docs.js"></script>
+    <script src="/docs/0.6.2/assets/themes/zeppelin/js/anchor.min.js"></script>
+    <script src="/docs/0.6.2/assets/themes/zeppelin/js/toc.js"></script>
+
+    <!-- atom & rss feed -->
+    <link href="/docs/0.6.2/atom.xml" type="application/atom+xml" 
rel="alternate" title="Sitewide ATOM Feed">
+    <link href="/docs/0.6.2/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.2">
+            <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.2</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.2/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.2/install/install.html">Install</a></li>
+                <li><a 
href="/docs/0.6.2/install/install.html#apache-zeppelin-configuration">Configuration</a></li>
+                <li><a 
href="/docs/0.6.2/quickstart/explorezeppelinui.html">Explore Zeppelin 
UI</a></li>
+                <li><a 
href="/docs/0.6.2/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.2/manual/dynamicform.html">Dynamic 
Form</a></li>
+                <li><a href="/docs/0.6.2/manual/publish.html">Publish your 
Paragraph</a></li>
+                <li><a 
href="/docs/0.6.2/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.2/install/virtual_machine.html">Zeppelin on Vagrant VM</a></li>
+                <li><a href="/docs/0.6.2/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.2/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.2/manual/interpreterinstallation.html">Interpreter 
Installation</a></li>
+                <!--<li><a 
href="/docs/0.6.2/manual/dynamicinterpreterload.html">Dynamic Interpreter 
Loading</a></li>-->
+                <li><a 
href="/docs/0.6.2/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.2/interpreter/alluxio.html">Alluxio</a></li>
+                <li><a 
href="/docs/0.6.2/interpreter/bigquery.html">BigQuery</a></li>
+                <li><a 
href="/docs/0.6.2/interpreter/cassandra.html">Cassandra</a></li>
+                <li><a 
href="/docs/0.6.2/interpreter/elasticsearch.html">Elasticsearch</a></li>
+                <li><a href="/docs/0.6.2/interpreter/flink.html">Flink</a></li>
+                <li><a href="/docs/0.6.2/interpreter/geode.html">Geode</a></li>
+                <li><a href="/docs/0.6.2/interpreter/hbase.html">HBase</a></li>
+                <li><a href="/docs/0.6.2/interpreter/hdfs.html">HDFS</a></li>
+                <li><a href="/docs/0.6.2/interpreter/hive.html">Hive</a></li>
+                <li><a 
href="/docs/0.6.2/interpreter/ignite.html">Ignite</a></li>
+                <li><a href="/docs/0.6.2/interpreter/jdbc.html">JDBC</a></li>
+                <li><a href="/docs/0.6.2/interpreter/lens.html">Lens</a></li>
+                <li><a href="/docs/0.6.2/interpreter/livy.html">Livy</a></li>
+                <li><a 
href="/docs/0.6.2/interpreter/markdown.html">Markdown</a></li>
+                <li><a 
href="/docs/0.6.2/interpreter/python.html">Python</a></li>
+                <li><a 
href="/docs/0.6.2/interpreter/postgresql.html">Postgresql, HAWQ</a></li>
+                <li><a href="/docs/0.6.2/interpreter/r.html">R</a></li>
+                <li><a 
href="/docs/0.6.2/interpreter/scalding.html">Scalding</a></li>
+                <li><a href="/docs/0.6.2/pleasecontribute.html">Shell</a></li>
+                <li><a href="/docs/0.6.2/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.2/displaysystem/basicdisplaysystem.html#text">Text</a></li>
+                <li><a 
href="/docs/0.6.2/displaysystem/basicdisplaysystem.html#html">Html</a></li>
+                <li><a 
href="/docs/0.6.2/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.2/displaysystem/back-end-angular.html">Angular (backend 
API)</a></li>
+                <li><a 
href="/docs/0.6.2/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.2/storage/storage.html#notebook-storage-in-local-git-repository">Git
 Storage</a></li>
+                <li><a 
href="/docs/0.6.2/storage/storage.html#notebook-storage-in-s3">S3 
Storage</a></li>
+                <li><a 
href="/docs/0.6.2/storage/storage.html#notebook-storage-in-azure">Azure 
Storage</a></li>
+                <li><a 
href="/docs/0.6.2/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.2/rest-api/rest-interpreter.html">Interpreter API</a></li>
+                <li><a href="/docs/0.6.2/rest-api/rest-notebook.html">Notebook 
API</a></li>
+                <li><a 
href="/docs/0.6.2/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.2/security/authentication.html">Authentication for 
NGINX</a></li>
+                <li><a 
href="/docs/0.6.2/security/shiroauthentication.html">Shiro 
Authentication</a></li>
+                <li><a 
href="/docs/0.6.2/security/notebook_authorization.html">Notebook 
Authorization</a></li>
+                <li><a 
href="/docs/0.6.2/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.2/development/writingzeppelininterpreter.html">Writing Zeppelin 
Interpreter</a></li>
+                <li><a href="/docs/0.6.2/development/howtocontribute.html">How 
to contribute (code)</a></li>
+                <li><a 
href="/docs/0.6.2/development/howtocontributewebsite.html">How to contribute 
(website)</a></li>
+              </ul>
+            </li>
+          </ul>
+        </nav><!--/.navbar-collapse -->
+      </div>
+    </div>
+    
+
+
+    <div class="content">
+      
+<!--<div class="hero-unit Elasticsearch Interpreter">
+  <h1></h1>
+</div>
+-->
+
+<div class="row">
+  <div class="col-md-12">
+    <h1>Elasticsearch Interpreter for Apache Zeppelin</h1>
+
+<div id="toc"></div>
+
+<h2>Overview</h2>
+
+<p><a href="https://www.elastic.co/products/elasticsearch";>Elasticsearch</a> 
is a highly scalable open-source full-text search and analytics engine. It 
allows you to store, search, and analyze big volumes of data quickly and in 
near real time. It is generally used as the underlying engine/technology that 
powers applications that have complex search features and requirements.</p>
+
+<h2>Configuration</h2>
+
+<table class="table-configuration">
+  <tr>
+    <th>Property</th>
+    <th>Default</th>
+    <th>Description</th>
+  </tr>
+  <tr>
+    <td>elasticsearch.cluster.name</td>
+    <td>elasticsearch</td>
+    <td>Cluster name</td>
+  </tr>
+  <tr>
+    <td>elasticsearch.host</td>
+    <td>localhost</td>
+    <td>Host of a node in the cluster</td>
+  </tr>
+  <tr>
+    <td>elasticsearch.port</td>
+    <td>9300</td>
+    <td>Connection port <b>( Important: this is not the HTTP port, but the 
transport port )</b></td>
+  </tr>
+  <tr>
+    <td>elasticsearch.result.size</td>
+    <td>10</td>
+    <td>The size of the result set of a search query</td>
+  </tr>
+</table>
+
+<p><center>
+  <img src="../assets/themes/zeppelin/img/docs-img/elasticsearch-config.png" 
alt="Interpreter configuration">
+</center></p>
+
+<blockquote>
+<p><strong>Note #1 :</strong> You can add more properties to configure the 
Elasticsearch client.</p>
+
+<p><strong>Note #2 :</strong> If you use Shield, you can add a property named 
<code>shield.user</code> with a value containing the name and the password ( 
format: <code>username:password</code> ). For more details about Shield 
configuration, consult the <a 
href="https://www.elastic.co/guide/en/shield/current/_using_elasticsearch_java_clients_with_shield.html";>Shield
 reference guide</a>. Do not forget, to copy the shield client jar in the 
interpreter directory 
(<code>ZEPPELIN_HOME/interpreters/elasticsearch</code>).</p>
+</blockquote>
+
+<h2>Enabling the Elasticsearch Interpreter</h2>
+
+<p>In a notebook, to enable the <strong>Elasticsearch</strong> interpreter, 
click the <strong>Gear</strong> icon and select 
<strong>Elasticsearch</strong>.</p>
+
+<h2>Using the Elasticsearch Interpreter</h2>
+
+<p>In a paragraph, use <code>%elasticsearch</code> to select the Elasticsearch 
interpreter and then input all commands. To get the list of available commands, 
use <code>help</code>.</p>
+<div class="highlight"><pre><code class="bash language-bash" 
data-lang="bash">%elasticsearch
+<span class="nb">help</span>
+
+Elasticsearch interpreter:
+General format: &lt;<span class="nb">command</span>&gt; 
/&lt;indices&gt;/&lt;types&gt;/&lt;id&gt; &lt;option&gt; &lt;JSON&gt;
+  - indices: list of indices separated by commas <span 
class="o">(</span>depends on the <span class="nb">command</span><span 
class="o">)</span>
+  - types: list of document types separated by commas <span 
class="o">(</span>depends on the <span class="nb">command</span><span 
class="o">)</span>
+Commands:
+  - search /indices/types &lt;query&gt;
+    . indices and types can be omitted <span class="o">(</span>at least, you 
have to provide <span class="s1">&#39;/&#39;</span><span class="o">)</span>
+    . a query is either a JSON-formatted query, nor a lucene query
+  - size &lt;value&gt;
+    . defines the size of the result <span class="nb">set</span> <span 
class="o">(</span>default value is in the config<span class="o">)</span>
+    . <span class="k">if </span>used, this <span class="nb">command 
</span>must be declared before a search <span class="nb">command</span>
+  - count /indices/types &lt;query&gt;
+    . same comments as <span class="k">for </span>the search
+  - get /index/type/id
+  - delete /index/type/id
+  - index /index/type/id &lt;json-formatted document&gt;
+    . the id can be omitted, elasticsearch will generate one
+</code></pre></div>
+<blockquote>
+<p><strong>Tip :</strong> Use ( Ctrl + . ) for autocompletion.</p>
+</blockquote>
+
+<h3>Get</h3>
+
+<p>With the <code>get</code> command, you can find a document by id. The 
result is a JSON document.</p>
+<div class="highlight"><pre><code class="bash language-bash" 
data-lang="bash">%elasticsearch
+get /index/type/id
+</code></pre></div>
+<p>Example:
+<img src="../assets/themes/zeppelin/img/docs-img/elasticsearch-get.png" 
alt="Elasticsearch - Get"></p>
+
+<h3>Search</h3>
+
+<p>With the <code>search</code> command, you can send a search query to 
Elasticsearch. There are two formats of query:</p>
+
+<ul>
+<li>You can provide a JSON-formatted query, that is exactly what you provide 
when you use the REST API of Elasticsearch.<br>
+
+<ul>
+<li>See <a 
href="https://www.elastic.co/guide/en/elasticsearch/reference/current/search.html";>Elasticsearch
 search API reference document</a> for more details about the content of the 
search queries.</li>
+</ul></li>
+<li>You can also provide the content of a <code>query_string</code>.
+
+<ul>
+<li>This is a shortcut to a query like that: <code>{ &quot;query&quot;: { 
&quot;query_string&quot;: { &quot;query&quot;: &quot;__HERE YOUR QUERY__&quot;, 
&quot;analyze_wildcard&quot;: true } } }</code></li>
+<li>See <a 
href="https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html#query-string-syntax";>Elasticsearch
 query string syntax</a> for more details about the content of such a 
query.</li>
+</ul></li>
+</ul>
+<div class="highlight"><pre><code class="bash language-bash" 
data-lang="bash">%elasticsearch
+search /index1,index2,.../type1,type2,...  &lt;JSON document containing the 
query or query_string elements&gt;
+</code></pre></div>
+<p>If you want to modify the size of the result set, you can add a line that 
is setting the size, before your search command.</p>
+<div class="highlight"><pre><code class="bash language-bash" 
data-lang="bash">%elasticsearch
+size 50
+search /index1,index2,.../type1,type2,...  &lt;JSON document containing the 
query or query_string elements&gt;
+</code></pre></div>
+<blockquote>
+<p>A search query can also contain <a 
href="https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations.html";>aggregations</a>.
 If there is at least one aggregation, the result of the first aggregation is 
shown, otherwise, you get the search hits.</p>
+</blockquote>
+
+<p>Examples:</p>
+
+<ul>
+<li><p>With a JSON query:</p>
+<div class="highlight"><pre><code class="bash language-bash" 
data-lang="bash">%elasticsearch
+search / <span class="o">{</span> <span class="s2">&quot;query&quot;</span>: 
<span class="o">{</span> <span class="s2">&quot;match_all&quot;</span>: <span 
class="o">{</span> <span class="o">}</span> <span class="o">}</span> <span 
class="o">}</span>
+
+%elasticsearch
+search /logs <span class="o">{</span> <span 
class="s2">&quot;query&quot;</span>: <span class="o">{</span> <span 
class="s2">&quot;query_string&quot;</span>: <span class="o">{</span> <span 
class="s2">&quot;query&quot;</span>: <span class="s2">&quot;request.method:GET 
AND status:200&quot;</span> <span class="o">}</span> <span class="o">}</span> 
<span class="o">}</span>
+
+%elasticsearch
+search /logs <span class="o">{</span> <span 
class="s2">&quot;aggs&quot;</span>: <span class="o">{</span>
+<span class="s2">&quot;content_length_stats&quot;</span>: <span 
class="o">{</span>
+  <span class="s2">&quot;extended_stats&quot;</span>: <span class="o">{</span>
+    <span class="s2">&quot;field&quot;</span>: <span 
class="s2">&quot;content_length&quot;</span>
+  <span class="o">}</span>
+<span class="o">}</span>
+<span class="o">}</span> <span class="o">}</span>
+</code></pre></div></li>
+<li><p>With query_string elements:</p>
+<div class="highlight"><pre><code class="bash language-bash" 
data-lang="bash">%elasticsearch
+search /logs request.method:GET AND status:200
+
+%elasticsearch
+search /logs <span class="o">(</span>404 AND <span class="o">(</span>POST OR 
DELETE<span class="o">))</span>
+</code></pre></div></li>
+</ul>
+
+<blockquote>
+<p><strong>Important</strong> : a document in Elasticsearch is a JSON 
document, so it is hierarchical, not flat as a row in a SQL table.
+For the Elastic interpreter, the result of a search query is flattened.</p>
+</blockquote>
+
+<p>Suppose we have a JSON document:</p>
+<div class="highlight"><pre><code class="text language-text" data-lang="text">{
+  &quot;date&quot;: &quot;2015-12-08T21:03:13.588Z&quot;,
+  &quot;request&quot;: {
+    &quot;method&quot;: &quot;GET&quot;,
+    &quot;url&quot;: 
&quot;/zeppelin/4cd001cd-c517-4fa9-b8e5-a06b8f4056c4&quot;,
+    &quot;headers&quot;: [ &quot;Accept: *.*&quot;, &quot;Host: 
apache.org&quot;]
+  },
+  &quot;status&quot;: &quot;403&quot;,
+  &quot;content_length&quot;: 1234
+}
+</code></pre></div>
+<p>The data will be flattened like this:</p>
+
+<table><thead>
+<tr>
+<th>content_length</th>
+<th>date</th>
+<th>request.headers[0]</th>
+<th>request.headers[1]</th>
+<th>request.method</th>
+<th>request.url</th>
+<th>status</th>
+</tr>
+</thead><tbody>
+<tr>
+<td>1234</td>
+<td>2015-12-08T21:03:13.588Z</td>
+<td>Accept: *.*</td>
+<td>Host: apache.org</td>
+<td>GET</td>
+<td>/zeppelin/4cd001cd-c517-4fa9-b8e5-a06b8f4056c4</td>
+<td>403</td>
+</tr>
+</tbody></table>
+
+<p>Examples:</p>
+
+<ul>
+<li><p>With a table containing the results:
+<img 
src="../assets/themes/zeppelin/img/docs-img/elasticsearch-search-table.png" 
alt="Elasticsearch - Search - table"></p></li>
+<li><p>You can also use a predefined diagram:
+<img src="../assets/themes/zeppelin/img/docs-img/elasticsearch-search-pie.png" 
alt="Elasticsearch - Search - diagram"></p></li>
+<li><p>With a JSON query:
+<img 
src="../assets/themes/zeppelin/img/docs-img/elasticsearch-search-json-query-table.png"
 alt="Elasticsearch - Search with query"></p></li>
+<li><p>With a JSON query containing a <code>fields</code> parameter (for 
filtering the fields in the response): in this case, all the fields values in 
the response are arrays, so, after flattening the result, the format of all the 
field names is <code>field_name[x]</code>
+<img 
src="../assets/themes/zeppelin/img/docs-img/elasticsearch-query-with-fields-param.png"
 alt="Elasticsearch - Search with query and a fields param"></p></li>
+<li><p>With a query string:
+<img 
src="../assets/themes/zeppelin/img/docs-img/elasticsearch-query-string.png" 
alt="Elasticsearch - Search with query string"></p></li>
+<li><p>With a query containing a multi-value metric aggregation:
+<img 
src="../assets/themes/zeppelin/img/docs-img/elasticsearch-agg-multi-value-metric.png"
 alt="Elasticsearch - Search with aggregation (multi-value metric)"></p></li>
+<li><p>With a query containing a multi-bucket aggregation:
+<img 
src="../assets/themes/zeppelin/img/docs-img/elasticsearch-agg-multi-bucket-pie.png"
 alt="Elasticsearch - Search with aggregation (multi-bucket)"></p></li>
+</ul>
+
+<h3>Count</h3>
+
+<p>With the <code>count</code> command, you can count documents available in 
some indices and types. You can also provide a query.</p>
+<div class="highlight"><pre><code class="bash language-bash" 
data-lang="bash">%elasticsearch
+count /index1,index2,.../type1,type2,... &lt;JSON document containing the 
query OR a query string&gt;
+</code></pre></div>
+<p>Examples:</p>
+
+<ul>
+<li><p>Without query:
+<img src="../assets/themes/zeppelin/img/docs-img/elasticsearch-count.png" 
alt="Elasticsearch - Count"></p></li>
+<li><p>With a query:
+<img 
src="../assets/themes/zeppelin/img/docs-img/elasticsearch-count-with-query.png" 
alt="Elasticsearch - Count with query"></p></li>
+</ul>
+
+<h3>Index</h3>
+
+<p>With the <code>index</code> command, you can insert/update a document in 
Elasticsearch.</p>
+<div class="highlight"><pre><code class="bash language-bash" 
data-lang="bash">%elasticsearch
+index /index/type/id &lt;JSON document&gt;
+
+%elasticsearch
+index /index/type &lt;JSON document&gt;
+</code></pre></div>
+<h3>Delete</h3>
+
+<p>With the <code>delete</code> command, you can delete a document.</p>
+<div class="highlight"><pre><code class="bash language-bash" 
data-lang="bash">%elasticsearch
+delete /index/type/id
+</code></pre></div>
+<h3>Apply Zeppelin Dynamic Forms</h3>
+
+<p>You can leverage <a href="/docs/0.6.2/manual/dynamicform.html">Zeppelin 
Dynamic Form</a> inside your queries. You can use both the <code>text 
input</code> and <code>select form</code> parameterization features.</p>
+<div class="highlight"><pre><code class="bash language-bash" 
data-lang="bash">%elasticsearch
+size <span class="k">${</span><span class="nv">limit</span><span 
class="p">=10</span><span class="k">}</span>
+search /index/type <span class="o">{</span> <span 
class="s2">&quot;query&quot;</span>: <span class="o">{</span> <span 
class="s2">&quot;match_all&quot;</span>: <span class="o">{</span> <span 
class="o">}</span> <span class="o">}</span> <span class="o">}</span>
+</code></pre></div>
+  </div>
+</div>
+
+
+      <hr>
+      <footer>
+        <!-- <p>&copy; 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.2/interpreter/elasticsearch.html
------------------------------------------------------------------------------
    svn:eol-style = native


Reply via email to