drill-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bridg...@apache.org
Subject [5/6] drill-site git commit: Updates and edits
Date Tue, 04 Aug 2015 23:38:28 GMT
http://git-wip-us.apache.org/repos/asf/drill-site/blob/35463930/docs/develop-custom-functions-introduction/index.html
----------------------------------------------------------------------
diff --git a/docs/develop-custom-functions-introduction/index.html b/docs/develop-custom-functions-introduction/index.html
index f8ca215..16076c5 100644
--- a/docs/develop-custom-functions-introduction/index.html
+++ b/docs/develop-custom-functions-introduction/index.html
@@ -801,7 +801,11 @@
             
           
             
-              <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-a-simple-function/">Developing a Simple Function</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" href="/docs/tutorial-develop-a-simple-function/">Tutorial: Develop a Simple Function</a></li>
             
           
             
@@ -1002,23 +1006,25 @@
     <div class="int_text" align="left">
       
         <p>Drill provides a high performance Java API with interfaces that you can
-implement to develop simple and aggregate custom functions. Custom functions
+implement to develop simple custom functions. Custom functions
 are reusable SQL functions that you develop in Java to encapsulate code that
-processes column values during a query. Custom functions can perform
+processes column values during a query. Custom functions have all the performance of the Drill primitive operations. Custom functions can perform
 calculations and transformations that built-in SQL operators and functions do
 not provide. Custom functions are called from within a SQL statement, like a
 regular function, and return a single value.</p>
 
+<p>This section includes a <a href="/docs/tutorial-develop-a-simple-function/">tutorial</a> for creating a simple function that is based on a github project, which you can download. </p>
+
 <h2 id="simple-function">Simple Function</h2>
 
 <p>A simple function operates on a single row and produces a single row as the
 output. When you include a simple function in a query, the function is called
 once for each row in the result set. Mathematical and string functions are
-examples of simple functions.</p>
+examples of simple functions. </p>
 
 <h2 id="aggregate-function">Aggregate Function</h2>
 
-<p>Aggregate functions differ from simple functions in the number of rows that
+<p>The API for developing aggregate custom functions is at the alpha stage and intended for experimental use only. Aggregate functions differ from simple functions in the number of rows that
 they accept as input. An aggregate function operates on multiple input rows
 and produces a single row as output. The COUNT(), MAX(), SUM(), and AVG()
 functions are examples of aggregate functions. You can use an aggregate
@@ -1041,7 +1047,7 @@ complete the following tasks:</p>
       
         <div class="doc-nav">
   
-  <span class="previous-toc"><a href="/docs/develop-custom-functions/">← Develop Custom Functions</a></span><span class="next-toc"><a href="/docs/develop-a-simple-function/">Develop a Simple Function →</a></span>
+  <span class="previous-toc"><a href="/docs/develop-custom-functions/">← Develop Custom Functions</a></span><span class="next-toc"><a href="/docs/developing-a-simple-function/">Developing a Simple Function →</a></span>
 </div>
 
     

http://git-wip-us.apache.org/repos/asf/drill-site/blob/35463930/docs/develop-custom-functions/index.html
----------------------------------------------------------------------
diff --git a/docs/develop-custom-functions/index.html b/docs/develop-custom-functions/index.html
index e8fe363..7dc044a 100644
--- a/docs/develop-custom-functions/index.html
+++ b/docs/develop-custom-functions/index.html
@@ -801,7 +801,11 @@
             
           
             
-              <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-a-simple-function/">Developing a Simple Function</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" href="/docs/tutorial-develop-a-simple-function/">Tutorial: Develop a Simple Function</a></li>
             
           
             
@@ -1004,7 +1008,10 @@
           <li><a href="/docs/develop-custom-functions-introduction/">Develop Custom Functions Introduction</a></li>
         
       
-          <li><a href="/docs/develop-a-simple-function/">Develop a Simple Function</a></li>
+          <li><a href="/docs/developing-a-simple-function/">Developing a Simple Function</a></li>
+        
+      
+          <li><a href="/docs/tutorial-develop-a-simple-function/">Tutorial: Develop a Simple Function</a></li>
         
       
           <li><a href="/docs/developing-an-aggregate-function/">Developing an Aggregate Function</a></li>

http://git-wip-us.apache.org/repos/asf/drill-site/blob/35463930/docs/develop-drill/index.html
----------------------------------------------------------------------
diff --git a/docs/develop-drill/index.html b/docs/develop-drill/index.html
index 8b4d4ce..0332719 100644
--- a/docs/develop-drill/index.html
+++ b/docs/develop-drill/index.html
@@ -801,7 +801,11 @@
             
           
             
-              <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-a-simple-function/">Developing a Simple Function</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" href="/docs/tutorial-develop-a-simple-function/">Tutorial: Develop a Simple Function</a></li>
             
           
             

http://git-wip-us.apache.org/repos/asf/drill-site/blob/35463930/docs/developer-information/index.html
----------------------------------------------------------------------
diff --git a/docs/developer-information/index.html b/docs/developer-information/index.html
index ffe6851..3655c60 100644
--- a/docs/developer-information/index.html
+++ b/docs/developer-information/index.html
@@ -801,7 +801,11 @@
             
           
             
-              <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-a-simple-function/">Developing a Simple Function</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" href="/docs/tutorial-develop-a-simple-function/">Tutorial: Develop a Simple Function</a></li>
             
           
             

http://git-wip-us.apache.org/repos/asf/drill-site/blob/35463930/docs/developing-a-simple-function/index.html
----------------------------------------------------------------------
diff --git a/docs/developing-a-simple-function/index.html b/docs/developing-a-simple-function/index.html
new file mode 100644
index 0000000..379f130
--- /dev/null
+++ b/docs/developing-a-simple-function/index.html
@@ -0,0 +1,1085 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+
+<meta charset="UTF-8">
+<meta name=viewport content="width=device-width, initial-scale=1">
+
+
+<title>Developing a Simple Function - Apache Drill</title>
+
+<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet" type="text/css"/>
+<link href='//fonts.googleapis.com/css?family=PT+Sans' rel='stylesheet' type='text/css'/>
+<link href="/css/site.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 src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js" language="javascript" type="text/javascript"></script>
+<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.3/jquery.easing.min.js" language="javascript" type="text/javascript"></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/configure-drill/">Configure 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/performance-tuning/">Performance Tuning</a></li>
+      
+        <li><a href="/docs/log-and-debug/">Log and Debug</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/troubleshooting/">Troubleshooting</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>
+
+    <link href="/css/content.css" rel="stylesheet" type="text/css">
+
+
+      
+
+
+
+
+<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/drill-query-execution/">Drill Query Execution</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" href="/docs/core-modules/">Core Modules</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" href="/docs/performance/">Performance</a></li>
+            
+          
+          </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/lesson-1-learn-about-the-data-set/">Lesson 1: Learn about the Data Set</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/lesson-2-run-queries-with-ansi-sql/">Lesson 2: Run Queries with ANSI SQL</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/lesson-3-run-queries-on-complex-data-types/">Lesson 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>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" href="/docs/analyzing-social-media/">Analyzing Social Media</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 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-and-mac-os-x/">Installing Drill on Linux and Mac OS X</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/starting-drill-on-linux-and-mac-os-x/">Starting Drill on Linux and 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>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/starting-drill-on-windows/">Starting Drill on Windows</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Installing Drill in Distributed Mode</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/distributed-mode-prerequisites/">Distributed Mode Prerequisites</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/installing-drill-on-the-cluster/">Installing Drill on the Cluster</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/starting-drill-in-distributed-mode/">Starting Drill in Distributed Mode</a></li>
+              
+            </ul>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: void(0);">Configure Drill</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" href="/docs/configure-drill-introduction/">Configure Drill Introduction</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" href="/docs/configuring-drill-memory/">Configuring Drill Memory</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 class="reference internal" href="/docs/configuring-user-impersonation/">Configuring User Impersonation</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" href="/docs/configuring-user-authentication/">Configuring User Authentication</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" href="/docs/configuring-user-impersonation-with-hive-authorization/">Configuring User Impersonation with Hive Authorization</a></li>
+            
+          
+            
+              <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/ports-used-by-drill/">Ports Used by Drill</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" href="/docs/configuring-the-drill-shell/">Configuring the Drill Shell</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-basics/">Plugin Configuration Basics</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/workspaces/">Workspaces</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-the-jdbc-driver/">Using the JDBC Driver</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" href="/docs/using-jdbc-with-squirrel-on-windows/">Using JDBC with SQuirreL on Windows</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Installing the ODBC Driver</a></li>
+              <ul style="display: none">
+              
+                <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/installing-the-driver-on-windows/">Installing the Driver on Windows</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/installing-the-tdc-file-on-windows/">Installing the TDC File on Windows</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Configuring ODBC</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/odbc-configuration-reference/">ODBC Configuration Reference</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-odbc-on-linux/">Configuring ODBC on Linux</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-odbc-on-mac-os-x/">Configuring ODBC on Mac OS X</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-odbc-on-windows/">Configuring ODBC on Windows</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 Drill Explorer</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/drill-explorer-introduction/">Drill Explorer Introduction</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/connecting-drill-explorer-to-data/">Connecting Drill Explorer to Data</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/browsing-data-and-defining-views/">Browsing Data and Defining Views</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Using Drill with BI Tools</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/using-drill-with-bi-tools-introduction/">Using Drill with BI Tools Introduction</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-microstrategy-analytics-with-apache-drill/">Using MicroStrategy Analytics with Apache Drill</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/using-tibco-spotfire-desktop-with-drill/">Using Tibco Spotfire Desktop with Drill</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-tibco-spotfire-server-with-drill/">Configuring Tibco Spotfire Server with Drill</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/using-apache-drill-with-tableau-9-desktop/">Using Apache Drill with Tableau 9 Desktop</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/using-apache-drill-with-tableau-9-server/">Using Apache Drill with Tableau 9 Server</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/configuring-jreport-with-drill/">Configuring JReport with Drill</a></li>
+              
+            </ul>
+            
+          
+          </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>
+            
+          
+            
+              <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);">Performance Tuning</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" href="/docs/performance-tuning-introduction/">Performance Tuning Introduction</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/choosing-a-storage-format/">Choosing a Storage Format</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Query Plans and Tuning</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/query-plans-and-tuning-introduction/">Query Plans and Tuning Introduction</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/join-planning-guidelines/">Join Planning Guidelines</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/guidelines-for-optimizing-aggregation/">Guidelines for Optimizing Aggregation</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/modifying-query-planning-options/">Modifying Query Planning Options</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/sort-based-and-hash-based-memory-constrained-operators/">Sort-Based and Hash-Based Memory-Constrained Operators</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/enabling-query-queuing/">Enabling Query Queuing</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/controlling-parallelization-to-balance-performance-with-multi-tenancy/">Controlling Parallelization to Balance Performance with Multi-Tenancy</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Identifying Performance Issues</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/query-plans/">Query Plans</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/query-profiles/">Query Profiles</a></li>
+              
+            </ul>
+            
+          
+            
+              <li class="toctree-l2"><a href="javascript: void(0);">Performance Tuning Reference</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/query-profile-column-descriptions/">Query Profile Column Descriptions</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/physical-operators/">Physical Operators</a></li>
+              
+            </ul>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1"><a href="javascript: void(0);">Log and Debug</a></li>
+          <ul style="display: none">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" href="/docs/log-and-debug-introduction/">Log and Debug Introduction</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" href="/docs/error-messages/">Error Messages</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" href="/docs/modify-logback-xml/">Modify logback.xml</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" href="/docs/review-the-java-stack-trace/">Review the Java Stack Trace</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" href="/docs/query-audit-logging/">Query Audit Logging</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);">SQL Window Functions</a></li>
+              <ul style="display: none">
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/sql-window-functions-introduction/">SQL Window Functions Introduction</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/aggregate-window-functions/">Aggregate Window Functions</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/ranking-window-functions/">Ranking Window Functions</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/sql-window-functions-examples/">SQL Window Functions Examples</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/">ALTER SESSION</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/alter-system/">ALTER SYSTEM</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/create-table-as-ctas/">CREATE TABLE AS (CTAS)</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/partition-by-clause/">PARTITION BY Clause</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/create-view/">CREATE VIEW</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/drop-view/">DROP VIEW</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/describe/">DESCRIBE</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/explain/">EXPLAIN</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/select/">SELECT</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/select-list/">SELECT List</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/from-clause/">FROM Clause</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/group-by-clause/">GROUP BY Clause</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/having-clause/">HAVING Clause</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/limit-clause/">LIMIT Clause</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/offset-clause/">OFFSET Clause</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/order-by-clause/">ORDER BY Clause</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/union-set-operator/">UNION Set Operator</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/where-clause/">WHERE Clause</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/with-clause/">WITH Clause</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/show-databases-and-show-schemas/">SHOW DATABASES and SHOW SCHEMAS</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/show-files/">SHOW FILES</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/show-tables/">SHOW TABLES</a></li>
+              
+                <li class="toctree-l3"><a class="reference internal" href="/docs/use/">USE</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>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" href="/docs/text-files-csv-tsv-psv/">Text Files: CSV, TSV, PSV</a></li>
+            
+          
+          </ul>
+        
+      
+        
+          <li class="toctree-l1 current_section "><a href="javascript: void(0);">Develop Custom Functions</a></li>
+          <ul class="current_section">
+          
+            
+              <li class="toctree-l2"><a class="reference internal" href="/docs/develop-custom-functions-introduction/">Develop Custom Functions Introduction</a></li>
+            
+          
+            
+              <li class="toctree-l2 current"><a class="reference internal" href="/docs/developing-a-simple-function/">Developing a Simple Function</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" href="/docs/tutorial-develop-a-simple-function/">Tutorial: 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 class="reference internal" href="/docs/troubleshooting/">Troubleshooting</a></li>
+        
+      
+        
+          <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-1-1-0-release-notes/">Apache Drill 1.1.0 Release Notes</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" href="/docs/apache-drill-1-0-0-release-notes/">Apache Drill 1.0.0 Release Notes</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" href="/docs/apache-drill-0-9-0-release-notes/">Apache Drill 0.9.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>
+            
+          
+            
+              <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-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-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-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>
+            
+          
+          </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/develop-custom-functions/">Develop Custom Functions</a></li>
+  
+  <li>Developing a Simple Function</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/develop-custom-functions/020-developing-a-simple-function.md" target="_blank"><i class="fa fa-pencil-square-o"></i></a>
+    
+
+    <div class="int_title left">
+      <h1>Developing a Simple Function</h1>
+
+    </div>
+
+    <link href="/css/docpage.css" rel="stylesheet" type="text/css">
+
+    <div class="int_text" align="left">
+      
+        <p>The section presents a brief overview of developing a simple function. The <a href="/docs/tutorial-develop-a-simple-function/">tutorial</a> in the next section covers how to create a simple function in more depth.</p>
+
+<p>To develop a simple function, you need to create a class within a Java package that implements Drill’s simple interface
+into the program, and include the required information for the function type.
+Your function must use <a href="/docs/supported-data-types/">data types</a> that Drill supports. </p>
+
+<p>Complete the following steps to develop a simple function using Drill’s simple
+function interface:</p>
+
+<ol>
+<li><p>Create a Maven project and add the following dependency:</p>
+<div class="highlight"><pre><code class="language-text" data-lang="text">&lt;dependency&gt;
+&lt;groupId&gt;org.apache.drill.exec&lt;/groupId&gt;
+&lt;artifactId&gt;drill-java-exec&lt;/artifactId&gt;
+&lt;version&gt;1.1.0&lt;/version&gt;
+&lt;/dependency&gt;
+</code></pre></div></li>
+<li><p>Create a class that implements the <code>DrillSimpleFunc</code> interface and identify the scope as <code>FunctionScope.SIMPLE</code>.</p>
+
+<p><strong>Example</strong></p>
+<div class="highlight"><pre><code class="language-text" data-lang="text">@FunctionTemplate(name = &quot;myaddints&quot;, scope = FunctionScope.SIMPLE, nulls = NullHandling.NULL_IF_NULL)
+  public static class IntIntAdd implements DrillSimpleFunc {
+</code></pre></div></li>
+<li><p>Provide the variables used in the code in the <code>Param</code> and <code>Output</code> bit holders.</p>
+
+<p><strong>Example</strong></p>
+<div class="highlight"><pre><code class="language-text" data-lang="text">@Param IntHolder in1;
+@Param IntHolder in2;
+@Output IntHolder out;
+</code></pre></div></li>
+<li><p>Add the code that performs operations for the function in the eval() method.</p>
+
+<p><strong>Example</strong></p>
+<div class="highlight"><pre><code class="language-text" data-lang="text">public void setup() {
+}
+public void eval() {
+  out.value = in1.value + in2.value;
+}
+</code></pre></div></li>
+<li><p>Use the maven-source-plugin to compile the sources and classes JAR files. Verify that an empty <code>drill-module.conf</code> is included in the resources folder.<br>
+Drill searches this module during classpath scanning. If the file is not
+included in the resources folder, you can add it to the JAR file or add it to
+<code>etc/drill/conf</code>.</p></li>
+</ol>
+
+    
+      
+        <div class="doc-nav">
+  
+  <span class="previous-toc"><a href="/docs/develop-custom-functions-introduction/">← Develop Custom Functions Introduction</a></span><span class="next-toc"><a href="/docs/tutorial-develop-a-simple-function/">Tutorial: Develop a Simple Function →</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/35463930/docs/developing-an-aggregate-function/index.html
----------------------------------------------------------------------
diff --git a/docs/developing-an-aggregate-function/index.html b/docs/developing-an-aggregate-function/index.html
index ff44fcf..3fad883 100644
--- a/docs/developing-an-aggregate-function/index.html
+++ b/docs/developing-an-aggregate-function/index.html
@@ -801,7 +801,11 @@
             
           
             
-              <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-a-simple-function/">Developing a Simple Function</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" href="/docs/tutorial-develop-a-simple-function/">Tutorial: Develop a Simple Function</a></li>
             
           
             
@@ -1001,7 +1005,7 @@
 
     <div class="int_text" align="left">
       
-        <p>Create a class within a Java package that implements Drill’s aggregate
+        <p>The API for developing aggregate custom functions is at the alpha stage and intended for experimental use only. To experiment with this API, create a class within a Java package that implements Drill’s aggregate
 interface into the program. Include the required information for the function.
 Your function must include data types that Drill supports, such as INTEGER or
 BIGINT. For a list of supported data types, refer to the <a href="/docs/supported-data-types/">SQL Reference</a>.</p>
@@ -1029,7 +1033,7 @@ public static class BitCount implements DrillAggFunc{
 @Workspace BitHolder value;
 @Output BitHolder out;
 </code></pre></div></li>
-<li><p>Include the <code>setup(), add(), output(),</code> and <code>reset()</code> methods.  </p>
+<li><p>Include the setup(), add(), output(),<code>and</code>reset() methods.  </p>
 
 <p><strong>Example</strong>
     public void setup() {
@@ -1058,7 +1062,7 @@ included in the resources folder, you can add it to the JAR file or add it to
       
         <div class="doc-nav">
   
-  <span class="previous-toc"><a href="/docs/develop-a-simple-function/">← Develop a Simple Function</a></span><span class="next-toc"><a href="/docs/adding-custom-functions-to-drill/">Adding Custom Functions to Drill →</a></span>
+  <span class="previous-toc"><a href="/docs/tutorial-develop-a-simple-function/">← Tutorial: Develop a Simple Function</a></span><span class="next-toc"><a href="/docs/adding-custom-functions-to-drill/">Adding Custom Functions to Drill →</a></span>
 </div>
 
     

http://git-wip-us.apache.org/repos/asf/drill-site/blob/35463930/docs/distributed-mode-prerequisites/index.html
----------------------------------------------------------------------
diff --git a/docs/distributed-mode-prerequisites/index.html b/docs/distributed-mode-prerequisites/index.html
index 6fee742..a18631e 100644
--- a/docs/distributed-mode-prerequisites/index.html
+++ b/docs/distributed-mode-prerequisites/index.html
@@ -801,7 +801,11 @@
             
           
             
-              <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-a-simple-function/">Developing a Simple Function</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" href="/docs/tutorial-develop-a-simple-function/">Tutorial: Develop a Simple Function</a></li>
             
           
             

http://git-wip-us.apache.org/repos/asf/drill-site/blob/35463930/docs/drill-default-input-format/index.html
----------------------------------------------------------------------
diff --git a/docs/drill-default-input-format/index.html b/docs/drill-default-input-format/index.html
index a142bfd..954ea36 100644
--- a/docs/drill-default-input-format/index.html
+++ b/docs/drill-default-input-format/index.html
@@ -801,7 +801,11 @@
             
           
             
-              <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-a-simple-function/">Developing a Simple Function</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" href="/docs/tutorial-develop-a-simple-function/">Tutorial: Develop a Simple Function</a></li>
             
           
             
@@ -1004,48 +1008,36 @@
     <div class="int_text" align="left">
       
         <p>You can define a default input format to tell Drill what file type exists in a
-workspace within a file system. Drill determines the file type based on file
-extensions and magic numbers when searching a workspace.</p>
+workspace within a file system. </p>
 
-<p>Magic numbers are file signatures that Drill uses to identify Parquet files.
-If Drill cannot identify the file type based on file extensions or magic
+<p>Normally, Drill determines the file type based on file
+extensions and <em>magic numbers</em> when searching a workspace. Magic numbers are file signatures that Drill uses to identify Parquet files. If Drill cannot identify the file type based on file extensions or magic
 numbers, the query fails. Defining a default input format can prevent queries
 from failing in situations where Drill cannot determine the file type.</p>
 
-<p>If you incorrectly define the file type in a workspace and Drill cannot
-determine the file type, the query fails. For example, if JSON files do not have a <code>.json</code> extension, the query fails.</p>
-
-<p>You can define one default input format per workspace. If you do not define a
-default input format, and Drill cannot detect the file format, the query
-fails. You can define a default input format for any of the file types that
-Drill supports. Currently, Drill supports the following types:</p>
+<p>If you do not define the default file type in a workspace or incorrectly define the default file type, and Drill cannot
+determine the file type without this information, the query fails. You can define one default input format per workspace. You can define a default input format for any of the file types that
+Drill supports. Currently, Drill supports the following input types:</p>
 
 <ul>
 <li>Avro</li>
 <li>CSV, TSV, or PSV</li>
 <li>Parquet</li>
 <li>JSON</li>
-<li>MapR-DB*</li>
 </ul>
 
-<p>* Only available when you install Drill on a cluster using the mapr-drill package.</p>
-
-<h2 id="defining-a-default-input-format">Defining a Default Input Format</h2>
-
-<p>You define the default input format for a file system workspace through the
-Drill Web UI. You must have a <a href="/docs/workspaces">defined workspace</a> before you can define a
-default input format.</p>
+<p>You must have a <a href="/docs/workspaces">defined workspace</a> before you can define a default input format.</p>
 
-<p>To define a default input format for a workspace, complete the following
-steps:</p>
+<p>To define a default input format for a workspace:</p>
 
 <ol>
-<li>Navigate to the Drill Web UI at <code>&lt;drill_node_ip_address&gt;:8047</code>. The Drillbit process must be running on the node before you connect to the Drill Web UI.</li>
+<li>Navigate to the <a href="/docs/plugin-configuration-basics/#using-the-drill-web-ui">Drill Web UI</a>. The Drillbit process must be running on the node before you connect to the Drill Web UI.</li>
 <li>Select <strong>Storage</strong> in the toolbar.</li>
-<li>Click <strong>Update</strong> next to the storage plugin for which you want to define a default input format for a workspace.</li>
-<li><p>In the Configuration area, locate the workspace, and change the <code>defaultInputFormat</code> attribute to any of the supported file types.</p>
+<li>Click <strong>Update</strong> next to the storage plugin configuration for which you want to define a default input format for a workspace.</li>
+<li>In the Configuration area, locate the workspace, and change the <code>defaultInputFormat</code> attribute to any of the supported file types.</li>
+</ol>
 
-<p><strong>Example</strong></p>
+<h3 id="example-of-defining-a-default-input-format">Example of Defining a Default Input Format</h3>
 <div class="highlight"><pre><code class="language-text" data-lang="text">{
   &quot;type&quot;: &quot;file&quot;,
   &quot;enabled&quot;: true,
@@ -1054,20 +1046,14 @@ steps:</p>
     &quot;root&quot;: {
       &quot;location&quot;: &quot;/drill/testdata&quot;,
       &quot;writable&quot;: false,
-      &quot;defaultInputFormat&quot;: csv
+      &quot;defaultInputFormat&quot;: &quot;csv&quot;
   },
   &quot;local&quot; : {
     &quot;location&quot; : &quot;/max/proddata&quot;,
     &quot;writable&quot; : true,
     &quot;defaultInputFormat&quot; : &quot;json&quot;
 }
-</code></pre></div></li>
-</ol>
-
-<h2 id="querying-compressed-files">Querying Compressed Files</h2>
-
-<p>You can query compressed GZ files, such as JSON and CSV, as well as uncompressed files. The file extension specified in the <code>formats . . . extensions</code> property of the storage plugin configuration must precede the gz extension in the file name. For example, <code>proddata.json.gz</code> or <code>mydata.csv.gz</code> are valid file names to use in a query, as shown in the example in <a href="/docs/querying-plain-text-files/#query-the-gz-file-directly">&quot;Querying the GZ File Directly&quot;</a>.</p>
-
+</code></pre></div>
     
       
         <div class="doc-nav">

http://git-wip-us.apache.org/repos/asf/drill-site/blob/35463930/docs/drill-explorer-introduction/index.html
----------------------------------------------------------------------
diff --git a/docs/drill-explorer-introduction/index.html b/docs/drill-explorer-introduction/index.html
index 91d8696..43ecf0c 100644
--- a/docs/drill-explorer-introduction/index.html
+++ b/docs/drill-explorer-introduction/index.html
@@ -801,7 +801,11 @@
             
           
             
-              <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-a-simple-function/">Developing a Simple Function</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" href="/docs/tutorial-develop-a-simple-function/">Tutorial: Develop a Simple Function</a></li>
             
           
             

http://git-wip-us.apache.org/repos/asf/drill-site/blob/35463930/docs/drill-in-10-minutes/index.html
----------------------------------------------------------------------
diff --git a/docs/drill-in-10-minutes/index.html b/docs/drill-in-10-minutes/index.html
index 7bbfde8..0775d45 100644
--- a/docs/drill-in-10-minutes/index.html
+++ b/docs/drill-in-10-minutes/index.html
@@ -801,7 +801,11 @@
             
           
             
-              <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-a-simple-function/">Developing a Simple Function</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" href="/docs/tutorial-develop-a-simple-function/">Tutorial: Develop a Simple Function</a></li>
             
           
             

http://git-wip-us.apache.org/repos/asf/drill-site/blob/35463930/docs/drill-introduction/index.html
----------------------------------------------------------------------
diff --git a/docs/drill-introduction/index.html b/docs/drill-introduction/index.html
index e6ebe9a..08ec0d8 100644
--- a/docs/drill-introduction/index.html
+++ b/docs/drill-introduction/index.html
@@ -801,7 +801,11 @@
             
           
             
-              <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-a-simple-function/">Developing a Simple Function</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" href="/docs/tutorial-develop-a-simple-function/">Tutorial: Develop a Simple Function</a></li>
             
           
             

http://git-wip-us.apache.org/repos/asf/drill-site/blob/35463930/docs/drill-patch-review-tool/index.html
----------------------------------------------------------------------
diff --git a/docs/drill-patch-review-tool/index.html b/docs/drill-patch-review-tool/index.html
index 8d5bdb5..e00394b 100644
--- a/docs/drill-patch-review-tool/index.html
+++ b/docs/drill-patch-review-tool/index.html
@@ -801,7 +801,11 @@
             
           
             
-              <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-a-simple-function/">Developing a Simple Function</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" href="/docs/tutorial-develop-a-simple-function/">Tutorial: Develop a Simple Function</a></li>
             
           
             

http://git-wip-us.apache.org/repos/asf/drill-site/blob/35463930/docs/drill-plan-syntax/index.html
----------------------------------------------------------------------
diff --git a/docs/drill-plan-syntax/index.html b/docs/drill-plan-syntax/index.html
index a9bf838..5726306 100644
--- a/docs/drill-plan-syntax/index.html
+++ b/docs/drill-plan-syntax/index.html
@@ -801,7 +801,11 @@
             
           
             
-              <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-a-simple-function/">Developing a Simple Function</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" href="/docs/tutorial-develop-a-simple-function/">Tutorial: Develop a Simple Function</a></li>
             
           
             

http://git-wip-us.apache.org/repos/asf/drill-site/blob/35463930/docs/drill-query-execution/index.html
----------------------------------------------------------------------
diff --git a/docs/drill-query-execution/index.html b/docs/drill-query-execution/index.html
index f00962a..b5d565a 100644
--- a/docs/drill-query-execution/index.html
+++ b/docs/drill-query-execution/index.html
@@ -801,7 +801,11 @@
             
           
             
-              <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-a-simple-function/">Developing a Simple Function</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" href="/docs/tutorial-develop-a-simple-function/">Tutorial: Develop a Simple Function</a></li>
             
           
             

http://git-wip-us.apache.org/repos/asf/drill-site/blob/35463930/docs/drop-view/index.html
----------------------------------------------------------------------
diff --git a/docs/drop-view/index.html b/docs/drop-view/index.html
index 6b3ec49..26486ed 100644
--- a/docs/drop-view/index.html
+++ b/docs/drop-view/index.html
@@ -801,7 +801,11 @@
             
           
             
-              <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-a-simple-function/">Developing a Simple Function</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" href="/docs/tutorial-develop-a-simple-function/">Tutorial: Develop a Simple Function</a></li>
             
           
             

http://git-wip-us.apache.org/repos/asf/drill-site/blob/35463930/docs/embedded-mode-prerequisites/index.html
----------------------------------------------------------------------
diff --git a/docs/embedded-mode-prerequisites/index.html b/docs/embedded-mode-prerequisites/index.html
index 33b0b63..bae5c5e 100644
--- a/docs/embedded-mode-prerequisites/index.html
+++ b/docs/embedded-mode-prerequisites/index.html
@@ -801,7 +801,11 @@
             
           
             
-              <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-a-simple-function/">Developing a Simple Function</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" href="/docs/tutorial-develop-a-simple-function/">Tutorial: Develop a Simple Function</a></li>
             
           
             

http://git-wip-us.apache.org/repos/asf/drill-site/blob/35463930/docs/enabling-query-queuing/index.html
----------------------------------------------------------------------
diff --git a/docs/enabling-query-queuing/index.html b/docs/enabling-query-queuing/index.html
index 744a23f..a05955c 100644
--- a/docs/enabling-query-queuing/index.html
+++ b/docs/enabling-query-queuing/index.html
@@ -801,7 +801,11 @@
             
           
             
-              <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-a-simple-function/">Developing a Simple Function</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" href="/docs/tutorial-develop-a-simple-function/">Tutorial: Develop a Simple Function</a></li>
             
           
             

http://git-wip-us.apache.org/repos/asf/drill-site/blob/35463930/docs/enron-emails/index.html
----------------------------------------------------------------------
diff --git a/docs/enron-emails/index.html b/docs/enron-emails/index.html
index e27d924..eb7854f 100644
--- a/docs/enron-emails/index.html
+++ b/docs/enron-emails/index.html
@@ -801,7 +801,11 @@
             
           
             
-              <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-a-simple-function/">Developing a Simple Function</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" href="/docs/tutorial-develop-a-simple-function/">Tutorial: Develop a Simple Function</a></li>
             
           
             

http://git-wip-us.apache.org/repos/asf/drill-site/blob/35463930/docs/error-messages/index.html
----------------------------------------------------------------------
diff --git a/docs/error-messages/index.html b/docs/error-messages/index.html
index 08681e8..8b535e6 100644
--- a/docs/error-messages/index.html
+++ b/docs/error-messages/index.html
@@ -801,7 +801,11 @@
             
           
             
-              <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-a-simple-function/">Developing a Simple Function</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" href="/docs/tutorial-develop-a-simple-function/">Tutorial: Develop a Simple Function</a></li>
             
           
             

http://git-wip-us.apache.org/repos/asf/drill-site/blob/35463930/docs/explain/index.html
----------------------------------------------------------------------
diff --git a/docs/explain/index.html b/docs/explain/index.html
index 3b53dc7..19b63f6 100644
--- a/docs/explain/index.html
+++ b/docs/explain/index.html
@@ -801,7 +801,11 @@
             
           
             
-              <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-a-simple-function/">Developing a Simple Function</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" href="/docs/tutorial-develop-a-simple-function/">Tutorial: Develop a Simple Function</a></li>
             
           
             

http://git-wip-us.apache.org/repos/asf/drill-site/blob/35463930/docs/file-system-storage-plugin/index.html
----------------------------------------------------------------------
diff --git a/docs/file-system-storage-plugin/index.html b/docs/file-system-storage-plugin/index.html
index 498da94..de434e6 100644
--- a/docs/file-system-storage-plugin/index.html
+++ b/docs/file-system-storage-plugin/index.html
@@ -801,7 +801,11 @@
             
           
             
-              <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-a-simple-function/">Developing a Simple Function</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" href="/docs/tutorial-develop-a-simple-function/">Tutorial: Develop a Simple Function</a></li>
             
           
             
@@ -1003,65 +1007,71 @@
 
     <div class="int_text" align="left">
       
-        <p>You can register a storage plugin instance that connects Drill to a local file system or to a distributed file system registered in <code>core-site.xml</code>, such as S3
+        <p>You can register a storage plugin configuration that connects Drill to a local file system or to a distributed file system registered in the Hadoop <code>core-site.xml</code>, such as S3
 or HDFS. By
-default, Apache Drill includes an storage plugin named <code>dfs</code> that points to the local file
+default, Apache Drill includes a storage plugin configuration named <code>dfs</code> that points to the local file
 system on your machine by default. </p>
 
 <h2 id="connecting-drill-to-a-file-system">Connecting Drill to a File System</h2>
 
-<p>In a Drill cluster, you typically do not query the local file system, but instead place files on the distributed file system. You configure the connection property of the storage plugin workspace to connect Drill to a distributed file system. For example, the following connection properties connect Drill to an HDFS cluster from a client:</p>
+<p>In a Drill cluster, you typically do not query the local file system, but instead place files on the distributed file system. Currently, you need to use a distributed file system when connecting multiple Drillbits to get complete, consistent query results.</p>
+
+<p>You configure the connection property of the storage plugin workspace to connect Drill to a distributed file system. For example, the following connection property connects Drill to an HDFS cluster from a client:</p>
 
 <p><code>&quot;connection&quot;: &quot;hdfs://&lt;IP Address&gt;:&lt;Port&gt;/&quot;</code>   </p>
 
-<p>To query a file on HDFS from a node on the cluster, you can simply change the connection to from <code>file:///</code> to <code>hdfs://</code> in the <code>dfs</code> storage plugin.</p>
+<p>To query a file on HDFS from a node on the cluster, you can simply change the connection from <code>file:///</code> to <code>hdfs://</code> in the <code>dfs</code> storage plugin.</p>
 
-<p>To change the <code>dfs</code> storage plugin configuration to point to a local or a distributed file system, use <code>connection</code> attributes as shown in the following example.
-* Local file system example:</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;file:///&quot;,
-  &quot;workspaces&quot;: {
-    &quot;root&quot;: {
-      &quot;location&quot;: &quot;/user/max/donuts&quot;,
-      &quot;writable&quot;: false,
-      &quot;defaultInputFormat&quot;: null
-     }
-  },
-     &quot;formats&quot; : {
-       &quot;json&quot; : {
-         &quot;type&quot; : &quot;json&quot;
+<p>To change the <code>dfs</code> storage plugin configuration to point to a different local or a distributed file system, use <code>connection</code> attributes as shown in the following examples.</p>
+
+<ul>
+<li>Local file system example:</li>
+</ul>
+<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;file:///&quot;,
+    &quot;workspaces&quot;: {
+      &quot;root&quot;: {
+        &quot;location&quot;: &quot;/user/max/donuts&quot;,
+        &quot;writable&quot;: false,
+        &quot;defaultInputFormat&quot;: null
        }
-     }
+    },
+    &quot;formats&quot; : {
+      &quot;json&quot; : {
+        &quot;type&quot; : &quot;json&quot;
+      }
+    }
   }
 </code></pre></div>
 <ul>
-<li><p>Distributed file system example:</p>
-
-<p>{
-  &quot;type&quot; : &quot;file&quot;,
-  &quot;enabled&quot; : true,
-  &quot;connection&quot; : &quot;hdfs://10.10.30.156:8020/&quot;,
-  &quot;workspaces&quot; : {
-    &quot;root&quot; : {
-      &quot;location&quot; : &quot;/user/root/drill&quot;,
-      &quot;writable&quot; : true,
-      &quot;defaultInputFormat&quot; : null
-    }
-  },
-  &quot;formats&quot; : {
-    &quot;json&quot; : {
-      &quot;type&quot; : &quot;json&quot;
+<li>Distributed file system example:</li>
+</ul>
+<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;hdfs://10.10.30.156:8020/&quot;,
+    &quot;workspaces&quot; : {
+      &quot;root&quot; : {
+        &quot;location&quot; : &quot;/user/root/drill&quot;,
+        &quot;writable&quot; : true,
+        &quot;defaultInputFormat&quot; : null
+      }
+    },
+    &quot;formats&quot; : {
+      &quot;json&quot; : {
+        &quot;type&quot; : &quot;json&quot;
+      }
     }
   }
-}</p></li>
-</ul>
+</code></pre></div>
+<p>To connect to a Hadoop file system, you include the IP address and port number of the
+name node.</p>
 
-<p>To connect to a Hadoop file system, you include the IP address of the
-name node and the port number.</p>
+<h3 id="querying-donuts-example">Querying Donuts Example</h3>
 
-<p>The following example shows an file type storage plugin configuration with a
+<p>The following example shows a file type storage plugin configuration with a
 workspace named <code>json_files</code>. The configuration points Drill to the
 <code>/users/max/drill/json/</code> directory in the local file system <code>(dfs)</code>:</p>
 <div class="highlight"><pre><code class="language-text" data-lang="text">{
@@ -1076,18 +1086,16 @@ workspace named <code>json_files</code>. The configuration points Drill to the
    } 
 },
 </code></pre></div>
-<p>The <code>connection</code> parameter in this configuration is &quot;<code>file:///</code>&quot;, connecting Drill to the local file system (<code>dfs</code>).</p>
+<p>The <code>connection</code> parameter in this configuration is &quot;<code>file:///</code>&quot;, connecting Drill to the local file system.</p>
 
 <p>To query a file in the example <code>json_files</code> workspace, you can issue the <code>USE</code>
 command to tell Drill to use the <code>json_files</code> workspace configured in the <code>dfs</code>
 instance for each query that you issue:</p>
-
-<p><strong>Example</strong></p>
 <div class="highlight"><pre><code class="language-text" data-lang="text">USE dfs.json_files;
-SELECT * FROM dfs.json_files.`donuts.json` WHERE type=&#39;frosted&#39;
+SELECT * FROM `donuts.json` WHERE type=&#39;frosted&#39;
 </code></pre></div>
 <p>If the <code>json_files</code> workspace did not exist, the query would have to include the
-full path to the <code>donuts.json</code> file:</p>
+full file path name to the <code>donuts.json</code> file:</p>
 <div class="highlight"><pre><code class="language-text" data-lang="text">SELECT * FROM dfs.`/users/max/drill/json/donuts.json` WHERE type=&#39;frosted&#39;;
 </code></pre></div>
     

http://git-wip-us.apache.org/repos/asf/drill-site/blob/35463930/docs/flatten/index.html
----------------------------------------------------------------------
diff --git a/docs/flatten/index.html b/docs/flatten/index.html
index 170aa8f..9963693 100644
--- a/docs/flatten/index.html
+++ b/docs/flatten/index.html
@@ -801,7 +801,11 @@
             
           
             
-              <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-a-simple-function/">Developing a Simple Function</a></li>
+            
+          
+            
+              <li class="toctree-l2"><a class="reference internal" href="/docs/tutorial-develop-a-simple-function/">Tutorial: Develop a Simple Function</a></li>
             
           
             


Mime
View raw message