You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@drill.apache.org by ts...@apache.org on 2015/01/15 06:11:48 UTC

svn commit: r1651949 [5/13] - in /drill/site/trunk/content/drill: ./ blog/2014/11/19/sql-on-mongodb/ blog/2014/12/02/drill-top-level-project/ blog/2014/12/09/running-sql-queries-on-amazon-s3/ blog/2014/12/11/apache-drill-qa-panelist-spotlight/ blog/201...

Added: drill/site/trunk/content/drill/docs/explain-commands/index.html
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/explain-commands/index.html?rev=1651949&view=auto
==============================================================================
--- drill/site/trunk/content/drill/docs/explain-commands/index.html (added)
+++ drill/site/trunk/content/drill/docs/explain-commands/index.html Thu Jan 15 05:11:44 2015
@@ -0,0 +1,244 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+
+<meta charset="UTF-8">
+
+
+<title>EXPLAIN commands - Apache Drill</title>
+
+<link href="/css/syntax.css" rel="stylesheet" type="text/css">
+<link href="/css/style.css" rel="stylesheet" type="text/css">
+<link href="/css/arrows.css" rel="stylesheet" type="text/css">
+<link href="/css/button.css" rel="stylesheet" type="text/css">
+
+<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
+<link rel="icon" href="/favicon.ico" type="image/x-icon">
+
+<script language="javascript" type="text/javascript" src="/js/lib/jquery-1.11.1.min.js"></script>
+<script language="javascript" type="text/javascript" src="/js/lib/jquery.easing.1.3.js"></script>
+<script language="javascript" type="text/javascript" src="/js/modernizr.custom.js"></script>
+<script language="javascript" type="text/javascript" src="/js/script.js"></script>
+
+</head>
+
+<body onResize="resized();">
+
+<div class="bui"></div>
+
+<div id="search">
+<input type="text" placeholder="Enter search term here">
+</div>
+
+<div id="menu" class="mw">
+<ul>
+  <li class="logo"><a href="/"></a></li>
+  <li>
+    <a href="/overview/">Documentation</a>
+    <ul>
+      <li><a href="/overview/">Overview&nbsp;&nbsp;&nbsp;&nbsp;</a></li>
+      <li><a href="https://cwiki.apache.org/confluence/display/DRILL/Apache+Drill+in+10+Minutes" target="_blank">Drill in 10 Minutes</a></li>
+      <li><a href="/why/">Why Drill? &nbsp;&nbsp;&nbsp;&nbsp;</a></li>
+      <li><a href="/architecture/">Architecture</a></li>
+    </ul>
+  </li>
+  <li>
+    <a href="/community/">Community</a>
+    <ul>
+      <li><a href="/team/">Team</a></li>
+      <li><a href="/community/#events">Events and Meetups</a></li>
+      <li><a href="/community/#mailinglists">Mailing Lists</a></li>
+      <li><a href="/community/#getinvolved">Get Involved</a></li>
+      <li><a href="https://issues.apache.org/jira/browse/DRILL/" target="_blank">Issue Tracker</a></li>
+      <li><a href="https://github.com/apache/drill" target="_blank">GitHub</a></li>
+    </ul>
+  </li>
+  <li><a href="/faq/">FAQ</a></li>
+  <li><a href="/blog/">Blog</a></li>
+  <li style="width:30px; padding-left: 2px; padding-right:10px"><a href="https://twitter.com/apachedrill" target="_blank"><img src="/images/twitterbw.png" alt="" align="center" width="22" style="padding: 0px 10px 1px 0px;"></a> </li>
+  <li class="l"><span>&nbsp;</span></li>
+  <li class="d"><a href="/download/">Download</a></li>
+</ul>
+</div>
+
+<div class="int_title">
+<h1>EXPLAIN commands</h1>
+
+</div>
+
+<div class="int_text" align="left"><p>EXPLAIN is a useful tool for examining the steps that a query goes through
+when it is executed. You can use the EXPLAIN output to gain a deeper
+understanding of the parallel processing that Drill queries exploit. You can
+also look at costing information, troubleshoot performance issues, and
+diagnose routine errors that may occur when you run queries.</p>
+
+<p>Drill provides two variations on the EXPLAIN command, one that returns the
+physical plan and one that returns the logical plan. A logical plan takes the
+SQL query (as written by the user and accepted by the parser) and translates
+it into a logical series of operations that correspond to SQL language
+constructs (without defining the specific algorithms that will be implemented
+to run the query). A physical plan translates the logical plan into a specific
+series of steps that will be used when the query runs. For example, a logical
+plan may indicate a join step in general and classify it as inner or outer,
+but the corresponding physical plan will indicate the specific type of join
+operator that will run, such as a merge join or a hash join. The physical plan
+is operational and reveals the specific <em>access methods</em> that will be used for
+the query.</p>
+
+<p>An EXPLAIN command for a query that is run repeatedly under the exact same
+conditions against the same data will return the same plan. However, if you
+change a configuration option, for example, or update the tables or files that
+you are selecting from, you are likely to see plan changes.</p>
+
+<h1 id="explain-syntax">EXPLAIN Syntax</h1>
+
+<p>The EXPLAIN command supports the following syntax:</p>
+<div class="highlight"><pre><code class="language-text" data-lang="text">explain plan [ including all attributes ] [ with implementation | without implementation ] for &lt;query&gt; ;
+</code></pre></div>
+<p>where <code>query</code> is any valid SELECT statement supported by Drill.</p>
+
+<h5 id="including-all-attributes">INCLUDING ALL ATTRIBUTES</h5>
+
+<p>This option returns costing information. You can use this option for both
+physical and logical plans.</p>
+
+<h4 id="with-implementation-|-without-implementation">WITH IMPLEMENTATION | WITHOUT IMPLEMENTATION</h4>
+
+<p>These options return the physical and logical plan information, respectively.
+The default is physical (WITH IMPLEMENTATION).</p>
+
+<h1 id="explain-for-physical-plans">EXPLAIN for Physical Plans</h1>
+
+<p>The EXPLAIN PLAN FOR <query> command returns the chosen physical execution
+plan for a query statement without running the query. You can use this command
+to see what kind of execution operators Drill implements. For example, you can
+find out what kind of join algorithm is chosen when tables or files are
+joined. You can also use this command to analyze errors and troubleshoot
+queries that do not run. For example, if you run into a casting error, the
+query plan text may help you isolate the problem.</p>
+
+<p>Use the following syntax:</p>
+<div class="highlight"><pre><code class="language-text" data-lang="text">explain plan for &lt;query&gt; ;
+explain plan with implementation for &lt;query&gt; ;
+</code></pre></div>
+<p>The following set command increases the default text display (number of
+characters). By default, most of the plan output is not displayed.</p>
+<div class="highlight"><pre><code class="language-text" data-lang="text">0: jdbc:drill:zk=local&gt; !set maxwidth 10000
+</code></pre></div>
+<p>Do not use a semicolon to terminate set commands.</p>
+
+<p>For example, here is the top portion of the explain output for a
+COUNT(DISTINCT) query on a JSON file:</p>
+<div class="highlight"><pre><code class="language-text" data-lang="text">0: jdbc:drill:zk=local&gt; !set maxwidth 10000
+
+0: jdbc:drill:zk=local&gt; explain plan for 
+select type t, count(distinct id) 
+from dfs.`/Users/brumsby/drill/donuts.json` 
+where type=&#39;donut&#39; group by type;
+
++------------+------------+
+|    text    |    json    |
++------------+------------+
+| 00-00    Screen
+00-01      Project(t=[$0], EXPR$1=[$1])
+00-02        Project(t=[$0], EXPR$1=[$1])
+00-03          HashAgg(group=[{0}], EXPR$1=[COUNT($1)])
+00-04            HashAgg(group=[{0, 1}])
+00-05              SelectionVectorRemover
+00-06                Filter(condition=[=(CAST($0):CHAR(5) CHARACTER SET &quot;ISO-8859-1&quot; COLLATE &quot;ISO-8859-1$en_US$primary&quot;, &#39;donut&#39;)])
+00-07                  Project(type=[$1], id=[$2])
+00-08                    ProducerConsumer
+00-09                      Scan(groupscan=[EasyGroupScan [selectionRoot=/Users/brumsby/drill/donuts.json, columns = null]])
+...
+</code></pre></div>
+<p>Read the text output from bottom to top to understand the sequence of
+operators that will execute the query. Note that the physical plan starts with
+a scan of the JSON file that is being queried. The selected columns are
+projected and filtered, then the aggregate function is applied.</p>
+
+<p>The EXPLAIN text output is followed by detailed JSON output, which is reusable
+for submitting the query via Drill APIs.</p>
+<div class="highlight"><pre><code class="language-text" data-lang="text">| {
+  &quot;head&quot; : {
+    &quot;version&quot; : 1,
+    &quot;generator&quot; : {
+      &quot;type&quot; : &quot;ExplainHandler&quot;,
+      &quot;info&quot; : &quot;&quot;
+    },
+    &quot;type&quot; : &quot;APACHE_DRILL_PHYSICAL&quot;,
+    &quot;options&quot; : [ ],
+    &quot;queue&quot; : 0,
+    &quot;resultMode&quot; : &quot;EXEC&quot;
+  },
+....
+</code></pre></div>
+<h1 id="costing-information">Costing Information</h1>
+
+<p>Add the INCLUDING ALL ATTRIBUTES option to the EXPLAIN command to see cost
+estimates for the query plan. For example:</p>
+<div class="highlight"><pre><code class="language-text" data-lang="text">0: jdbc:drill:zk=local&gt; !set maxwidth 10000
+0: jdbc:drill:zk=local&gt; explain plan including all attributes for 
+select * from dfs.`/Users/brumsby/drill/donuts.json` where type=&#39;donut&#39;;
+
++------------+------------+
+|    text    |    json    |
++------------+------------+
+
+| 00-00    Screen: rowcount = 1.0, cumulative cost = {4.1 rows, 14.1 cpu, 0.0 io, 0.0 network}, id = 3110
+00-01      Project(*=[$0], type=[$1]): rowcount = 1.0, cumulative cost = {4.0 rows, 14.0 cpu, 0.0 io, 0.0 network}, id = 3109
+00-02        SelectionVectorRemover: rowcount = 1.0, cumulative cost = {3.0 rows, 6.0 cpu, 0.0 io, 0.0 network}, id = 3108
+00-03          Filter(condition=[=(CAST($1):CHAR(5) CHARACTER SET &quot;ISO-8859-1&quot; COLLATE &quot;ISO-8859-1$en_US$primary&quot;, &#39;donut&#39;)]): rowcount = 1.0, cumulative cost = {2.0 rows, 5.0 cpu, 0.0 io, 0.0 network}, id = 3107
+00-04            ProducerConsumer: rowcount = 1.0, cumulative cost = {1.0 rows, 1.0 cpu, 0.0 io, 0.0 network}, id = 3106
+00-05              Scan(groupscan=[EasyGroupScan [selectionRoot=/Users/brumsby/drill/donuts.json, columns = null]]): rowcount = 1.0, cumulative cost = {0.0 rows, 0.0 cpu, 0.0 io, 0.0 network}, id = 3101
+</code></pre></div>
+<h1 id="explain-for-logical-plans">EXPLAIN for Logical Plans</h1>
+
+<p>To return the logical plan for a query (again, without actually running the
+query), use the EXPLAIN PLAN WITHOUT IMPLEMENTATION syntax:</p>
+<div class="highlight"><pre><code class="language-text" data-lang="text">explain plan without implementation for &lt;query&gt; ;
+</code></pre></div>
+<p>For example:</p>
+<div class="highlight"><pre><code class="language-text" data-lang="text">0: jdbc:drill:zk=local&gt; explain plan without implementation for 
+select a.id 
+from dfs.`/Users/brumsby/drill/donuts.json` a, dfs.`/Users/brumsby/drill/moredonuts.json` b 
+where a.id=b.id;
+
++------------+------------+
+|    text    |    json    |
++------------+------------+
+| DrillScreenRel
+  DrillProjectRel(id=[$1])
+    DrillJoinRel(condition=[=($1, $3)], joinType=[inner])
+      DrillScanRel(table=[[dfs, /Users/brumsby/drill/donuts.json]], groupscan=[EasyGroupScan [selectionRoot=/Users/brumsby/drill/donuts.json, columns = null]])
+      DrillScanRel(table=[[dfs, /Users/brumsby/drill/moredonuts.json]], groupscan=[EasyGroupScan [selectionRoot=/Users/brumsby/drill/moredonuts.json, columns = null]])
+ | {
+  &quot;head&quot; : {
+    &quot;version&quot; : 1,
+    &quot;generator&quot; : {
+      &quot;type&quot; : &quot;org.apache.drill.exec.planner.logical.DrillImplementor&quot;,
+      &quot;info&quot; : &quot;&quot;
+    },
+...
+</code></pre></div></div>
+
+
+<div id="footer" class="mw">
+<div class="wrapper">
+Copyright © 2012-2014 The Apache Software Foundation, licensed under the Apache License, Version 2.0.<br>
+Apache and the Apache feather logo are trademarks of The Apache Software Foundation. Other names appearing on the site may be trademarks of their respective owners.<br/><br/>
+</div>
+</div>
+
+<script>
+(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-53379651-1', 'auto');
+ga('send', 'pageview');
+</script>
+
+</body>
+</html>

Added: drill/site/trunk/content/drill/docs/flatten-function/index.html
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/flatten-function/index.html?rev=1651949&view=auto
==============================================================================
--- drill/site/trunk/content/drill/docs/flatten-function/index.html (added)
+++ drill/site/trunk/content/drill/docs/flatten-function/index.html Thu Jan 15 05:11:44 2015
@@ -0,0 +1,168 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+
+<meta charset="UTF-8">
+
+
+<title>FLATTEN Function - Apache Drill</title>
+
+<link href="/css/syntax.css" rel="stylesheet" type="text/css">
+<link href="/css/style.css" rel="stylesheet" type="text/css">
+<link href="/css/arrows.css" rel="stylesheet" type="text/css">
+<link href="/css/button.css" rel="stylesheet" type="text/css">
+
+<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
+<link rel="icon" href="/favicon.ico" type="image/x-icon">
+
+<script language="javascript" type="text/javascript" src="/js/lib/jquery-1.11.1.min.js"></script>
+<script language="javascript" type="text/javascript" src="/js/lib/jquery.easing.1.3.js"></script>
+<script language="javascript" type="text/javascript" src="/js/modernizr.custom.js"></script>
+<script language="javascript" type="text/javascript" src="/js/script.js"></script>
+
+</head>
+
+<body onResize="resized();">
+
+<div class="bui"></div>
+
+<div id="search">
+<input type="text" placeholder="Enter search term here">
+</div>
+
+<div id="menu" class="mw">
+<ul>
+  <li class="logo"><a href="/"></a></li>
+  <li>
+    <a href="/overview/">Documentation</a>
+    <ul>
+      <li><a href="/overview/">Overview&nbsp;&nbsp;&nbsp;&nbsp;</a></li>
+      <li><a href="https://cwiki.apache.org/confluence/display/DRILL/Apache+Drill+in+10+Minutes" target="_blank">Drill in 10 Minutes</a></li>
+      <li><a href="/why/">Why Drill? &nbsp;&nbsp;&nbsp;&nbsp;</a></li>
+      <li><a href="/architecture/">Architecture</a></li>
+    </ul>
+  </li>
+  <li>
+    <a href="/community/">Community</a>
+    <ul>
+      <li><a href="/team/">Team</a></li>
+      <li><a href="/community/#events">Events and Meetups</a></li>
+      <li><a href="/community/#mailinglists">Mailing Lists</a></li>
+      <li><a href="/community/#getinvolved">Get Involved</a></li>
+      <li><a href="https://issues.apache.org/jira/browse/DRILL/" target="_blank">Issue Tracker</a></li>
+      <li><a href="https://github.com/apache/drill" target="_blank">GitHub</a></li>
+    </ul>
+  </li>
+  <li><a href="/faq/">FAQ</a></li>
+  <li><a href="/blog/">Blog</a></li>
+  <li style="width:30px; padding-left: 2px; padding-right:10px"><a href="https://twitter.com/apachedrill" target="_blank"><img src="/images/twitterbw.png" alt="" align="center" width="22" style="padding: 0px 10px 1px 0px;"></a> </li>
+  <li class="l"><span>&nbsp;</span></li>
+  <li class="d"><a href="/download/">Download</a></li>
+</ul>
+</div>
+
+<div class="int_title">
+<h1>FLATTEN Function</h1>
+
+</div>
+
+<div class="int_text" align="left"><p>The FLATTEN function is useful for flexible exploration of repeated data.
+FLATTEN separates the elements in a repeated field into individual records. To
+maintain the association between each flattened value and the other fields in
+the record, all of the other columns are copied into each new record. A very
+simple example would turn this data (one record):</p>
+<div class="highlight"><pre><code class="language-text" data-lang="text">{
+  &quot;x&quot; : 5,
+  &quot;y&quot; : &quot;a string&quot;,
+  &quot;z&quot; : [ 1,2,3]
+}
+</code></pre></div>
+<p>into three distinct records:</p>
+<div class="highlight"><pre><code class="language-text" data-lang="text">select flatten(z) from table;
+| x           | y              | z         |
++-------------+----------------+-----------+
+| 5           | &quot;a string&quot;     | 1         |
+| 5           | &quot;a string&quot;     | 2         |
+| 5           | &quot;a string&quot;     | 3         |
+</code></pre></div>
+<p>The function takes a single argument, which must be an array (the <code>z</code> column
+in this example).</p>
+
+<p>For a more interesting example, consider the JSON data in the publicly
+available <a href="https://www.yelp.com/dataset_challenge/dataset">Yelp</a> data set. The
+first query below returns three columns from the
+<code>yelp_academic_dataset_business.json</code> file: <code>name</code>, <code>hours</code>, and <code>categories</code>.
+The query is restricted to distinct rows where the name is <code>z</code><code>pizza</code>. The
+query returns only one row that meets those criteria; however, note that this
+row contains an array of four categories:</p>
+<div class="highlight"><pre><code class="language-text" data-lang="text">0: jdbc:drill:zk=local&gt; select distinct name, hours, categories 
+from dfs.yelp.`yelp_academic_dataset_business.json` 
+where name =&#39;zpizza&#39;;
++------------+------------+------------+
+|    name    |   hours    | categories |
++------------+------------+------------+
+| zpizza     | {&quot;Tuesday&quot;:{&quot;close&quot;:&quot;22:00&quot;,&quot;open&quot;:&quot;10:00&quot;},&quot;Friday&quot;:{&quot;close&quot;:&quot;23:00&quot;,&quot;open&quot;:&quot;10:00&quot;},&quot;Monday&quot;:{&quot;close&quot;:&quot;22:00&quot;,&quot;open&quot;:&quot;10:00&quot;},&quot;Wednesday&quot;:{&quot;close&quot;:&quot;22:00&quot;,&quot;open&quot;:&quot;10:00&quot;},&quot;Thursday&quot;:{&quot;close&quot;:&quot;22:00&quot;,&quot;open&quot;:&quot;10:00&quot;},&quot;Sunday&quot;:{&quot;close&quot;:&quot;22:00&quot;,&quot;open&quot;:&quot;10:00&quot;},&quot;Saturday&quot;:{&quot;close&quot;:&quot;23:00&quot;,&quot;open&quot;:&quot;10:00&quot;}} | [&quot;Gluten-Free&quot;,&quot;Pizza&quot;,&quot;Vegan&quot;,&quot;Restaurants&quot;] |
+</code></pre></div>
+<p>The FLATTEN function can operate on this single row and return multiple rows,
+one for each category:</p>
+<div class="highlight"><pre><code class="language-text" data-lang="text">0: jdbc:drill:zk=local&gt; select distinct name, flatten(categories) as categories 
+from dfs.yelp.`yelp_academic_dataset_business.json` 
+where name =&#39;zpizza&#39; order by 2;
++------------+-------------+
+|    name    | categories  |
++------------+-------------+
+| zpizza     | Gluten-Free |
+| zpizza     | Pizza       |
+| zpizza     | Restaurants |
+| zpizza     | Vegan       |
++------------+-------------+
+4 rows selected (2.797 seconds)
+</code></pre></div>
+<p>Having used the FLATTEN function to break down arrays into distinct rows, you
+can run queries that do deeper analysis on the flattened result set. For
+example, you can use FLATTEN in a subquery, then apply WHERE clause
+constraints or aggregate functions to the results in the outer query.</p>
+
+<p>The following query uses the same data file as the previous query to flatten
+the categories array, then run a COUNT function on the flattened result:</p>
+<div class="highlight"><pre><code class="language-text" data-lang="text">select celltbl.catl, count(celltbl.catl) catcount 
+from (select flatten(categories) catl 
+from dfs.yelp.`yelp_academic_dataset_business.json`) celltbl 
+group by celltbl.catl 
+order by count(celltbl.catl) desc limit 5;
+
++---------------+------------+
+|    catl       |  catcount  |
++---------------+------------+
+| Restaurants   | 14303      |
+| Shopping      | 6428       |
+| Food          | 5209       |
+| Beauty &amp; Spas | 3421       |
+| Nightlife     | 2870       |
++---------------|------------+
+</code></pre></div>
+<p>A common use case for FLATTEN is its use in conjunction with the
+<a href="/confluence/display/DRILL/KVGEN+Function">KVGEN</a> function.</p>
+</div>
+
+
+<div id="footer" class="mw">
+<div class="wrapper">
+Copyright © 2012-2014 The Apache Software Foundation, licensed under the Apache License, Version 2.0.<br>
+Apache and the Apache feather logo are trademarks of The Apache Software Foundation. Other names appearing on the site may be trademarks of their respective owners.<br/><br/>
+</div>
+</div>
+
+<script>
+(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-53379651-1', 'auto');
+ga('send', 'pageview');
+</script>
+
+</body>
+</html>

Added: drill/site/trunk/content/drill/docs/flexibility/index.html
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/flexibility/index.html?rev=1651949&view=auto
==============================================================================
--- drill/site/trunk/content/drill/docs/flexibility/index.html (added)
+++ drill/site/trunk/content/drill/docs/flexibility/index.html Thu Jan 15 05:11:44 2015
@@ -0,0 +1,167 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+
+<meta charset="UTF-8">
+
+
+<title>Flexibility - Apache Drill</title>
+
+<link href="/css/syntax.css" rel="stylesheet" type="text/css">
+<link href="/css/style.css" rel="stylesheet" type="text/css">
+<link href="/css/arrows.css" rel="stylesheet" type="text/css">
+<link href="/css/button.css" rel="stylesheet" type="text/css">
+
+<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
+<link rel="icon" href="/favicon.ico" type="image/x-icon">
+
+<script language="javascript" type="text/javascript" src="/js/lib/jquery-1.11.1.min.js"></script>
+<script language="javascript" type="text/javascript" src="/js/lib/jquery.easing.1.3.js"></script>
+<script language="javascript" type="text/javascript" src="/js/modernizr.custom.js"></script>
+<script language="javascript" type="text/javascript" src="/js/script.js"></script>
+
+</head>
+
+<body onResize="resized();">
+
+<div class="bui"></div>
+
+<div id="search">
+<input type="text" placeholder="Enter search term here">
+</div>
+
+<div id="menu" class="mw">
+<ul>
+  <li class="logo"><a href="/"></a></li>
+  <li>
+    <a href="/overview/">Documentation</a>
+    <ul>
+      <li><a href="/overview/">Overview&nbsp;&nbsp;&nbsp;&nbsp;</a></li>
+      <li><a href="https://cwiki.apache.org/confluence/display/DRILL/Apache+Drill+in+10+Minutes" target="_blank">Drill in 10 Minutes</a></li>
+      <li><a href="/why/">Why Drill? &nbsp;&nbsp;&nbsp;&nbsp;</a></li>
+      <li><a href="/architecture/">Architecture</a></li>
+    </ul>
+  </li>
+  <li>
+    <a href="/community/">Community</a>
+    <ul>
+      <li><a href="/team/">Team</a></li>
+      <li><a href="/community/#events">Events and Meetups</a></li>
+      <li><a href="/community/#mailinglists">Mailing Lists</a></li>
+      <li><a href="/community/#getinvolved">Get Involved</a></li>
+      <li><a href="https://issues.apache.org/jira/browse/DRILL/" target="_blank">Issue Tracker</a></li>
+      <li><a href="https://github.com/apache/drill" target="_blank">GitHub</a></li>
+    </ul>
+  </li>
+  <li><a href="/faq/">FAQ</a></li>
+  <li><a href="/blog/">Blog</a></li>
+  <li style="width:30px; padding-left: 2px; padding-right:10px"><a href="https://twitter.com/apachedrill" target="_blank"><img src="/images/twitterbw.png" alt="" align="center" width="22" style="padding: 0px 10px 1px 0px;"></a> </li>
+  <li class="l"><span>&nbsp;</span></li>
+  <li class="d"><a href="/download/">Download</a></li>
+</ul>
+</div>
+
+<div class="int_title">
+<h1>Flexibility</h1>
+
+</div>
+
+<div class="int_text" align="left"><p>The following features contribute to Drill&#39;s flexible architecture:</p>
+
+<p><strong>_Dynamic schema discovery _</strong></p>
+
+<p>Drill does not require schema or type specification for the data in order to
+start the query execution process. Instead, Drill starts processing the data
+in units called record-batches and discovers the schema on the fly during
+processing. Self-describing data formats such as Parquet, JSON, AVRO, and
+NoSQL databases have schema specified as part of the data itself, which Drill
+leverages dynamically at query time. Schema can change over the course of a
+Drill query, so all of the Drill operators are designed to reconfigure
+themselves when such schema changing events occur.</p>
+
+<p><strong><em>Flexible data model</em></strong></p>
+
+<p>Drill is purpose-built from the ground up for complex/multi-structured data
+commonly seen in Hadoop/NoSQL applications such as social/mobile, clickstream,
+logs, and sensor equipped IOT. From a user point of view, Drill allows access
+to nested data attributes, just like SQL columns, and provides intuitive
+extensions to easily operate on them. From an architectural point of view,
+Drill provides a flexible hierarchical columnar data model that can represent
+complex, highly dynamic and evolving data models, and allows for efficient
+processing of it without the need to flatten or materialize it at design time
+or at execution time. Relational data in Drill is treated as a special or
+simplified case of complex/multi-structured data.</p>
+
+<p><strong><em>De-centralized metadata</em></strong></p>
+
+<p>Unlike other SQL-on-Hadoop technologies or any traditional relational
+database, Drill does not have a centralized metadata requirement. In order to
+query data through Drill, users do not need to create and manage tables and
+views in a metadata repository, or rely on a database administrator group for
+such a function.</p>
+
+<p>Drill metadata is derived from the storage plugins that correspond to data
+sources. Drill supports a varied set of storage plugins that provide a
+spectrum of metadata ranging from full metadata such as for Hive, partial
+metadata such as for HBase, or no central metadata such as for files.</p>
+
+<p>De-centralized metadata also means that Drill is NOT tied to a single Hive
+repository. Users can query multiple Hive repositories at once and then
+combine the data with information from HBase tables or with a file in a
+distributed file system.</p>
+
+<p>Users also have the ability to create metadata (tables/views/databases) within
+Drill using the SQL DDL syntax. De-centralized metadata is applicable during
+metadata creation. Drill allows persisting metadata in one of the underlying
+data sources.</p>
+
+<p>From a client access perspective, Drill metadata is organized just like a
+traditional DB (Databases-&gt;Tables/Views-&gt;Columns). The metadata is accessible
+through the ANSI standard INFORMATION_SCHEMA database</p>
+
+<p>For more information on how to configure and work various data sources with
+Drill, refer to <a href="https://cwiki.apache.or%0Ag/confluence/display/DRILL/Connect+Apache+Drill+to+Data+Sources">Connect Apache Drill to Data Sources</a>.</p>
+
+<p><strong><em>Extensibility</em></strong></p>
+
+<p>Drill provides an extensible architecture at all layers, including the storage
+plugin, query, query optimization/execution, and client API layers. You can
+customize any layer for the specific needs of an organization or you can
+extend the layer to a broader array of use cases.</p>
+
+<p>Drill provides a built in classpath scanning and plugin concept to add
+additional storage plugins, functions, and operators with minimal
+configuration.</p>
+
+<p>The following list provides a few examples of Drill’s extensible architectural
+capabilities:</p>
+
+<ul>
+<li>A high performance Java API to implement custom UDFs/UDAFs</li>
+<li>Ability to go beyond Hadoop by implementing custom storage plugins to other data sources such as Oracle/MySQL or NoSQL stores, such as Mongo or Cassandra</li>
+<li>An API to implement custom operators</li>
+<li>Support for direct execution of strongly specified JSON based logical and physical plans to help with the simplification of testing, and to enable integration of alternative query languages other than SQL.</li>
+</ul>
+</div>
+
+
+<div id="footer" class="mw">
+<div class="wrapper">
+Copyright © 2012-2014 The Apache Software Foundation, licensed under the Apache License, Version 2.0.<br>
+Apache and the Apache feather logo are trademarks of The Apache Software Foundation. Other names appearing on the site may be trademarks of their respective owners.<br/><br/>
+</div>
+</div>
+
+<script>
+(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-53379651-1', 'auto');
+ga('send', 'pageview');
+</script>
+
+</body>
+</html>

Added: drill/site/trunk/content/drill/docs/getting-to-know-the-drill-sandbox/index.html
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/getting-to-know-the-drill-sandbox/index.html?rev=1651949&view=auto
==============================================================================
--- drill/site/trunk/content/drill/docs/getting-to-know-the-drill-sandbox/index.html (added)
+++ drill/site/trunk/content/drill/docs/getting-to-know-the-drill-sandbox/index.html Thu Jan 15 05:11:44 2015
@@ -0,0 +1,319 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+
+<meta charset="UTF-8">
+
+
+<title>Getting to Know the Drill Sandbox - Apache Drill</title>
+
+<link href="/css/syntax.css" rel="stylesheet" type="text/css">
+<link href="/css/style.css" rel="stylesheet" type="text/css">
+<link href="/css/arrows.css" rel="stylesheet" type="text/css">
+<link href="/css/button.css" rel="stylesheet" type="text/css">
+
+<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
+<link rel="icon" href="/favicon.ico" type="image/x-icon">
+
+<script language="javascript" type="text/javascript" src="/js/lib/jquery-1.11.1.min.js"></script>
+<script language="javascript" type="text/javascript" src="/js/lib/jquery.easing.1.3.js"></script>
+<script language="javascript" type="text/javascript" src="/js/modernizr.custom.js"></script>
+<script language="javascript" type="text/javascript" src="/js/script.js"></script>
+
+</head>
+
+<body onResize="resized();">
+
+<div class="bui"></div>
+
+<div id="search">
+<input type="text" placeholder="Enter search term here">
+</div>
+
+<div id="menu" class="mw">
+<ul>
+  <li class="logo"><a href="/"></a></li>
+  <li>
+    <a href="/overview/">Documentation</a>
+    <ul>
+      <li><a href="/overview/">Overview&nbsp;&nbsp;&nbsp;&nbsp;</a></li>
+      <li><a href="https://cwiki.apache.org/confluence/display/DRILL/Apache+Drill+in+10+Minutes" target="_blank">Drill in 10 Minutes</a></li>
+      <li><a href="/why/">Why Drill? &nbsp;&nbsp;&nbsp;&nbsp;</a></li>
+      <li><a href="/architecture/">Architecture</a></li>
+    </ul>
+  </li>
+  <li>
+    <a href="/community/">Community</a>
+    <ul>
+      <li><a href="/team/">Team</a></li>
+      <li><a href="/community/#events">Events and Meetups</a></li>
+      <li><a href="/community/#mailinglists">Mailing Lists</a></li>
+      <li><a href="/community/#getinvolved">Get Involved</a></li>
+      <li><a href="https://issues.apache.org/jira/browse/DRILL/" target="_blank">Issue Tracker</a></li>
+      <li><a href="https://github.com/apache/drill" target="_blank">GitHub</a></li>
+    </ul>
+  </li>
+  <li><a href="/faq/">FAQ</a></li>
+  <li><a href="/blog/">Blog</a></li>
+  <li style="width:30px; padding-left: 2px; padding-right:10px"><a href="https://twitter.com/apachedrill" target="_blank"><img src="/images/twitterbw.png" alt="" align="center" width="22" style="padding: 0px 10px 1px 0px;"></a> </li>
+  <li class="l"><span>&nbsp;</span></li>
+  <li class="d"><a href="/download/">Download</a></li>
+</ul>
+</div>
+
+<div class="int_title">
+<h1>Getting to Know the Drill Sandbox</h1>
+
+</div>
+
+<div class="int_text" align="left"><p>This section describes the configuration of the Apache Drill system that you
+have installed and introduces the overall use case for the tutorial.</p>
+
+<h1 id="storage-plugins-overview">Storage Plugins Overview</h1>
+
+<p>The Hadoop cluster within the sandbox is set up with MapR-FS, MapR-DB, and
+Hive, which all serve as data sources for Drill in this tutorial. Before you
+can run queries against these data sources, Drill requires each one to be
+configured as a storage plugin. A storage plugin defines the abstraction on
+the data sources for Drill to talk to and provides interfaces to read/write
+and get metadata from the data source. Each storage plugin also exposes
+optimization rules for Drill to leverage for efficient query execution.</p>
+
+<p>Take a look at the pre-configured storage plugins by opening the Drill Web UI.</p>
+
+<p>Feel free to skip this section and jump directly to the queries: <a href="/confluence/display/DRILL/Lesson+1%3A+Learn+About+the+Data+Set">Lesson 1:
+Learn About the Data
+Set</a></p>
+
+<ul>
+<li>Launch a web browser and go to: <code>http://&lt;IP address of the sandbox&gt;:8047</code></li>
+<li>Go to the Storage tab</li>
+<li>Open the configured storage plugins one at a time by clicking Update</li>
+<li>You will see the following plugins configured.</li>
+</ul>
+
+<h2 id="maprdb">maprdb</h2>
+
+<p>A storage plugin configuration for MapR-DB in the sandbox. Drill uses a single
+storage plugin for connecting to HBase as well as MapR-DB, which is an
+enterprise grade in-Hadoop NoSQL database. See the <a href="https://cwiki.apache.org/confluence/display/DRILL/Registering+HBase">Apache Drill
+Wiki</a> for
+information on how to configure Drill to query HBase.</p>
+<div class="highlight"><pre><code class="language-text" data-lang="text">{
+  &quot;type&quot; : &quot;hbase&quot;,
+  &quot;enabled&quot; : true,
+  &quot;config&quot; : {
+    &quot;hbase.table.namespace.mappings&quot; : &quot;*:/tables&quot;
+  }
+ }
+</code></pre></div>
+<h2 id="dfs">dfs</h2>
+
+<p>This is a storage plugin configuration for the MapR file system (MapR-FS) in
+the sandbox. The connection attribute indicates the type of distributed file
+system: in this case, MapR-FS. Drill can work with any distributed system,
+including HDFS, S3, and so on.</p>
+
+<p>The configuration also includes a set of workspaces; each one represents a
+location in MapR-FS:</p>
+
+<ul>
+<li>root: access to the root file system location</li>
+<li>clicks: access to nested JSON log data</li>
+<li>logs: access to flat (non-nested) JSON log data in the logs directory and its subdirectories</li>
+<li>views: a workspace for creating views</li>
+</ul>
+
+<p>A workspace in Drill is a location where users can easily access a specific
+set of data and collaborate with each other by sharing artifacts. Users can
+create as many workspaces as they need within Drill.</p>
+
+<p>Each workspace can also be configured as “writable” or not, which indicates
+whether users can write data to this location and defines the storage format
+in which the data will be written (parquet, csv, json). These attributes
+become relevant when you explore Drill SQL commands, especially CREATE TABLE
+AS (CTAS) and CREATE VIEW.</p>
+
+<p>Drill can query files and directories directly and can detect the file formats
+based on the file extension or the first few bits of data within the file.
+However, additional information around formats is required for Drill, such as
+delimiters for text files, which are specified in the “formats” section below.</p>
+<div class="highlight"><pre><code class="language-text" data-lang="text">{
+  &quot;type&quot;: &quot;file&quot;,
+  &quot;enabled&quot;: true,
+  &quot;connection&quot;: &quot;maprfs:///&quot;,
+  &quot;workspaces&quot;: {
+    &quot;root&quot;: {
+      &quot;location&quot;: &quot;/mapr/demo.mapr.com/data&quot;,
+      &quot;writable&quot;: false,
+      &quot;storageformat&quot;: null
+    },
+    &quot;clicks&quot;: {
+      &quot;location&quot;: &quot;/mapr/demo.mapr.com/data/nested&quot;,
+      &quot;writable&quot;: true,
+      &quot;storageformat&quot;: &quot;parquet&quot;
+    },
+    &quot;logs&quot;: {
+      &quot;location&quot;: &quot;/mapr/demo.mapr.com/data/flat&quot;,
+      &quot;writable&quot;: true,
+      &quot;storageformat&quot;: &quot;parquet&quot;
+    },
+    &quot;views&quot;: {
+      &quot;location&quot;: &quot;/mapr/demo.mapr.com/data/views&quot;,
+      &quot;writable&quot;: true,
+      &quot;storageformat&quot;: &quot;parquet&quot;
+ },
+ &quot;formats&quot;: {
+   &quot;psv&quot;: {
+     &quot;type&quot;: &quot;text&quot;,
+     &quot;extensions&quot;: [
+       &quot;tbl&quot;
+     ],
+     &quot;delimiter&quot;: &quot;|&quot;
+ },
+ &quot;csv&quot;: {
+   &quot;type&quot;: &quot;text&quot;,
+   &quot;extensions&quot;: [
+     &quot;csv&quot;
+   ],
+   &quot;delimiter&quot;: &quot;,&quot;
+ },
+ &quot;tsv&quot;: {
+   &quot;type&quot;: &quot;text&quot;,
+   &quot;extensions&quot;: [
+     &quot;tsv&quot;
+   ],
+   &quot;delimiter&quot;: &quot;\t&quot;
+ },
+ &quot;parquet&quot;: {
+   &quot;type&quot;: &quot;parquet&quot;
+ },
+ &quot;json&quot;: {
+   &quot;type&quot;: &quot;json&quot;
+ }
+}}
+</code></pre></div>
+<h2 id="hive">hive</h2>
+
+<p>A storage plugin configuration for a Hive data warehouse within the sandbox.
+Drill connects to the Hive metastore by using the configured metastore thrift
+URI. Metadata for Hive tables is automatically available for users to query.</p>
+<div class="highlight"><pre><code class="language-text" data-lang="text"> {
+  &quot;type&quot;: &quot;hive&quot;,
+  &quot;enabled&quot;: true,
+  &quot;configProps&quot;: {
+    &quot;hive.metastore.uris&quot;: &quot;thrift://localhost:9083&quot;,
+    &quot;hive.metastore.sasl.enabled&quot;: &quot;false&quot;
+  }
+}
+</code></pre></div>
+<h1 id="client-application-interfaces">Client Application Interfaces</h1>
+
+<p>Drill also provides additional application interfaces for the client tools to
+connect and access from Drill. The interfaces include the following.</p>
+
+<h3 id="odbc/jdbc-drivers">ODBC/JDBC drivers</h3>
+
+<p>Drill provides ODBC/JDBC drivers to connect from BI tools such as Tableau,
+MicroStrategy, SQUirrel, and Jaspersoft; refer to <a href="http://doc.mapr.com/display/MapR/Using+ODBC+to+Access+Apa%0Ache+Drill+from+BI+Tools">Using ODBC to Access Apache
+Drill from BI Tools</a> and <a href="http://doc.ma%0Apr.com/display/MapR/Using+JDBC+to+Access+Apache+Drill+from+SQuirreL">Using JDBC to Access Apache Drill</a> to learn
+more.</p>
+
+<h3 id="sqlline">SQLLine</h3>
+
+<p>SQLLine is a JDBC application that comes packaged with Drill. In order to
+start working with it, you can use the command line on the demo cluster to log
+in as root, then enter <code>sqlline</code>. Use <code>mapr</code> as the login password. For
+example:</p>
+<div class="highlight"><pre><code class="language-text" data-lang="text">$ ssh root@localhost -p 2222
+Password:
+Last login: Mon Sep 15 13:46:08 2014 from 10.250.0.28
+Welcome to your Mapr Demo virtual machine.
+[root@maprdemo ~]# sqlline
+sqlline version 1.1.6
+0: jdbc:drill:&gt;
+</code></pre></div>
+<h3 id="drill-web-ui">Drill Web UI</h3>
+
+<p>The Drill Web UI is a simple user interface for configuring and manage Apache
+Drill. This UI can be launched from any of the nodes in the Drill cluster. The
+configuration for Drill includes setting up storage plugins that represent the
+data sources on which Drill performs queries. The sandbox comes with storage
+plugins configured for the Hive, HBase, MapR file system, and local file
+system.</p>
+
+<p>Users and developers can get the necessary information for tuning and
+performing diagnostics on queries, such as the list of queries executed in a
+session and detailed query plan profiles for each.</p>
+
+<p>Detailed configuration and management of Drill is out of scope for this
+tutorial.</p>
+
+<p>The Web interface for Apache Drill also provides a query UI where users can
+submit queries to Drill and observe results. Here is a screen shot of the Web
+UI for Apache Drill:</p>
+
+<p><img src="../../img/DrillWebUI.png" alt="">  </p>
+
+<h3 id="rest-api">REST API</h3>
+
+<p>Drill provides a simple REST API for the users to query data as well as manage
+the system. The Web UI leverages the REST API to talk to Drill.</p>
+
+<p>This tutorial introduces sample queries that you can run by using SQLLine.
+Note that you can run the queries just as easily by launching the Drill Web
+UI. No additional installation or configuration is required.</p>
+
+<h1 id="use-case-overview">Use Case Overview</h1>
+
+<p>As you run through the queries in this tutorial, put yourself in the shoes of
+an analyst with basic SQL skills. Let us imagine that the analyst works for an
+emerging online retail business that accepts purchases from its customers
+through both an established web-based interface and a new mobile application.</p>
+
+<p>The analyst is data-driven and operates mostly on the business side with
+little or no interaction with the IT department. Recently the central IT team
+has implemented a Hadoop-based infrastructure to reduce the cost of the legacy
+database system, and most of the DWH/ETL workload is now handled by
+Hadoop/Hive. The master customer profile information and product catalog are
+managed in MapR-DB, which is a NoSQL database. The IT team has also started
+acquiring clickstream data that comes from web and mobile applications. This
+data is stored in Hadoop as JSON files.</p>
+
+<p>The analyst has a number of data sources that he could explore, but exploring
+them in isolation is not the way to go. There are some potentially very
+interesting analytical connections between these data sources. For example, it
+would be good to be able to analyze customer records in the clickstream data
+and tie them to the master customer data in MapR DB.</p>
+
+<p>The analyst decides to explore various data sources and he chooses to do that
+by using Apache Drill. Think about the flexibility and analytic capability of
+Apache Drill as you work through the tutorial.</p>
+
+<h1 id="what&#39;s-next">What&#39;s Next</h1>
+
+<p>Start running queries by going to <a href="/confluence/display/DRILL/Lesson+1%3A+Learn+About+the+Data+Set">Lesson 1: Learn About the Data
+Set</a>.</p>
+</div>
+
+
+<div id="footer" class="mw">
+<div class="wrapper">
+Copyright © 2012-2014 The Apache Software Foundation, licensed under the Apache License, Version 2.0.<br>
+Apache and the Apache feather logo are trademarks of The Apache Software Foundation. Other names appearing on the site may be trademarks of their respective owners.<br/><br/>
+</div>
+</div>
+
+<script>
+(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-53379651-1', 'auto');
+ga('send', 'pageview');
+</script>
+
+</body>
+</html>

Added: drill/site/trunk/content/drill/docs/how-to-run-the-drill-demo/index.html
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/how-to-run-the-drill-demo/index.html?rev=1651949&view=auto
==============================================================================
--- drill/site/trunk/content/drill/docs/how-to-run-the-drill-demo/index.html (added)
+++ drill/site/trunk/content/drill/docs/how-to-run-the-drill-demo/index.html Thu Jan 15 05:11:44 2015
@@ -0,0 +1,131 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+
+<meta charset="UTF-8">
+
+
+<title>How to Run the Drill Demo - Apache Drill</title>
+
+<link href="/css/syntax.css" rel="stylesheet" type="text/css">
+<link href="/css/style.css" rel="stylesheet" type="text/css">
+<link href="/css/arrows.css" rel="stylesheet" type="text/css">
+<link href="/css/button.css" rel="stylesheet" type="text/css">
+
+<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
+<link rel="icon" href="/favicon.ico" type="image/x-icon">
+
+<script language="javascript" type="text/javascript" src="/js/lib/jquery-1.11.1.min.js"></script>
+<script language="javascript" type="text/javascript" src="/js/lib/jquery.easing.1.3.js"></script>
+<script language="javascript" type="text/javascript" src="/js/modernizr.custom.js"></script>
+<script language="javascript" type="text/javascript" src="/js/script.js"></script>
+
+</head>
+
+<body onResize="resized();">
+
+<div class="bui"></div>
+
+<div id="search">
+<input type="text" placeholder="Enter search term here">
+</div>
+
+<div id="menu" class="mw">
+<ul>
+  <li class="logo"><a href="/"></a></li>
+  <li>
+    <a href="/overview/">Documentation</a>
+    <ul>
+      <li><a href="/overview/">Overview&nbsp;&nbsp;&nbsp;&nbsp;</a></li>
+      <li><a href="https://cwiki.apache.org/confluence/display/DRILL/Apache+Drill+in+10+Minutes" target="_blank">Drill in 10 Minutes</a></li>
+      <li><a href="/why/">Why Drill? &nbsp;&nbsp;&nbsp;&nbsp;</a></li>
+      <li><a href="/architecture/">Architecture</a></li>
+    </ul>
+  </li>
+  <li>
+    <a href="/community/">Community</a>
+    <ul>
+      <li><a href="/team/">Team</a></li>
+      <li><a href="/community/#events">Events and Meetups</a></li>
+      <li><a href="/community/#mailinglists">Mailing Lists</a></li>
+      <li><a href="/community/#getinvolved">Get Involved</a></li>
+      <li><a href="https://issues.apache.org/jira/browse/DRILL/" target="_blank">Issue Tracker</a></li>
+      <li><a href="https://github.com/apache/drill" target="_blank">GitHub</a></li>
+    </ul>
+  </li>
+  <li><a href="/faq/">FAQ</a></li>
+  <li><a href="/blog/">Blog</a></li>
+  <li style="width:30px; padding-left: 2px; padding-right:10px"><a href="https://twitter.com/apachedrill" target="_blank"><img src="/images/twitterbw.png" alt="" align="center" width="22" style="padding: 0px 10px 1px 0px;"></a> </li>
+  <li class="l"><span>&nbsp;</span></li>
+  <li class="d"><a href="/download/">Download</a></li>
+</ul>
+</div>
+
+<div class="int_title">
+<h1>How to Run the Drill Demo</h1>
+
+</div>
+
+<div class="int_text" align="left"><h3 id="what-is-apache-drill">What is Apache Drill</h3>
+
+<p>Apache Drill by Apache Foundation is the first open source implementation of
+the Google&#39;s Dremel paper for interactive query processing. Apache Drill
+provides low latency ad-hoc queries to many different data sources &amp; nested
+data. Drill is designed to scale to 10,000 servers and query petabytes of data
+in seconds.</p>
+
+<p><img src="../../img/drill2.png" alt=""></p>
+
+<p>In a nutshell, Few key points about Apache Drill are:</p>
+
+<ul>
+<li>Inspired by Google&#39;s Dremel</li>
+<li>Supports standard SQL 2003</li>
+<li>Supports plug-able data sources (HBase, Mongo, HDFS etc)</li>
+<li>Supports nested data (JSON, ProtoBufs, Parquet etc)</li>
+<li>Supports optional schema</li>
+<li>Community driven</li>
+</ul>
+
+<h3 id="where-apache-drill-fits-in">Where Apache Drill fits in</h3>
+
+<p>Apache Drill is designed as an answer to the Interactive queries problems that
+we face while dealing with huge data. A standard Drill Query might take 100ms
+- 3 minutes for its execution as compared to Apache Hadoop or HIVE/PIG. Below
+is a diagram to help you relate in terms of the execution times:</p>
+
+<p><img src="../../img/drill-runtime.png" alt=""></p>
+
+<h3 id="drill-is-powerful">Drill is powerful</h3>
+
+<p>Below are few things that make Apache Drill really powerful:</p>
+
+<ul>
+<li><strong>Speed</strong>: Apache Drill uses an efficient columnar storage format, an optimistic execution engine and a cache-conscious memory layout. Coordination, query planning, optimization, scheduling, and execution are all distributed throughout nodes in a system to maximize parallelization. Apache Drill is blazing fast. Period.</li>
+<li><strong>Plug-able data sources</strong>: Apache drill brings in the support of pluggable data sources like HBase, Mongo, HDFS etc. It means that Drill will still work comfortably while your data is exploring new data stores.</li>
+<li><strong>Nested data</strong>: With the support for data sources like HBase, Cassandra, MongoDB etc, Drill allows interactive analysis on all of your data, including nested and schema-less forms. Drill also supports querying against nested data formats like JSON and Parquet.</li>
+<li><strong>Flexibility</strong>: Apache Dril strongly defined tiers and APIs for straightforward integration with a wide array of technologies.</li>
+</ul>
+</div>
+
+
+<div id="footer" class="mw">
+<div class="wrapper">
+Copyright © 2012-2014 The Apache Software Foundation, licensed under the Apache License, Version 2.0.<br>
+Apache and the Apache feather logo are trademarks of The Apache Software Foundation. Other names appearing on the site may be trademarks of their respective owners.<br/><br/>
+</div>
+</div>
+
+<script>
+(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-53379651-1', 'auto');
+ga('send', 'pageview');
+</script>
+
+</body>
+</html>

Added: drill/site/trunk/content/drill/docs/img/11.png
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/img/11.png?rev=1651949&view=auto
==============================================================================
Binary file - no diff available.

Propchange: drill/site/trunk/content/drill/docs/img/11.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: drill/site/trunk/content/drill/docs/img/18.png
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/img/18.png?rev=1651949&view=auto
==============================================================================
Binary file - no diff available.

Propchange: drill/site/trunk/content/drill/docs/img/18.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: drill/site/trunk/content/drill/docs/img/19.png
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/img/19.png?rev=1651949&view=auto
==============================================================================
Binary file - no diff available.

Propchange: drill/site/trunk/content/drill/docs/img/19.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: drill/site/trunk/content/drill/docs/img/21.png
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/img/21.png?rev=1651949&view=auto
==============================================================================
Binary file - no diff available.

Propchange: drill/site/trunk/content/drill/docs/img/21.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: drill/site/trunk/content/drill/docs/img/30.png
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/img/30.png?rev=1651949&view=auto
==============================================================================
Binary file - no diff available.

Propchange: drill/site/trunk/content/drill/docs/img/30.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: drill/site/trunk/content/drill/docs/img/4.png
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/img/4.png?rev=1651949&view=auto
==============================================================================
Binary file - no diff available.

Propchange: drill/site/trunk/content/drill/docs/img/4.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: drill/site/trunk/content/drill/docs/img/40.png
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/img/40.png?rev=1651949&view=auto
==============================================================================
Binary file - no diff available.

Propchange: drill/site/trunk/content/drill/docs/img/40.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: drill/site/trunk/content/drill/docs/img/42.png
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/img/42.png?rev=1651949&view=auto
==============================================================================
Binary file - no diff available.

Propchange: drill/site/trunk/content/drill/docs/img/42.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: drill/site/trunk/content/drill/docs/img/46.png
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/img/46.png?rev=1651949&view=auto
==============================================================================
Binary file - no diff available.

Propchange: drill/site/trunk/content/drill/docs/img/46.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: drill/site/trunk/content/drill/docs/img/51.png
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/img/51.png?rev=1651949&view=auto
==============================================================================
Binary file - no diff available.

Propchange: drill/site/trunk/content/drill/docs/img/51.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: drill/site/trunk/content/drill/docs/img/52.png
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/img/52.png?rev=1651949&view=auto
==============================================================================
Binary file - no diff available.

Propchange: drill/site/trunk/content/drill/docs/img/52.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: drill/site/trunk/content/drill/docs/img/53.png
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/img/53.png?rev=1651949&view=auto
==============================================================================
Binary file - no diff available.

Propchange: drill/site/trunk/content/drill/docs/img/53.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: drill/site/trunk/content/drill/docs/img/54.png
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/img/54.png?rev=1651949&view=auto
==============================================================================
Binary file - no diff available.

Propchange: drill/site/trunk/content/drill/docs/img/54.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: drill/site/trunk/content/drill/docs/img/7.png
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/img/7.png?rev=1651949&view=auto
==============================================================================
Binary file - no diff available.

Propchange: drill/site/trunk/content/drill/docs/img/7.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: drill/site/trunk/content/drill/docs/img/DrillWebUI.png
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/img/DrillWebUI.png?rev=1651949&view=auto
==============================================================================
Binary file - no diff available.

Propchange: drill/site/trunk/content/drill/docs/img/DrillWebUI.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: drill/site/trunk/content/drill/docs/img/DrillbitModules.png
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/img/DrillbitModules.png?rev=1651949&view=auto
==============================================================================
Binary file - no diff available.

Propchange: drill/site/trunk/content/drill/docs/img/DrillbitModules.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: drill/site/trunk/content/drill/docs/img/Overview.png
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/img/Overview.png?rev=1651949&view=auto
==============================================================================
Binary file - no diff available.

Propchange: drill/site/trunk/content/drill/docs/img/Overview.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: drill/site/trunk/content/drill/docs/img/StoragePluginConfig.png
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/img/StoragePluginConfig.png?rev=1651949&view=auto
==============================================================================
Binary file - no diff available.

Propchange: drill/site/trunk/content/drill/docs/img/StoragePluginConfig.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: drill/site/trunk/content/drill/docs/img/drill-runtime.png
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/img/drill-runtime.png?rev=1651949&view=auto
==============================================================================
Binary file - no diff available.

Propchange: drill/site/trunk/content/drill/docs/img/drill-runtime.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: drill/site/trunk/content/drill/docs/img/drill2.png
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/img/drill2.png?rev=1651949&view=auto
==============================================================================
Binary file - no diff available.

Propchange: drill/site/trunk/content/drill/docs/img/drill2.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: drill/site/trunk/content/drill/docs/img/example_query.png
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/img/example_query.png?rev=1651949&view=auto
==============================================================================
Binary file - no diff available.

Propchange: drill/site/trunk/content/drill/docs/img/example_query.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: drill/site/trunk/content/drill/docs/img/loginSandBox.png
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/img/loginSandBox.png?rev=1651949&view=auto
==============================================================================
Binary file - no diff available.

Propchange: drill/site/trunk/content/drill/docs/img/loginSandBox.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: drill/site/trunk/content/drill/docs/img/queryFlow.png
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/img/queryFlow.png?rev=1651949&view=auto
==============================================================================
Binary file - no diff available.

Propchange: drill/site/trunk/content/drill/docs/img/queryFlow.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: drill/site/trunk/content/drill/docs/img/slide-15-638.png
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/img/slide-15-638.png?rev=1651949&view=auto
==============================================================================
Binary file - no diff available.

Propchange: drill/site/trunk/content/drill/docs/img/slide-15-638.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: drill/site/trunk/content/drill/docs/img/storageplugin.png
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/img/storageplugin.png?rev=1651949&view=auto
==============================================================================
Binary file - no diff available.

Propchange: drill/site/trunk/content/drill/docs/img/storageplugin.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: drill/site/trunk/content/drill/docs/img/value1.png
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/img/value1.png?rev=1651949&view=auto
==============================================================================
Binary file - no diff available.

Propchange: drill/site/trunk/content/drill/docs/img/value1.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: drill/site/trunk/content/drill/docs/img/value2.png
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/img/value2.png?rev=1651949&view=auto
==============================================================================
Binary file - no diff available.

Propchange: drill/site/trunk/content/drill/docs/img/value2.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: drill/site/trunk/content/drill/docs/img/value3.png
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/img/value3.png?rev=1651949&view=auto
==============================================================================
Binary file - no diff available.

Propchange: drill/site/trunk/content/drill/docs/img/value3.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: drill/site/trunk/content/drill/docs/img/value4.png
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/img/value4.png?rev=1651949&view=auto
==============================================================================
Binary file - no diff available.

Propchange: drill/site/trunk/content/drill/docs/img/value4.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: drill/site/trunk/content/drill/docs/img/value5.png
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/img/value5.png?rev=1651949&view=auto
==============================================================================
Binary file - no diff available.

Propchange: drill/site/trunk/content/drill/docs/img/value5.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: drill/site/trunk/content/drill/docs/img/value6.png
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/img/value6.png?rev=1651949&view=auto
==============================================================================
Binary file - no diff available.

Propchange: drill/site/trunk/content/drill/docs/img/value6.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: drill/site/trunk/content/drill/docs/img/value7.png
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/img/value7.png?rev=1651949&view=auto
==============================================================================
Binary file - no diff available.

Propchange: drill/site/trunk/content/drill/docs/img/value7.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: drill/site/trunk/content/drill/docs/img/vbApplSettings.png
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/img/vbApplSettings.png?rev=1651949&view=auto
==============================================================================
Binary file - no diff available.

Propchange: drill/site/trunk/content/drill/docs/img/vbApplSettings.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: drill/site/trunk/content/drill/docs/img/vbEthernet.png
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/img/vbEthernet.png?rev=1651949&view=auto
==============================================================================
Binary file - no diff available.

Propchange: drill/site/trunk/content/drill/docs/img/vbEthernet.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: drill/site/trunk/content/drill/docs/img/vbGenSettings.png
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/img/vbGenSettings.png?rev=1651949&view=auto
==============================================================================
Binary file - no diff available.

Propchange: drill/site/trunk/content/drill/docs/img/vbGenSettings.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: drill/site/trunk/content/drill/docs/img/vbImport.png
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/img/vbImport.png?rev=1651949&view=auto
==============================================================================
Binary file - no diff available.

Propchange: drill/site/trunk/content/drill/docs/img/vbImport.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: drill/site/trunk/content/drill/docs/img/vbMaprSetting.png
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/img/vbMaprSetting.png?rev=1651949&view=auto
==============================================================================
Binary file - no diff available.

Propchange: drill/site/trunk/content/drill/docs/img/vbMaprSetting.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: drill/site/trunk/content/drill/docs/img/vbNetwork.png
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/img/vbNetwork.png?rev=1651949&view=auto
==============================================================================
Binary file - no diff available.

Propchange: drill/site/trunk/content/drill/docs/img/vbNetwork.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: drill/site/trunk/content/drill/docs/img/vbloginSandBox.png
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/img/vbloginSandBox.png?rev=1651949&view=auto
==============================================================================
Binary file - no diff available.

Propchange: drill/site/trunk/content/drill/docs/img/vbloginSandBox.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: drill/site/trunk/content/drill/docs/img/vmLibrary.png
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/img/vmLibrary.png?rev=1651949&view=auto
==============================================================================
Binary file - no diff available.

Propchange: drill/site/trunk/content/drill/docs/img/vmLibrary.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: drill/site/trunk/content/drill/docs/img/vmShare.png
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/img/vmShare.png?rev=1651949&view=auto
==============================================================================
Binary file - no diff available.

Propchange: drill/site/trunk/content/drill/docs/img/vmShare.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: drill/site/trunk/content/drill/docs/img/vmWelcome.png
URL: http://svn.apache.org/viewvc/drill/site/trunk/content/drill/docs/img/vmWelcome.png?rev=1651949&view=auto
==============================================================================
Binary file - no diff available.

Propchange: drill/site/trunk/content/drill/docs/img/vmWelcome.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream