http://git-wip-us.apache.org/repos/asf/drill-site/blob/c4de0f83/docs/flatten/index.html
----------------------------------------------------------------------
diff --git a/docs/flatten/index.html b/docs/flatten/index.html
new file mode 100644
index 0000000..69edcf4
--- /dev/null
+++ b/docs/flatten/index.html
@@ -0,0 +1,934 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+
+<meta charset="UTF-8">
+<meta name=viewport content="width=device-width, initial-scale=1">
+
+
+<title>FLATTEN - 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/breadcrumbs.css" rel="stylesheet" type="text/css">
+<link href="/css/code.css" rel="stylesheet" type="text/css">
+<link rel="stylesheet" 
href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
+<link href="/css/responsive.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>
+<script language="javascript" type="text/javascript" 
src="/js/drill.js"></script>
+
+
+</head>
+
+<body onResize="resized();">
+  <div class="page-wrap">
+    <div class="bui"></div>
+
+<div id="menu" class="mw">
+<ul>
+  <li class='toc-categories'>
+  <a class="expand-toc-icon" href="javascript:void(0);"><i class="fa 
fa-bars"></i></a>
+  </li>
+  <li class="logo"><a href="/"></a></li>
+  <li class='expand-menu'>
+  <a href="javascript:void(0);"><span class='menu-text'>Menu</span><span 
class='expand-icon'><i class="fa fa-bars"></i></span></a>
+  </li>
+  <li class='clear-float'></li>
+  <li class="documentation-menu">
+    <a href="/docs/">Documentation</a>
+    <ul>
+      
+        <li><a href="/docs/getting-started/">Getting Started</a></li>
+      
+        <li><a href="/docs/architecture/">Architecture</a></li>
+      
+        <li><a href="/docs/tutorials/">Tutorials</a></li>
+      
+        <li><a href="/docs/install-drill/">Install Drill</a></li>
+      
+        <li><a href="/docs/connect-a-data-source/">Connect a Data 
Source</a></li>
+      
+        <li><a href="/docs/odbc-jdbc-interfaces/">ODBC/JDBC Interfaces</a></li>
+      
+        <li><a href="/docs/query-data/">Query Data</a></li>
+      
+        <li><a href="/docs/sql-reference/">SQL Reference</a></li>
+      
+        <li><a href="/docs/data-sources-and-file-formats/">Data Sources and 
File Formats</a></li>
+      
+        <li><a href="/docs/develop-custom-functions/">Develop Custom 
Functions</a></li>
+      
+        <li><a href="/docs/manage-drill/">Manage Drill</a></li>
+      
+        <li><a href="/docs/developer-information/">Developer 
Information</a></li>
+      
+        <li><a href="/docs/release-notes/">Release Notes</a></li>
+      
+        <li><a href="/docs/sample-datasets/">Sample Datasets</a></li>
+      
+        <li><a href="/docs/archived-pages/">Archived Pages</a></li>
+      
+        <li><a href="/docs/progress-reports/">Progress Reports</a></li>
+      
+        <li><a href="/docs/project-bylaws/">Project Bylaws</a></li>
+      
+    </ul>
+  </li>
+  <li class='nav'>
+    <a href="/community-resources/">Community</a>
+    <ul>
+      <li><a href="/team/">Team</a></li>
+      <li><a href="/mailinglists/">Mailing Lists</a></li>
+      <li><a href="/community-resources/">Community Resources</a></li>
+    </ul>
+  </li>
+  <li class='nav'><a href="/faq/">FAQ</a></li>
+  <li class='nav'><a href="/blog/">Blog</a></li>
+  <li id="twitter-menu-item"><a href="https://twitter.com/apachedrill"; 
title="apachedrill on twitter" target="_blank"><img 
src="/images/twitter_32_26_white.png" alt="twitter logo" align="center"></a> 
</li>
+  <li class='search-bar'>
+    <form id="drill-search-form">
+      <input type="text" placeholder="Search Apache Drill" 
id="drill-search-term" />
+      <button type="submit">
+        <i class="fa fa-search"></i>
+      </button>
+    </form>
+  </li>
+  <li class="d">
+    <a href="/download/">
+      <i class="fa fa-cloud-download"></i> Download
+    </a>
+  </li>
+</ul>
+</div>
+
+      
+      
+
+
+
+
+<aside class="sidebar">
+  <div class="docsidebar">
+    <div class="docsidebarwrapper">
+      <ul style="display: block;">
+      
+        
+          <li class="toctree-l1"><a href="javascript: void(0);">Getting 
Started</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/drill-introduction/">Drill Introduction</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/why-drill/">Why Drill</a></li>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: 
void(0);">Architecture</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/architecture-introduction/">Architecture Introduction</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/core-modules/">Core Modules</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: 
void(0);">Architectural Highlights</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/flexibility/">Flexibility</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/performance/">Performance</a></li>
+              
+            </ul>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: 
void(0);">Tutorials</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/tutorials-introduction/">Tutorials Introduction</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/drill-in-10-minutes/">Drill in 10 Minutes</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/analyzing-the-yelp-academic-dataset/">Analyzing the Yelp Academic 
Dataset</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Learn 
Drill with the MapR Sandbox</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/about-the-mapr-sandbox/">About the MapR Sandbox</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/installing-the-apache-drill-sandbox/">Installing the Apache Drill 
Sandbox</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/getting-to-know-the-drill-sandbox/">Getting to Know the Drill 
Sandbox</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/lession-1-learn-about-the-data-set/">Lession 1: Learn about the 
Data Set</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/lession-2-run-queries-with-ansi-sql/">Lession 2: Run Queries with 
ANSI SQL</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/lession-3-run-queries-on-complex-data-types/">Lession 3: Run 
Queries on Complex Data Types</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/summary/">Summary</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/analyzing-highly-dynamic-datasets/">Analyzing Highly Dynamic 
Datasets</a></li>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: void(0);">Install 
Drill</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/install-drill-introduction/">Install Drill Introduction</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/deploying-drill-in-a-cluster/">Deploying Drill in a Cluster</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Installing 
Drill in Embedded Mode</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/embedded-mode-prerequisites/">Embedded Mode Prerequisites</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/installing-drill-on-linux/">Installing Drill on Linux</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/installing-drill-on-mac-os-x/">Installing Drill on Mac OS X</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/installing-drill-on-windows/">Installing Drill on Windows</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/installing-drill-in-distributed-mode/">Installing Drill in 
Distributed Mode</a></li>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: void(0);">Connect a Data 
Source</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/connect-a-data-source-introduction/">Connect a Data Source 
Introduction</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/storage-plugin-registration/">Storage Plugin Registration</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Storage 
Plugin Configuration</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/plugin-configuration-introduction/">Plugin Configuration 
Introduction</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/workspaces/">Workspaces</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/file-system-storage-plugin/">File System Storage Plugin</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/hbase-storage-plugin/">HBase Storage Plugin</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/hive-storage-plugin/">Hive Storage Plugin</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/drill-default-input-format/">Drill Default Input Format</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/mongodb-plugin-for-apache-drill/">MongoDB Plugin for Apache 
Drill</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/mapr-db-format/">MapR-DB Format</a></li>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: void(0);">ODBC/JDBC 
Interfaces</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/interfaces-introduction/">Interfaces Introduction</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/using-jdbc/">Using JDBC</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Using ODBC 
on Linux and Mac OS X</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/odbc-on-linux-and-mac-introduction/">ODBC on Linux and Mac 
Introduction</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/installing-the-driver-on-linux/">Installing the Driver on 
Linux</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/installing-the-driver-on-mac-os-x/">Installing the Driver on Mac OS 
X</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/configuring-connections-on-linux-and-mac-os-x/">Configuring 
Connections on Linux and Mac OS X</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/driver-configuration-options/">Driver Configuration Options</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/using-a-connection-string/">Using a Connection String</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/advanced-properties/">Advanced Properties</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/testing-the-odbc-connection/">Testing the ODBC Connection</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Using ODBC 
on Windows</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/installing-the-driver-on-windows/">Installing the Driver on 
Windows</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/configuring-connections-on-windows/">Configuring Connections on 
Windows</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/connecting-to-odbc-data-sources/">Connecting to ODBC Data 
Sources</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/tableau-examples/">Tableau Examples</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/using-drill-explorer-on-windows/">Using Drill Explorer on 
Windows</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/using-microstrategy-analytics-with-drill/">Using MicroStrategy 
Analytics with Drill</a></li>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: void(0);">Query 
Data</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/query-data-introduction/">Query Data Introduction</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Querying a 
File System</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/querying-a-file-system-introduction/">Querying a File System 
Introduction</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/querying-json-files/">Querying JSON Files</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/querying-parquet-files/">Querying Parquet Files</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/querying-plain-text-files/">Querying Plain Text Files</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/querying-directories/">Querying Directories</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/querying-hbase/">Querying HBase</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Querying 
Complex Data</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/querying-complex-data-introduction/">Querying Complex Data 
Introduction</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/sample-data-donuts/">Sample Data: Donuts</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/selecting-flat-data/">Selecting Flat Data</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/using-sql-functions-clauses-and-joins/">Using SQL Functions, 
Clauses, and Joins</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/selecting-nested-data-for-a-column/">Selecting Nested Data for a 
Column</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/selecting-multiple-columns-within-nested-data/">Selecting Multiple 
Columns Within Nested Data</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/querying-hive/">Querying Hive</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/querying-the-information-schema/">Querying the INFORMATION 
SCHEMA</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/querying-system-tables/">Querying System Tables</a></li>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1 current_section "><a href="javascript: 
void(0);">SQL Reference</a></li>
+          <ul class="current_section">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/sql-reference-introduction/">SQL Reference Introduction</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Data 
Types</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/supported-data-types/">Supported Data Types</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/date-time-and-timestamp/">Date, Time, and Timestamp</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/handling-different-data-types/">Handling Different Data 
Types</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/lexical-structure/">Lexical Structure</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/operators/">Operators</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">SQL 
Functions</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/about-sql-function-examples/">About SQL Function Examples</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/math-and-trig/">Math and Trig</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/data-type-conversion/">Data Type Conversion</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/date-time-functions-and-arithmetic/">Date/Time Functions and 
Arithmetic</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/string-manipulation/">String Manipulation</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/aggregate-and-aggregate-statistical/">Aggregate and Aggregate 
Statistical</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/functions-for-handling-nulls/">Functions for Handling Nulls</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Nested 
Data Functions</a></li>
+              <ul style="">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/nested-data-limitations/">Nested Data Limitations</a></li>
+              
+                <li class="toctree-l3 current"><a class="reference internal" 
href="/docs/flatten/">FLATTEN</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/kvgen/">KVGEN</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/repeated-count/">REPEATED_COUNT</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/repeated-contains/">REPEATED_CONTAINS</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/query-directory-functions/">Query Directory Functions</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">SQL 
Commands</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/supported-sql-commands/">Supported SQL Commands</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/alter-session-command/">ALTER SESSION Command</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/alter-system-command/">ALTER SYSTEM Command</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/create-table-as-ctas-command/">CREATE TABLE AS (CTAS) 
command</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/create-view-command/">CREATE VIEW command</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/describe-command/">DESCRIBE Command</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/explain-commands/">EXPLAIN commands</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/select-statements/">SELECT Statements</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/show-databases-and-show-schemas-command/">SHOW DATABASES AND SHOW 
SCHEMAS Command</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/show-files-command/">SHOW FILES Command</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/show-tables-command/">SHOW TABLES Command</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/use-command/">USE Command</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">SQL 
Conditional Expressions</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/case/">CASE</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/reserved-keywords/">Reserved Keywords</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/sql-extensions/">SQL Extensions</a></li>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: void(0);">Data Sources 
and File Formats</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/data-sources-and-file-formats-introduction/">Data Sources and File 
Formats Introduction</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/hive-to-drill-data-type-mapping/">Hive-to-Drill Data Type 
Mapping</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/deploying-and-using-a-hive-udf/">Deploying and Using a Hive 
UDF</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/parquet-format/">Parquet Format</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/json-data-model/">JSON Data Model</a></li>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: void(0);">Develop Custom 
Functions</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/develop-custom-functions-introduction/">Develop Custom Functions 
Introduction</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/develop-a-simple-function/">Develop a Simple Function</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/developing-an-aggregate-function/">Developing an Aggregate 
Function</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/adding-custom-functions-to-drill/">Adding Custom Functions to 
Drill</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/using-custom-functions-in-queries/">Using Custom Functions in 
Queries</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/custom-function-interfaces/">Custom Function Interfaces</a></li>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: void(0);">Manage 
Drill</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/manage-drill-introduction/">Manage Drill Introduction</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/configuring-drill-in-a-dedicated-cluster/">Configuring Drill in a 
Dedicated Cluster</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: 
void(0);">Configuring a Multitenant Cluster</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/configuring-a-multitenant-cluster-introduction/">Configuring a 
Multitenant Cluster Introduction</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/configuring-multitenant-resources/">Configuring Multitenant 
Resources</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/configuring-resources-for-a-shared-drillbit/">Configuring Resources 
for a Shared Drillbit</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: 
void(0);">Configuration Options</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/configuration-options-introduction/">Configuration Options 
Introduction</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/start-up-options/">Start-Up Options</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/planning-and-execution-options/">Planning and Execution 
Options</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/persistent-configuration-storage/">Persistent Configuration 
Storage</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/starting-stopping-drill/">Starting/Stopping Drill</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/ports-used-by-drill/">Ports Used by Drill</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/partition-pruning/">Partition Pruning</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/monitoring-and-canceling-queries-in-the-drill-web-ui/">Monitoring 
and Canceling Queries in the Drill Web UI</a></li>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: void(0);">Developer 
Information</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Develop 
Drill</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/compiling-drill-from-source/">Compiling Drill from Source</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/drill-patch-review-tool/">Drill Patch Review Tool</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Contribute 
to Drill</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/apache-drill-contribution-guidelines/">Apache Drill Contribution 
Guidelines</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/apache-drill-contribution-ideas/">Apache Drill Contribution 
Ideas</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Design 
Docs</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/drill-plan-syntax/">Drill Plan Syntax</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/rpc-overview/">RPC Overview</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/query-stages/">Query Stages</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/useful-research/">Useful Research</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/value-vectors/">Value Vectors</a></li>
+              
+            </ul>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: void(0);">Release 
Notes</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/apache-drill-0-5-0-release-notes/">Apache Drill 0.5.0 Release 
Notes</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/apache-drill-0-4-0-release-notes/">Apache Drill 0.4.0 Release 
Notes</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/apache-drill-m1-release-notes-apache-drill-alpha/">Apache Drill M1 
Release Notes (Apache Drill Alpha)</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/apache-drill-m1-release-notes-apache-drill-alpha/">Apache Drill M1 
Release Notes (Apache Drill Alpha)</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/apache-drill-0-6-0-release-notes/">Apache Drill 0.6.0 Release 
Notes</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/apache-drill-0-7-0-release-notes/">Apache Drill 0.7.0 Release 
Notes</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/apache-drill-0-8-0-release-notes/">Apache Drill 0.8.0 Release 
Notes</a></li>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: void(0);">Sample 
Datasets</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/aol-search/">AOL Search</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/enron-emails/">Enron Emails</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/wikipedia-edit-history/">Wikipedia Edit History</a></li>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: void(0);">Archived 
Pages</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/how-to-run-the-drill-demo/">How to Run the Drill Demo</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/what-is-apache-drill/">What is Apache Drill</a></li>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: void(0);">Progress 
Reports</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/2014-q1-drill-report/">2014 Q1 Drill Report</a></li>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a class="reference internal" 
href="/docs/project-bylaws/">Project Bylaws</a></li>
+        
+      
+      </ul>
+
+    </div>
+  </div>
+</aside>
+
+
+  <nav class="breadcrumbs">
+  <li><a href="/docs/">Docs</a></li>
+ 
+  
+    <li><a href="/docs/sql-reference/">SQL Reference</a></li>
+  
+    <li><a href="/docs/nested-data-functions/">Nested Data Functions</a></li>
+  
+  <li>FLATTEN</li>
+</nav>
+
+  <div class="main-content-wrapper">
+    <div class="main-content">
+
+      
+        <a class="edit-link" 
href="https://github.com/apache/drill/blob/gh-pages/_docs/sql-reference/nested-data-functions/010-flatten.md";
 target="_blank"><i class="fa fa-pencil-square-o"></i></a>
+      
+
+      <div class="int_title">
+        <h1>FLATTEN</h1>
+
+      </div>
+
+      <link href="/css/docpage.css" rel="stylesheet" type="text/css">
+
+      <div class="int_text" align="left">
+        
+          <p>FLATTEN separates the elements in a repeated field into 
individual records.</p>
+
+<h2 id="syntax">Syntax</h2>
+<div class="highlight"><pre><code class="language-text" 
data-lang="text">FLATTEN(z)
+</code></pre></div>
+<p><em>z</em> is a JSON array.</p>
+
+<h2 id="usage-notes">Usage Notes</h2>
+
+<p>The FLATTEN function is useful for flexible exploration of repeated 
data.</p>
+
+<p>To maintain the association between each flattened value and the other 
fields in
+the record, the FLATTEN function copies all of the other columns into each new 
record. </p>
+
+<p>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>Using the all (*) wildcard as the argument to flatten is not supported and 
returns an error.</p>
+
+<h2 id="examples">Examples</h2>
+
+<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="/docs/flatten-function">KVGEN</a> function as shown in the section, 
<a href="/docs/json-data-model/">&quot;JSON Data Model&quot;</a>.</p>
+
+      
+        
+          <div class="doc-nav">
+  
+  <span class="previous-toc"><a href="/docs/nested-data-limitations/">← 
Nested Data Limitations</a></span><span class="next-toc"><a 
href="/docs/kvgen/">KVGEN →</a></span>
+</div>
+
+      
+      </div>
+    </div>
+  </div>
+
+  </div>
+  <p class="push"></p>
+<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>

http://git-wip-us.apache.org/repos/asf/drill-site/blob/c4de0f83/docs/flexibility/index.html
----------------------------------------------------------------------
diff --git a/docs/flexibility/index.html b/docs/flexibility/index.html
new file mode 100644
index 0000000..9c1db29
--- /dev/null
+++ b/docs/flexibility/index.html
@@ -0,0 +1,925 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+
+<meta charset="UTF-8">
+<meta name=viewport content="width=device-width, initial-scale=1">
+
+
+<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/breadcrumbs.css" rel="stylesheet" type="text/css">
+<link href="/css/code.css" rel="stylesheet" type="text/css">
+<link rel="stylesheet" 
href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
+<link href="/css/responsive.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>
+<script language="javascript" type="text/javascript" 
src="/js/drill.js"></script>
+
+
+</head>
+
+<body onResize="resized();">
+  <div class="page-wrap">
+    <div class="bui"></div>
+
+<div id="menu" class="mw">
+<ul>
+  <li class='toc-categories'>
+  <a class="expand-toc-icon" href="javascript:void(0);"><i class="fa 
fa-bars"></i></a>
+  </li>
+  <li class="logo"><a href="/"></a></li>
+  <li class='expand-menu'>
+  <a href="javascript:void(0);"><span class='menu-text'>Menu</span><span 
class='expand-icon'><i class="fa fa-bars"></i></span></a>
+  </li>
+  <li class='clear-float'></li>
+  <li class="documentation-menu">
+    <a href="/docs/">Documentation</a>
+    <ul>
+      
+        <li><a href="/docs/getting-started/">Getting Started</a></li>
+      
+        <li><a href="/docs/architecture/">Architecture</a></li>
+      
+        <li><a href="/docs/tutorials/">Tutorials</a></li>
+      
+        <li><a href="/docs/install-drill/">Install Drill</a></li>
+      
+        <li><a href="/docs/connect-a-data-source/">Connect a Data 
Source</a></li>
+      
+        <li><a href="/docs/odbc-jdbc-interfaces/">ODBC/JDBC Interfaces</a></li>
+      
+        <li><a href="/docs/query-data/">Query Data</a></li>
+      
+        <li><a href="/docs/sql-reference/">SQL Reference</a></li>
+      
+        <li><a href="/docs/data-sources-and-file-formats/">Data Sources and 
File Formats</a></li>
+      
+        <li><a href="/docs/develop-custom-functions/">Develop Custom 
Functions</a></li>
+      
+        <li><a href="/docs/manage-drill/">Manage Drill</a></li>
+      
+        <li><a href="/docs/developer-information/">Developer 
Information</a></li>
+      
+        <li><a href="/docs/release-notes/">Release Notes</a></li>
+      
+        <li><a href="/docs/sample-datasets/">Sample Datasets</a></li>
+      
+        <li><a href="/docs/archived-pages/">Archived Pages</a></li>
+      
+        <li><a href="/docs/progress-reports/">Progress Reports</a></li>
+      
+        <li><a href="/docs/project-bylaws/">Project Bylaws</a></li>
+      
+    </ul>
+  </li>
+  <li class='nav'>
+    <a href="/community-resources/">Community</a>
+    <ul>
+      <li><a href="/team/">Team</a></li>
+      <li><a href="/mailinglists/">Mailing Lists</a></li>
+      <li><a href="/community-resources/">Community Resources</a></li>
+    </ul>
+  </li>
+  <li class='nav'><a href="/faq/">FAQ</a></li>
+  <li class='nav'><a href="/blog/">Blog</a></li>
+  <li id="twitter-menu-item"><a href="https://twitter.com/apachedrill"; 
title="apachedrill on twitter" target="_blank"><img 
src="/images/twitter_32_26_white.png" alt="twitter logo" align="center"></a> 
</li>
+  <li class='search-bar'>
+    <form id="drill-search-form">
+      <input type="text" placeholder="Search Apache Drill" 
id="drill-search-term" />
+      <button type="submit">
+        <i class="fa fa-search"></i>
+      </button>
+    </form>
+  </li>
+  <li class="d">
+    <a href="/download/">
+      <i class="fa fa-cloud-download"></i> Download
+    </a>
+  </li>
+</ul>
+</div>
+
+      
+      
+
+
+
+
+<aside class="sidebar">
+  <div class="docsidebar">
+    <div class="docsidebarwrapper">
+      <ul style="display: block;">
+      
+        
+          <li class="toctree-l1"><a href="javascript: void(0);">Getting 
Started</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/drill-introduction/">Drill Introduction</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/why-drill/">Why Drill</a></li>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1 current_section "><a href="javascript: 
void(0);">Architecture</a></li>
+          <ul class="current_section">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/architecture-introduction/">Architecture Introduction</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/core-modules/">Core Modules</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: 
void(0);">Architectural Highlights</a></li>
+              <ul style="">
+              
+                <li class="toctree-l3 current"><a class="reference internal" 
href="/docs/flexibility/">Flexibility</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/performance/">Performance</a></li>
+              
+            </ul>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: 
void(0);">Tutorials</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/tutorials-introduction/">Tutorials Introduction</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/drill-in-10-minutes/">Drill in 10 Minutes</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/analyzing-the-yelp-academic-dataset/">Analyzing the Yelp Academic 
Dataset</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Learn 
Drill with the MapR Sandbox</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/about-the-mapr-sandbox/">About the MapR Sandbox</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/installing-the-apache-drill-sandbox/">Installing the Apache Drill 
Sandbox</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/getting-to-know-the-drill-sandbox/">Getting to Know the Drill 
Sandbox</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/lession-1-learn-about-the-data-set/">Lession 1: Learn about the 
Data Set</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/lession-2-run-queries-with-ansi-sql/">Lession 2: Run Queries with 
ANSI SQL</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/lession-3-run-queries-on-complex-data-types/">Lession 3: Run 
Queries on Complex Data Types</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/summary/">Summary</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/analyzing-highly-dynamic-datasets/">Analyzing Highly Dynamic 
Datasets</a></li>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: void(0);">Install 
Drill</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/install-drill-introduction/">Install Drill Introduction</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/deploying-drill-in-a-cluster/">Deploying Drill in a Cluster</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Installing 
Drill in Embedded Mode</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/embedded-mode-prerequisites/">Embedded Mode Prerequisites</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/installing-drill-on-linux/">Installing Drill on Linux</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/installing-drill-on-mac-os-x/">Installing Drill on Mac OS X</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/installing-drill-on-windows/">Installing Drill on Windows</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/installing-drill-in-distributed-mode/">Installing Drill in 
Distributed Mode</a></li>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: void(0);">Connect a Data 
Source</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/connect-a-data-source-introduction/">Connect a Data Source 
Introduction</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/storage-plugin-registration/">Storage Plugin Registration</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Storage 
Plugin Configuration</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/plugin-configuration-introduction/">Plugin Configuration 
Introduction</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/workspaces/">Workspaces</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/file-system-storage-plugin/">File System Storage Plugin</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/hbase-storage-plugin/">HBase Storage Plugin</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/hive-storage-plugin/">Hive Storage Plugin</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/drill-default-input-format/">Drill Default Input Format</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/mongodb-plugin-for-apache-drill/">MongoDB Plugin for Apache 
Drill</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/mapr-db-format/">MapR-DB Format</a></li>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: void(0);">ODBC/JDBC 
Interfaces</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/interfaces-introduction/">Interfaces Introduction</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/using-jdbc/">Using JDBC</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Using ODBC 
on Linux and Mac OS X</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/odbc-on-linux-and-mac-introduction/">ODBC on Linux and Mac 
Introduction</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/installing-the-driver-on-linux/">Installing the Driver on 
Linux</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/installing-the-driver-on-mac-os-x/">Installing the Driver on Mac OS 
X</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/configuring-connections-on-linux-and-mac-os-x/">Configuring 
Connections on Linux and Mac OS X</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/driver-configuration-options/">Driver Configuration Options</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/using-a-connection-string/">Using a Connection String</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/advanced-properties/">Advanced Properties</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/testing-the-odbc-connection/">Testing the ODBC Connection</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Using ODBC 
on Windows</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/installing-the-driver-on-windows/">Installing the Driver on 
Windows</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/configuring-connections-on-windows/">Configuring Connections on 
Windows</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/connecting-to-odbc-data-sources/">Connecting to ODBC Data 
Sources</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/tableau-examples/">Tableau Examples</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/using-drill-explorer-on-windows/">Using Drill Explorer on 
Windows</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/using-microstrategy-analytics-with-drill/">Using MicroStrategy 
Analytics with Drill</a></li>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: void(0);">Query 
Data</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/query-data-introduction/">Query Data Introduction</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Querying a 
File System</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/querying-a-file-system-introduction/">Querying a File System 
Introduction</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/querying-json-files/">Querying JSON Files</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/querying-parquet-files/">Querying Parquet Files</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/querying-plain-text-files/">Querying Plain Text Files</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/querying-directories/">Querying Directories</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/querying-hbase/">Querying HBase</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Querying 
Complex Data</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/querying-complex-data-introduction/">Querying Complex Data 
Introduction</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/sample-data-donuts/">Sample Data: Donuts</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/selecting-flat-data/">Selecting Flat Data</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/using-sql-functions-clauses-and-joins/">Using SQL Functions, 
Clauses, and Joins</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/selecting-nested-data-for-a-column/">Selecting Nested Data for a 
Column</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/selecting-multiple-columns-within-nested-data/">Selecting Multiple 
Columns Within Nested Data</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/querying-hive/">Querying Hive</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/querying-the-information-schema/">Querying the INFORMATION 
SCHEMA</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/querying-system-tables/">Querying System Tables</a></li>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: void(0);">SQL 
Reference</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/sql-reference-introduction/">SQL Reference Introduction</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Data 
Types</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/supported-data-types/">Supported Data Types</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/date-time-and-timestamp/">Date, Time, and Timestamp</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/handling-different-data-types/">Handling Different Data 
Types</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/lexical-structure/">Lexical Structure</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/operators/">Operators</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">SQL 
Functions</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/about-sql-function-examples/">About SQL Function Examples</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/math-and-trig/">Math and Trig</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/data-type-conversion/">Data Type Conversion</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/date-time-functions-and-arithmetic/">Date/Time Functions and 
Arithmetic</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/string-manipulation/">String Manipulation</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/aggregate-and-aggregate-statistical/">Aggregate and Aggregate 
Statistical</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/functions-for-handling-nulls/">Functions for Handling Nulls</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Nested 
Data Functions</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/nested-data-limitations/">Nested Data Limitations</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/flatten/">FLATTEN</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/kvgen/">KVGEN</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/repeated-count/">REPEATED_COUNT</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/repeated-contains/">REPEATED_CONTAINS</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/query-directory-functions/">Query Directory Functions</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">SQL 
Commands</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/supported-sql-commands/">Supported SQL Commands</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/alter-session-command/">ALTER SESSION Command</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/alter-system-command/">ALTER SYSTEM Command</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/create-table-as-ctas-command/">CREATE TABLE AS (CTAS) 
command</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/create-view-command/">CREATE VIEW command</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/describe-command/">DESCRIBE Command</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/explain-commands/">EXPLAIN commands</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/select-statements/">SELECT Statements</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/show-databases-and-show-schemas-command/">SHOW DATABASES AND SHOW 
SCHEMAS Command</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/show-files-command/">SHOW FILES Command</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/show-tables-command/">SHOW TABLES Command</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/use-command/">USE Command</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">SQL 
Conditional Expressions</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/case/">CASE</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/reserved-keywords/">Reserved Keywords</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/sql-extensions/">SQL Extensions</a></li>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: void(0);">Data Sources 
and File Formats</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/data-sources-and-file-formats-introduction/">Data Sources and File 
Formats Introduction</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/hive-to-drill-data-type-mapping/">Hive-to-Drill Data Type 
Mapping</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/deploying-and-using-a-hive-udf/">Deploying and Using a Hive 
UDF</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/parquet-format/">Parquet Format</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/json-data-model/">JSON Data Model</a></li>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: void(0);">Develop Custom 
Functions</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/develop-custom-functions-introduction/">Develop Custom Functions 
Introduction</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/develop-a-simple-function/">Develop a Simple Function</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/developing-an-aggregate-function/">Developing an Aggregate 
Function</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/adding-custom-functions-to-drill/">Adding Custom Functions to 
Drill</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/using-custom-functions-in-queries/">Using Custom Functions in 
Queries</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/custom-function-interfaces/">Custom Function Interfaces</a></li>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: void(0);">Manage 
Drill</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/manage-drill-introduction/">Manage Drill Introduction</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/configuring-drill-in-a-dedicated-cluster/">Configuring Drill in a 
Dedicated Cluster</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: 
void(0);">Configuring a Multitenant Cluster</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/configuring-a-multitenant-cluster-introduction/">Configuring a 
Multitenant Cluster Introduction</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/configuring-multitenant-resources/">Configuring Multitenant 
Resources</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/configuring-resources-for-a-shared-drillbit/">Configuring Resources 
for a Shared Drillbit</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: 
void(0);">Configuration Options</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/configuration-options-introduction/">Configuration Options 
Introduction</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/start-up-options/">Start-Up Options</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/planning-and-execution-options/">Planning and Execution 
Options</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/persistent-configuration-storage/">Persistent Configuration 
Storage</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/starting-stopping-drill/">Starting/Stopping Drill</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/ports-used-by-drill/">Ports Used by Drill</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/partition-pruning/">Partition Pruning</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/monitoring-and-canceling-queries-in-the-drill-web-ui/">Monitoring 
and Canceling Queries in the Drill Web UI</a></li>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: void(0);">Developer 
Information</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Develop 
Drill</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/compiling-drill-from-source/">Compiling Drill from Source</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/drill-patch-review-tool/">Drill Patch Review Tool</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Contribute 
to Drill</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/apache-drill-contribution-guidelines/">Apache Drill Contribution 
Guidelines</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/apache-drill-contribution-ideas/">Apache Drill Contribution 
Ideas</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Design 
Docs</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/drill-plan-syntax/">Drill Plan Syntax</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/rpc-overview/">RPC Overview</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/query-stages/">Query Stages</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/useful-research/">Useful Research</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" 
href="/docs/value-vectors/">Value Vectors</a></li>
+              
+            </ul>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: void(0);">Release 
Notes</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/apache-drill-0-5-0-release-notes/">Apache Drill 0.5.0 Release 
Notes</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/apache-drill-0-4-0-release-notes/">Apache Drill 0.4.0 Release 
Notes</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/apache-drill-m1-release-notes-apache-drill-alpha/">Apache Drill M1 
Release Notes (Apache Drill Alpha)</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/apache-drill-m1-release-notes-apache-drill-alpha/">Apache Drill M1 
Release Notes (Apache Drill Alpha)</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/apache-drill-0-6-0-release-notes/">Apache Drill 0.6.0 Release 
Notes</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/apache-drill-0-7-0-release-notes/">Apache Drill 0.7.0 Release 
Notes</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/apache-drill-0-8-0-release-notes/">Apache Drill 0.8.0 Release 
Notes</a></li>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: void(0);">Sample 
Datasets</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/aol-search/">AOL Search</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/enron-emails/">Enron Emails</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/wikipedia-edit-history/">Wikipedia Edit History</a></li>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: void(0);">Archived 
Pages</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/how-to-run-the-drill-demo/">How to Run the Drill Demo</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/what-is-apache-drill/">What is Apache Drill</a></li>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: void(0);">Progress 
Reports</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" 
href="/docs/2014-q1-drill-report/">2014 Q1 Drill Report</a></li>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a class="reference internal" 
href="/docs/project-bylaws/">Project Bylaws</a></li>
+        
+      
+      </ul>
+
+    </div>
+  </div>
+</aside>
+
+
+  <nav class="breadcrumbs">
+  <li><a href="/docs/">Docs</a></li>
+ 
+  
+    <li><a href="/docs/architecture/">Architecture</a></li>
+  
+    <li><a href="/docs/architectural-highlights/">Architectural 
Highlights</a></li>
+  
+  <li>Flexibility</li>
+</nav>
+
+  <div class="main-content-wrapper">
+    <div class="main-content">
+
+      
+        <a class="edit-link" 
href="https://github.com/apache/drill/blob/gh-pages/_docs/architecture/architectural-highlights/010-flexibility.md";
 target="_blank"><i class="fa fa-pencil-square-o"></i></a>
+      
+
+      <div class="int_title">
+        <h1>Flexibility</h1>
+
+      </div>
+
+      <link href="/css/docpage.css" rel="stylesheet" type="text/css">
+
+      <div class="int_text" align="left">
+        
+          <p>The Drill architecture brings the SQL Ecosystem and 
<em>Performance</em> of
+the relational systems to Hadoop scale data <em>without</em> compromising 
+the <em>flexibility</em> of Hadoop/NoSQL systems. There are several core
+architectural elements in Apache Drill that make it a highly flexible and
+efficient query engine.</p>
+
+<p>The following features contribute to Drill&#39;s flexible architecture:</p>
+
+<p><strong><em>Dynamic schema discovery</em></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="/docs/connect-a-data-source-introduction">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 class="doc-nav">
+  
+  <span class="previous-toc"><a href="/docs/architectural-highlights/">← 
Architectural Highlights</a></span><span class="next-toc"><a 
href="/docs/performance/">Performance →</a></span>
+</div>
+
+      
+      </div>
+    </div>
+  </div>
+
+  </div>
+  <p class="push"></p>
+<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>

Reply via email to