http://git-wip-us.apache.org/repos/asf/drill-site/blob/c4de0f83/docs/explain-commands/index.html ---------------------------------------------------------------------- diff --git a/docs/explain-commands/index.html b/docs/explain-commands/index.html new file mode 100644 index 0000000..2758e66 --- /dev/null +++ b/docs/explain-commands/index.html @@ -0,0 +1,987 @@ +<!DOCTYPE html> +<html> + +<head> + +<meta charset="UTF-8"> +<meta name=viewport content="width=device-width, initial-scale=1"> + + +<title>EXPLAIN commands - Apache Drill</title> + +<link href="/css/syntax.css" rel="stylesheet" type="text/css"> +<link href="/css/style.css" rel="stylesheet" type="text/css"> +<link href="/css/arrows.css" rel="stylesheet" type="text/css"> +<link href="/css/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="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=""> + + <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 current"><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/sql-commands/">SQL Commands</a></li> + + <li>EXPLAIN commands</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/sql-commands/070-explain-commands.md" target="_blank"><i class="fa fa-pencil-square-o"></i></a> + + + <div class="int_title"> + <h1>EXPLAIN commands</h1> + + </div> + + <link href="/css/docpage.css" rel="stylesheet" type="text/css"> + + <div class="int_text" align="left"> + + <p>EXPLAIN is a useful tool for examining the steps that a query goes through +when it is executed. You can use the EXPLAIN output to gain a deeper +understanding of the parallel processing that Drill queries exploit. You can +also look at costing information, troubleshoot performance issues, and +diagnose routine errors that may occur when you run queries.</p> + +<p>Drill provides two variations on the EXPLAIN command, one that returns the +physical plan and one that returns the logical plan. A logical plan takes the +SQL query (as written by the user and accepted by the parser) and translates +it into a logical series of operations that correspond to SQL language +constructs (without defining the specific algorithms that will be implemented +to run the query). A physical plan translates the logical plan into a specific +series of steps that will be used when the query runs. For example, a logical +plan may indicate a join step in general and classify it as inner or outer, +but the corresponding physical plan will indicate the specific type of join +operator that will run, such as a merge join or a hash join. The physical plan +is operational and reveals the specific <em>access methods</em> that will be used for +the query.</p> + +<p>An EXPLAIN command for a query that is run repeatedly under the exact same +conditions against the same data will return the same plan. However, if you +change a configuration option, for example, or update the tables or files that +you are selecting from, you are likely to see plan changes.</p> + +<h2 id="explain-syntax">EXPLAIN Syntax</h2> + +<p>The EXPLAIN command supports the following syntax:</p> +<div class="highlight"><pre><code class="language-text" data-lang="text">explain plan [ including all attributes ] [ with implementation | without implementation ] for <query> ; +</code></pre></div> +<p>where <code>query</code> is any valid SELECT statement supported by Drill.</p> + +<h5 id="including-all-attributes">INCLUDING ALL ATTRIBUTES</h5> + +<p>This option returns costing information. You can use this option for both +physical and logical plans.</p> + +<h4 id="with-implementation-|-without-implementation">WITH IMPLEMENTATION | WITHOUT IMPLEMENTATION</h4> + +<p>These options return the physical and logical plan information, respectively. +The default is physical (WITH IMPLEMENTATION).</p> + +<h2 id="explain-for-physical-plans">EXPLAIN for Physical Plans</h2> + +<p>The EXPLAIN PLAN FOR <query> command returns the chosen physical execution +plan for a query statement without running the query. You can use this command +to see what kind of execution operators Drill implements. For example, you can +find out what kind of join algorithm is chosen when tables or files are +joined. You can also use this command to analyze errors and troubleshoot +queries that do not run. For example, if you run into a casting error, the +query plan text may help you isolate the problem.</p> + +<p>Use the following syntax:</p> +<div class="highlight"><pre><code class="language-text" data-lang="text">explain plan for <query> ; +</code></pre></div> +<p>The following set command increases the default text display (number of +characters). By default, most of the plan output is not displayed.</p> +<div class="highlight"><pre><code class="language-text" data-lang="text">0: jdbc:drill:zk=local> !set maxwidth 10000 +</code></pre></div> +<p>Do not use a semicolon to terminate set commands.</p> + +<p>For example, here is the top portion of the explain output for a +COUNT(DISTINCT) query on a JSON file:</p> +<div class="highlight"><pre><code class="language-text" data-lang="text">0: jdbc:drill:zk=local> !set maxwidth 10000 +0: jdbc:drill:zk=local> explain plan for select type t, count(distinct id) from dfs.`/home/donuts/donuts.json` where type='donut' group by type; ++------------+------------+ +| text | json | ++------------+------------+ +| 00-00 Screen +00-01 Project(t=[$0], EXPR$1=[$1]) +00-02 Project(t=[$0], EXPR$1=[$1]) +00-03 HashAgg(group=[{0}], EXPR$1=[COUNT($1)]) +00-04 HashAgg(group=[{0, 1}]) +00-05 SelectionVectorRemover +00-06 Filter(condition=[=($0, 'donut')]) +00-07 Scan(groupscan=[EasyGroupScan [selectionRoot=/home/donuts/donuts.json, numFiles=1, columns=[`type`, `id`], files=[file:/home/donuts/donuts.json]]])... +... +</code></pre></div> +<p>Read the text output from bottom to top to understand the sequence of +operators that will execute the query. Note that the physical plan starts with +a scan of the JSON file that is being queried. The selected columns are +projected and filtered, then the aggregate function is applied.</p> + +<p>The EXPLAIN text output is followed by detailed JSON output, which is reusable +for submitting the query via Drill APIs.</p> +<div class="highlight"><pre><code class="language-text" data-lang="text">| { + "head" : { + "version" : 1, + "generator" : { + "type" : "ExplainHandler", + "info" : "" + }, + "type" : "APACHE_DRILL_PHYSICAL", + "options" : [ ], + "queue" : 0, + "resultMode" : "EXEC" + }, +.... +</code></pre></div> +<h2 id="costing-information">Costing Information</h2> + +<p>Add the INCLUDING ALL ATTRIBUTES option to the EXPLAIN command to see cost +estimates for the query plan. For example:</p> +<div class="highlight"><pre><code class="language-text" data-lang="text">0: jdbc:drill:zk=local> !set maxwidth 10000 +0: jdbc:drill:zk=local> explain plan including all attributes for select * from dfs.`/home/donuts/donuts.json` where type='donut'; ++------------+------------+ +| text | json | ++------------+------------+ +| 00-00 Screen: rowcount = 1.0, cumulative cost = {5.1 rows, 21.1 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 889 +00-01 Project(*=[$0]): rowcount = 1.0, cumulative cost = {5.0 rows, 21.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 888 +00-02 Project(T1¦¦*=[$0]): rowcount = 1.0, cumulative cost = {4.0 rows, 17.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 887 +00-03 SelectionVectorRemover: rowcount = 1.0, cumulative cost = {3.0 rows, 13.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 886 +00-04 Filter(condition=[=($1, 'donut')]): rowcount = 1.0, cumulative cost = {2.0 rows, 12.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 885 +00-05 Project(T1¦¦*=[$0], type=[$1]): rowcount = 1.0, cumulative cost = {1.0 rows, 8.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 884 +00-06 Scan(groupscan=[EasyGroupScan [selectionRoot=/home/donuts/donuts.json, numFiles=1, columns=[`*`], files=[file:/home/donuts/donuts.json]]]): rowcount = 1.0, cumulative cost = {0.0 rows, 0.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 883 +</code></pre></div> +<h2 id="explain-for-logical-plans">EXPLAIN for Logical Plans</h2> + +<p>To return the logical plan for a query (again, without actually running the +query), use the EXPLAIN PLAN WITHOUT IMPLEMENTATION syntax:</p> +<div class="highlight"><pre><code class="language-text" data-lang="text">explain plan without implementation for <query> ; +</code></pre></div> +<p>For example:</p> +<div class="highlight"><pre><code class="language-text" data-lang="text">0: jdbc:drill:zk=local> explain plan without implementation for select type t, count(distinct id) from dfs.`/home/donuts/donuts.json` where type='donut' group by type; ++------------+------------+ +| text | json | ++------------+------------+ +| DrillScreenRel + DrillProjectRel(t=[$0], EXPR$1=[$1]) + DrillAggregateRel(group=[{0}], EXPR$1=[COUNT($1)]) + DrillAggregateRel(group=[{0, 1}]) + DrillFilterRel(condition=[=($0, 'donut')]) + DrillScanRel(table=[[dfs, /home/donuts/donuts.json]], groupscan=[EasyGroupScan [selectionRoot=/home/donuts/donuts.json, numFiles=1, columns=[`type`, `id`], files=[file:/home/donuts/donuts.json]]]) | { + | { + "head" : { + "version" : 1, + "generator" : { + "type" : "org.apache.drill.exec.planner.logical.DrillImplementor", + "info" : "" + }, + "type" : "APACHE_DRILL_LOGICAL", + "options" : null, + "queue" : 0, + "resultMode" : "LOGICAL" + },... +</code></pre></div> + + + <div class="doc-nav"> + + <span class="previous-toc"><a href="/docs/describe-command/">â DESCRIBE Command</a></span><span class="next-toc"><a href="/docs/select-statements/">SELECT Statements â</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/file-system-storage-plugin/index.html ---------------------------------------------------------------------- diff --git a/docs/file-system-storage-plugin/index.html b/docs/file-system-storage-plugin/index.html new file mode 100644 index 0000000..d21dd97 --- /dev/null +++ b/docs/file-system-storage-plugin/index.html @@ -0,0 +1,908 @@ +<!DOCTYPE html> +<html> + +<head> + +<meta charset="UTF-8"> +<meta name=viewport content="width=device-width, initial-scale=1"> + + +<title>File System Storage Plugin - 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 current_section "><a href="javascript: void(0);">Connect a Data Source</a></li> + <ul class="current_section"> + + + <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=""> + + <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 current"><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/connect-a-data-source/">Connect a Data Source</a></li> + + <li><a href="/docs/storage-plugin-configuration/">Storage Plugin Configuration</a></li> + + <li>File System Storage Plugin</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/connect-a-data-source/050-file-system-storage-plugin.md" target="_blank"><i class="fa fa-pencil-square-o"></i></a> + + + <div class="int_title"> + <h1>File System Storage Plugin</h1> + + </div> + + <link href="/css/docpage.css" rel="stylesheet" type="text/css"> + + <div class="int_text" align="left"> + + <p>You can register a storage plugin instance that connects Drill to a local file +system or a distributed file system registered in <code>core-site.xml</code>, such as S3 +or HDFS. When you register a storage plugin instance for a file system, +provide a unique name for the instance, and identify the type as â<code>file</code>â. By +default, Drill includes an instance named <code>dfs</code> that points to the local file +system on your machine. You can update this configuration to point to a +distributed file system or you can create a new instance to point to a +distributed file system.</p> + +<p>To register a local or a distributed file system with Apache Drill, complete +the following steps:</p> + +<ol> +<li>Navigate to <code>[http://localhost:8047](http://localhost:8047/)</code>, and select the <strong>Storage</strong> tab.</li> +<li>In the New Storage Plugin window, enter a unique name and then click <strong>Create</strong>.</li> +<li><p>In the Configuration window, provide the following configuration information for the type of file system that you are configuring as a data source.</p> + +<ol> +<li><p>Local file system example:</p> +<div class="highlight"><pre><code class="language-text" data-lang="text">{ + "type": "file", + "enabled": true, + "connection": "file:///", + "workspaces": { + "root": { + "location": "/user/max/donuts", + "writable": false, + "defaultinputformat": null + } + }, + "formats" : { + "json" : { + "type" : "json" + } + } + } +</code></pre></div></li> +<li><p>Distributed file system example:</p> +<div class="highlight"><pre><code class="language-text" data-lang="text">{ + "type" : "file", + "enabled" : true, + "connection" : "hdfs://10.10.30.156:8020/", + "workspaces" : { + "root : { + "location" : "/user/root/drill", + "writable" : true, + "defaultinputformat" : "null" + } + }, + "formats" : { + "json" : { + "type" : "json" + } + } +} +</code></pre></div></li> +</ol> + +<p>To connect to a Hadoop file system, you must include the IP address of the +name node and the port number.</p></li> +<li><p>Click <strong>Enable</strong>.</p></li> +</ol> + +<p>Once you have configured a storage plugin instance for the file system, you +can issue Drill queries against it.</p> + + + + <div class="doc-nav"> + + <span class="previous-toc"><a href="/docs/workspaces/">â Workspaces</a></span><span class="next-toc"><a href="/docs/hbase-storage-plugin/">HBase Storage Plugin â</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>
