Added: tajo/site/docs/0.11.0/sql_language/queries.html URL: http://svn.apache.org/viewvc/tajo/site/docs/0.11.0/sql_language/queries.html?rev=1710773&view=auto ============================================================================== --- tajo/site/docs/0.11.0/sql_language/queries.html (added) +++ tajo/site/docs/0.11.0/sql_language/queries.html Tue Oct 27 11:04:33 2015 @@ -0,0 +1,461 @@ + + +<!DOCTYPE html> +<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> +<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + + <title>Queries — Apache Tajo 0.11.0 documentation</title> + + + + + + + <link href='https://fonts.googleapis.com/css?family=Lato:400,700|Roboto+Slab:400,700|Inconsolata:400,700' rel='stylesheet' type='text/css'> + + + + + + + + + + <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> + + + + <link rel="top" title="Apache Tajo 0.11.0 documentation" href="../index.html"/> + <link rel="up" title="SQL Language" href="../sql_language.html"/> + <link rel="next" title="Joins" href="joins.html"/> + <link rel="prev" title="ALTER TABLE" href="alter_table.html"/> + + + <script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script> + +</head> + +<body class="wy-body-for-nav" role="document"> + + <div class="wy-grid-for-nav"> + + + <nav data-toggle="wy-nav-shift" class="wy-nav-side"> + <div class="wy-side-nav-search"> + <a href="../index.html" class="fa fa-home"> Apache Tajo</a> + <div role="search"> + <form id ="rtd-search-form" class="wy-form" action="../search.html" method="get"> + <input type="text" name="q" placeholder="Search docs" /> + <input type="hidden" name="check_keywords" value="yes" /> + <input type="hidden" name="area" value="default" /> + </form> +</div> + </div> + + <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> + + + <ul class="current"> +<li class="toctree-l1"><a class="reference internal" href="../introduction.html">Introduction</a></li> +<li class="toctree-l1"><a class="reference internal" href="../getting_started.html">Getting Started</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../getting_started.html#prerequisites">Prerequisites</a></li> +<li class="toctree-l2"><a class="reference internal" href="../getting_started.html#dowload-and-unpack-the-source-code">Dowload and unpack the source code</a></li> +<li class="toctree-l2"><a class="reference internal" href="../getting_started.html#build-source-code">Build source code</a></li> +<li class="toctree-l2"><a class="reference internal" href="../getting_started.html#setting-up-a-local-tajo-cluster">Setting up a local Tajo cluster</a></li> +<li class="toctree-l2"><a class="reference internal" href="../getting_started.html#first-query-execution">First query execution</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../configuration.html">Configuration</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../configuration/preliminary.html">Preliminary</a></li> +<li class="toctree-l2"><a class="reference internal" href="../configuration/cluster_setup.html">Cluster Setup</a></li> +<li class="toctree-l2"><a class="reference internal" href="../configuration/tajo_master_configuration.html">Tajo Master Configuration</a></li> +<li class="toctree-l2"><a class="reference internal" href="../configuration/worker_configuration.html">Worker Configuration</a></li> +<li class="toctree-l2"><a class="reference internal" href="../configuration/catalog_configuration.html">Catalog Configuration</a></li> +<li class="toctree-l2"><a class="reference internal" href="../configuration/ha_configuration.html">High Availability for TajoMaster</a></li> +<li class="toctree-l2"><a class="reference internal" href="../configuration/service_config_defaults.html">Cluster Service Configuration Defaults</a></li> +<li class="toctree-l2"><a class="reference internal" href="../configuration/tajo-site-xml.html">The tajo-site.xml File</a></li> +<li class="toctree-l2"><a class="reference internal" href="../configuration/catalog-site-xml.html">The catalog-site.xml File</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../tsql.html">Tajo Shell (TSQL)</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../tsql/meta_command.html">Meta Commands</a></li> +<li class="toctree-l2"><a class="reference internal" href="../tsql/dfs_command.html">Executing HDFS commands</a></li> +<li class="toctree-l2"><a class="reference internal" href="../tsql/variables.html">Session Variables</a></li> +<li class="toctree-l2"><a class="reference internal" href="../tsql/admin_command.html">Administration Commands</a></li> +<li class="toctree-l2"><a class="reference internal" href="../tsql/intro.html">Introducing to TSQL</a></li> +<li class="toctree-l2"><a class="reference internal" href="../tsql/single_command.html">Executing a single command</a></li> +<li class="toctree-l2"><a class="reference internal" href="../tsql/execute_file.html">Executing Queries from Files</a></li> +<li class="toctree-l2"><a class="reference internal" href="../tsql/background_command.html">Executing as background process</a></li> +</ul> +</li> +<li class="toctree-l1 current"><a class="reference internal" href="../sql_language.html">SQL Language</a><ul class="current"> +<li class="toctree-l2"><a class="reference internal" href="data_model.html">Data Model</a></li> +<li class="toctree-l2"><a class="reference internal" href="ddl.html">Data Definition Language</a></li> +<li class="toctree-l2"><a class="reference internal" href="insert.html">INSERT (OVERWRITE) INTO</a></li> +<li class="toctree-l2"><a class="reference internal" href="alter_table.html">ALTER TABLE</a></li> +<li class="toctree-l2 current"><a class="current reference internal" href="">Queries</a></li> +<li class="toctree-l2"><a class="reference internal" href="joins.html">Joins</a></li> +<li class="toctree-l2"><a class="reference internal" href="sql_expression.html">SQL Expressions</a></li> +<li class="toctree-l2"><a class="reference internal" href="predicates.html">Predicates</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../time_zone.html">Time Zone</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../time_zone.html#server-cluster-time-zone">Server Cluster Time Zone</a></li> +<li class="toctree-l2"><a class="reference internal" href="../time_zone.html#table-time-zone">Table Time Zone</a></li> +<li class="toctree-l2"><a class="reference internal" href="../time_zone.html#client-time-zone">Client Time Zone</a></li> +<li class="toctree-l2"><a class="reference internal" href="../time_zone.html#time-zone-id">Time Zone ID</a></li> +<li class="toctree-l2"><a class="reference internal" href="../time_zone.html#examples-of-time-zone">Examples of Time Zone</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../functions.html">Functions</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../functions.html#built-in-scalar-functions">Built-in Scalar Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions.html#built-in-aggregation-functions">Built-in Aggregation Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions.html#built-in-window-functions">Built-in Window Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions.html#user-defined-functions">User-defined Functions</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../table_management.html">Table Management</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../table_management/table_overview.html">Overview of Tajo Tables</a></li> +<li class="toctree-l2"><a class="reference internal" href="../table_management/tablespaces.html">Tablespaces</a></li> +<li class="toctree-l2"><a class="reference internal" href="../table_management/file_formats.html">File Formats</a></li> +<li class="toctree-l2"><a class="reference internal" href="../table_management/compression.html">Compression</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../table_partitioning.html">Table Partitioning</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../partitioning/intro_to_partitioning.html">Introduction to Partitioning</a></li> +<li class="toctree-l2"><a class="reference internal" href="../partitioning/column_partitioning.html">Column Partitioning</a></li> +<li class="toctree-l2"><a class="reference internal" href="../partitioning/range_partitioning.html">Range Partitioning</a></li> +<li class="toctree-l2"><a class="reference internal" href="../partitioning/hash_partitioning.html">Hash Partitioning</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../storage_plugins.html">Storage Plugin</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../storage_plugins/overview.html">Storage Plugin Overview</a></li> +<li class="toctree-l2"><a class="reference internal" href="../storage_plugins/postgresql.html">PostgreSQL Storage Handler</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../index_overview.html">Index (Experimental Feature)</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../index/types.html">Index Types</a></li> +<li class="toctree-l2"><a class="reference internal" href="../index/how_to_use.html">How to use index?</a></li> +<li class="toctree-l2"><a class="reference internal" href="../index/future_work.html">Future Works</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../backup_and_restore.html">Backup and Restore</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../backup_and_restore/catalog.html">Backup and Restore Catalog</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../hive_integration.html">Hive Integration</a></li> +<li class="toctree-l1"><a class="reference internal" href="../hbase_integration.html">HBase Integration</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../hbase_integration.html#create-table">CREATE TABLE</a></li> +<li class="toctree-l2"><a class="reference internal" href="../hbase_integration.html#drop-table">DROP TABLE</a></li> +<li class="toctree-l2"><a class="reference internal" href="../hbase_integration.html#insert-overwrite-into">INSERT (OVERWRITE) INTO</a></li> +<li class="toctree-l2"><a class="reference internal" href="../hbase_integration.html#usage">Usage</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../swift_integration.html">OpenStack Swift Integration</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../swift_integration.html#swift-configuration">Swift configuration</a></li> +<li class="toctree-l2"><a class="reference internal" href="../swift_integration.html#hadoop-configurations">Hadoop configurations</a></li> +<li class="toctree-l2"><a class="reference internal" href="../swift_integration.html#tajo-configuration">Tajo configuration</a></li> +<li class="toctree-l2"><a class="reference internal" href="../swift_integration.html#querying-on-swift">Querying on Swift</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../jdbc_driver.html">Tajo JDBC Driver</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../jdbc_driver.html#how-to-get-jdbc-driver">How to get JDBC driver</a></li> +<li class="toctree-l2"><a class="reference internal" href="../jdbc_driver.html#setting-the-classpath">Setting the CLASSPATH</a></li> +<li class="toctree-l2"><a class="reference internal" href="../jdbc_driver.html#connecting-to-the-tajo-cluster-instance">Connecting to the Tajo cluster instance</a></li> +<li class="toctree-l2"><a class="reference internal" href="../jdbc_driver.html#connection-parameters">Connection Parameters</a></li> +<li class="toctree-l2"><a class="reference internal" href="../jdbc_driver.html#an-example-jdbc-client">An Example JDBC Client</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../tajo_client_api.html">Tajo Client API</a></li> +<li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li> +</ul> + + + </div> + + </nav> + + <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> + + + <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> + <i data-toggle="wy-nav-top" class="fa fa-bars"></i> + <a href="../index.html">Apache Tajo</a> + </nav> + + + + <div class="wy-nav-content"> + <div class="rst-content"> + <div role="navigation" aria-label="breadcrumbs navigation"> + <ul class="wy-breadcrumbs"> + <li><a href="../index.html">Docs</a> »</li> + + <li><a href="../sql_language.html">SQL Language</a> »</li> + + <li>Queries</li> + <li class="wy-breadcrumbs-aside"> + + <a href="../_sources/sql_language/queries.txt" rel="nofollow"> View page source</a> + + </li> + </ul> + <hr/> +</div> + <div role="main"> + + <div class="section" id="queries"> +<h1>Queries<a class="headerlink" href="#queries" title="Permalink to this headline">¶</a></h1> +<div class="section" id="overview"> +<h2>Overview<a class="headerlink" href="#overview" title="Permalink to this headline">¶</a></h2> +<p><em>Synopsis</em></p> +<div class="highlight-sql"><div class="highlight"><pre><span class="k">SELECT</span> <span class="p">[</span><span class="k">distinct</span> <span class="p">[</span><span class="k">all</span><span class="p">]]</span> <span class="o">*</span> <span class="o">|</span> <span class="o"><</span><span class="n">expression</span><span class="o">></span> <span class="p">[[</span><span class="k">AS</span><span class="p">]</span> <span class="o"><</span><span class="k">alias</span><span class="o">></span><span class="p">]</span> <span class="p">[,</span> <span class="p">...]</span> + <span class="p">[</span><span class="k">FROM</span> <span class="o"><</span><span class="k">table</span> <span class="n">reference</span><span class="o">></span> <span class="p">[[</span><span class="k">AS</span><span class="p">]</span> <span class="o"><</span><span class="k">table</span> <span class="k">alias</span> <span class="n">name</span><span class="o">></span><span class="p">]</span> <span class="p">[,</span> <span class="p">...]]</span> + <span class="p">[</span><span class="k">WHERE</span> <span class="o"><</span><span class="n">condition</span><span class="o">></span><span class="p">]</span> + <span class="p">[</span><span class="k">GROUP</span> <span class="k">BY</span> <span class="o"><</span><span class="n">expression</span><span class="o">></span> <span class="p">[,</span> <span class="p">...]]</span> + <span class="p">[</span><span class="k">HAVING</span> <span class="o"><</span><span class="n">condition</span><span class="o">></span><span class="p">]</span> + <span class="p">[</span><span class="k">ORDER</span> <span class="k">BY</span> <span class="o"><</span><span class="n">expression</span><span class="o">></span> <span class="p">[</span><span class="k">ASC</span><span class="o">|</span><span class="k">DESC</span><span class="p">]</span> <span class="p">[</span><span class="k">NULL</span> <span class="k">FIRST</span><span class="o">|</span><span class="k">NULL</span> <span class="k">LAST</span><span class="p">]</span> <span class="p">[,</span> <span class="p">...]]</span> +</pre></div> +</div> +</div> +<div class="section" id="from-clause"> +<h2>From Clause<a class="headerlink" href="#from-clause" title="Permalink to this headline">¶</a></h2> +<p><em>Synopsis</em></p> +<div class="highlight-sql"><div class="highlight"><pre><span class="p">[</span><span class="k">FROM</span> <span class="o"><</span><span class="k">table</span> <span class="n">reference</span><span class="o">></span> <span class="p">[[</span><span class="k">AS</span><span class="p">]</span> <span class="o"><</span><span class="k">table</span> <span class="k">alias</span> <span class="n">name</span><span class="o">></span><span class="p">]</span> <span class="p">[,</span> <span class="p">...]]</span> +</pre></div> +</div> +<p>The <code class="docutils literal"><span class="pre">FROM</span></code> clause specifies one or more other tables given in a comma-separated table reference list. +A table reference can be a relation name , or a subquery, a table join, or complex combinations of them.</p> +<div class="section" id="table-and-table-aliases"> +<h3>Table and Table Aliases<a class="headerlink" href="#table-and-table-aliases" title="Permalink to this headline">¶</a></h3> +<p>A temporary name can be given to tables and complex table references to be used +for references to the derived table in the rest of the query. This is called a table alias.</p> +<p>To create a a table alias, please use <code class="docutils literal"><span class="pre">AS</span></code>:</p> +<div class="highlight-sql"><div class="highlight"><pre><span class="k">FROM</span> <span class="n">table_reference</span> <span class="k">AS</span> <span class="k">alias</span> +</pre></div> +</div> +<p>or</p> +<div class="highlight-sql"><div class="highlight"><pre><span class="k">FROM</span> <span class="n">table_reference</span> <span class="k">alias</span> +</pre></div> +</div> +<p>The <code class="docutils literal"><span class="pre">AS</span></code> keyword can be omitted, and <em>Alias</em> can be any identifier.</p> +<p>A typical application of table aliases is to give short names to long table references. For example:</p> +<div class="highlight-sql"><div class="highlight"><pre><span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="n">long_table_name_1234</span> <span class="n">s</span> <span class="k">JOIN</span> <span class="n">another_long_table_name_5678</span> <span class="n">a</span> <span class="k">ON</span> <span class="n">s</span><span class="p">.</span><span class="n">id</span> <span class="o">=</span> <span class="n">a</span><span class="p">.</span><span class="n">num</span><span class="p">;</span> +</pre></div> +</div> +</div> +<div class="section" id="joined-tables"> +<h3>Joined Tables<a class="headerlink" href="#joined-tables" title="Permalink to this headline">¶</a></h3> +<p>Tajo supports all kinds of join types.</p> +<div class="section" id="join-types"> +<h4>Join Types<a class="headerlink" href="#join-types" title="Permalink to this headline">¶</a></h4> +<div class="section" id="cross-join"> +<h5>Cross Join<a class="headerlink" href="#cross-join" title="Permalink to this headline">¶</a></h5> +<div class="highlight-sql"><div class="highlight"><pre><span class="k">FROM</span> <span class="n">T1</span> <span class="k">CROSS</span> <span class="k">JOIN</span> <span class="n">T2</span> +</pre></div> +</div> +<p>Cross join, also called <em>Cartesian product</em>, results in every possible combination of rows from T1 and T2.</p> +<p><code class="docutils literal"><span class="pre">FROM</span> <span class="pre">T1</span> <span class="pre">CROSS</span> <span class="pre">JOIN</span> <span class="pre">T2</span></code> is equivalent to <code class="docutils literal"><span class="pre">FROM</span> <span class="pre">T1,</span> <span class="pre">T2</span></code>.</p> +</div> +<div class="section" id="qualified-joins"> +<h5>Qualified joins<a class="headerlink" href="#qualified-joins" title="Permalink to this headline">¶</a></h5> +<p>Qualified joins implicitly or explicitly have join conditions. Inner/Outer/Natural Joins all are qualified joins. +Except for natural join, <code class="docutils literal"><span class="pre">ON</span></code> or <code class="docutils literal"><span class="pre">USING</span></code> clause in each join is used to specify a join condition. +A join condition must include at least one boolean expression, and it can also include just filter conditions.</p> +<p><strong>Inner Join</strong></p> +<div class="highlight-sql"><div class="highlight"><pre><span class="n">T1</span> <span class="p">[</span><span class="k">INNER</span><span class="p">]</span> <span class="k">JOIN</span> <span class="n">T2</span> <span class="k">ON</span> <span class="n">boolean_expression</span> +<span class="n">T1</span> <span class="p">[</span><span class="k">INNER</span><span class="p">]</span> <span class="k">JOIN</span> <span class="n">T2</span> <span class="k">USING</span> <span class="p">(</span><span class="k">join</span> <span class="k">column</span> <span class="n">list</span><span class="p">)</span> +</pre></div> +</div> +<p><code class="docutils literal"><span class="pre">INNER</span></code> keyword is the default, and so <code class="docutils literal"><span class="pre">INNER</span></code> can be omitted when you use inner join.</p> +<p><strong>Outer Join</strong></p> +<div class="highlight-sql"><div class="highlight"><pre><span class="n">T1</span> <span class="p">(</span><span class="k">LEFT</span><span class="o">|</span><span class="k">RIGHT</span><span class="o">|</span><span class="k">FULL</span><span class="p">)</span> <span class="k">OUTER</span> <span class="k">JOIN</span> <span class="n">T2</span> <span class="k">ON</span> <span class="n">boolean_expression</span> +<span class="n">T1</span> <span class="p">(</span><span class="k">LEFT</span><span class="o">|</span><span class="k">RIGHT</span><span class="o">|</span><span class="k">FULL</span><span class="p">)</span> <span class="k">OUTER</span> <span class="k">JOIN</span> <span class="n">T2</span> <span class="k">USING</span> <span class="p">(</span><span class="k">join</span> <span class="k">column</span> <span class="n">list</span><span class="p">)</span> +</pre></div> +</div> +<p>One of <code class="docutils literal"><span class="pre">LEFT</span></code>, <code class="docutils literal"><span class="pre">RIGHT</span></code>, or <code class="docutils literal"><span class="pre">FULL</span></code> must be specified for outer joins. +Join conditions in outer join will have different behavior according to corresponding table references of join conditions. +To know outer join behavior in more detail, please refer to +<a class="reference external" href="http://www.ibm.com/developerworks/data/library/techarticle/purcell/0201purcell.html">Advanced outer join constructs</a>.</p> +<p><strong>Natural Join</strong></p> +<div class="highlight-sql"><div class="highlight"><pre><span class="n">T1</span> <span class="k">NATURAL</span> <span class="k">JOIN</span> <span class="n">T2</span> +</pre></div> +</div> +<p><code class="docutils literal"><span class="pre">NATURAL</span></code> is a short form of <code class="docutils literal"><span class="pre">USING</span></code>. It forms a <code class="docutils literal"><span class="pre">USING</span></code> list consisting of all common column names that appear in +both join tables. These common columns appear only once in the output table. If there are no common columns, +<code class="docutils literal"><span class="pre">NATURAL</span></code> behaves like <code class="docutils literal"><span class="pre">CROSS</span> <span class="pre">JOIN</span></code>.</p> +<p><strong>Subqueries</strong></p> +<p>Subqueries allow users to specify a derived table. It requires enclosing a SQL statement in parentheses and an alias name. +For example:</p> +<div class="highlight-sql"><div class="highlight"><pre><span class="k">FROM</span> <span class="p">(</span><span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="n">table1</span><span class="p">)</span> <span class="k">AS</span> <span class="n">alias_name</span> +</pre></div> +</div> +<p>For more detailed information, please refer to <a class="reference internal" href="joins.html"><em>Joins</em></a>.</p> +</div> +</div> +</div> +</div> +<div class="section" id="where-clause"> +<h2>Where Clause<a class="headerlink" href="#where-clause" title="Permalink to this headline">¶</a></h2> +<p>The syntax of the WHERE Clause is</p> +<p><em>Synopsis</em></p> +<div class="highlight-sql"><div class="highlight"><pre><span class="k">WHERE</span> <span class="n">search_condition</span> +</pre></div> +</div> +<p><code class="docutils literal"><span class="pre">search_condition</span></code> can be any boolean expression. +In order to know additional predicates, please refer to <a class="reference internal" href="predicates.html"><em>Predicates</em></a>.</p> +</div> +<div class="section" id="groupby-and-having-clauses"> +<h2>Groupby and Having Clauses<a class="headerlink" href="#groupby-and-having-clauses" title="Permalink to this headline">¶</a></h2> +<p><em>Synopsis</em></p> +<div class="highlight-sql"><div class="highlight"><pre><span class="k">SELECT</span> <span class="n">select_list</span> + <span class="k">FROM</span> <span class="p">...</span> + <span class="p">[</span><span class="k">WHERE</span> <span class="p">...]</span> + <span class="k">GROUP</span> <span class="k">BY</span> <span class="n">grouping_column_reference</span> <span class="p">[,</span> <span class="n">grouping_column_reference</span><span class="p">]...</span> + <span class="p">[</span><span class="k">HAVING</span> <span class="n">boolean_expression</span><span class="p">]</span> +</pre></div> +</div> +<p>The rows which passes <code class="docutils literal"><span class="pre">WHERE</span></code> filter may be subject to grouping, specified by <code class="docutils literal"><span class="pre">GROUP</span> <span class="pre">BY</span></code> clause. +Grouping combines a set of rows having common values into one group, and then computes rows in the group with aggregation functions. <code class="docutils literal"><span class="pre">HAVING</span></code> clause can be used with only <code class="docutils literal"><span class="pre">GROUP</span> <span class="pre">BY</span></code> clause. It eliminates the unqualified result rows of grouping.</p> +<p><code class="docutils literal"><span class="pre">grouping_column_reference</span></code> can be a column reference, a complex expression including scalar functions and arithmetic operations.</p> +<div class="highlight-sql"><div class="highlight"><pre><span class="k">SELECT</span> <span class="n">l_orderkey</span><span class="p">,</span> <span class="k">SUM</span><span class="p">(</span><span class="n">l_quantity</span><span class="p">)</span> <span class="k">AS</span> <span class="n">quantity</span> <span class="k">FROM</span> <span class="n">lineitem</span> <span class="k">GROUP</span> <span class="k">BY</span> <span class="n">l_orderkey</span><span class="p">;</span> + +<span class="k">SELECT</span> <span class="n">substr</span><span class="p">(</span><span class="n">l_shipdate</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="mi">4</span><span class="p">)</span> <span class="k">as</span> <span class="k">year</span><span class="p">,</span> <span class="k">SUM</span><span class="p">(</span><span class="n">l_orderkey</span><span class="p">)</span> <span class="k">AS</span> <span class="n">total2</span> <span class="k">FROM</span> <span class="n">lineitem</span> <span class="k">GROUP</span> <span class="k">BY</span> <span class="n">substr</span><span class="p">(</span><span class="n">l_shipdate</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="mi">4</span><span class="p">);</span> +</pre></div> +</div> +<p>If a SQL statement includes <code class="docutils literal"><span class="pre">GROUP</span> <span class="pre">BY</span></code> clause, expressions in select list must be either grouping_column_reference or aggregation function. For example, the following example query is not allowed because <code class="docutils literal"><span class="pre">l_orderkey</span></code> does not occur in <code class="docutils literal"><span class="pre">GROUP</span> <span class="pre">BY</span></code> clause.</p> +<div class="highlight-sql"><div class="highlight"><pre><span class="k">SELECT</span> <span class="n">l_orderkey</span><span class="p">,</span> <span class="n">l_partkey</span><span class="p">,</span> <span class="k">SUM</span><span class="p">(</span><span class="n">l_orderkey</span><span class="p">)</span> <span class="k">AS</span> <span class="n">total</span> <span class="k">FROM</span> <span class="n">lineitem</span> <span class="k">GROUP</span> <span class="k">BY</span> <span class="n">l_partkey</span><span class="p">;</span> +</pre></div> +</div> +<p>Aggregation functions can be used with <code class="docutils literal"><span class="pre">DISTINCT</span></code> keywords. It forces an individual aggregate function to take only distinct values of the argument expression. <code class="docutils literal"><span class="pre">DISTINCT</span></code> keyword is used as follows:</p> +<div class="highlight-sql"><div class="highlight"><pre><span class="k">SELECT</span> <span class="n">l_partkey</span><span class="p">,</span> <span class="k">COUNT</span><span class="p">(</span><span class="k">distinct</span> <span class="n">l_quantity</span><span class="p">),</span> <span class="k">SUM</span><span class="p">(</span><span class="k">distinct</span> <span class="n">l_extendedprice</span><span class="p">)</span> <span class="k">AS</span> <span class="n">total</span> <span class="k">FROM</span> <span class="n">lineitem</span> <span class="k">GROUP</span> <span class="k">BY</span> <span class="n">l_partkey</span><span class="p">;</span> +</pre></div> +</div> +</div> +<div class="section" id="orderby-and-limit-clauses"> +<h2>Orderby and Limit Clauses<a class="headerlink" href="#orderby-and-limit-clauses" title="Permalink to this headline">¶</a></h2> +<p><em>Synopsis</em></p> +<div class="highlight-sql"><div class="highlight"><pre><span class="k">FROM</span> <span class="p">...</span> <span class="k">ORDER</span> <span class="k">BY</span> <span class="o"><</span><span class="n">sort_expr</span><span class="o">></span> <span class="p">[(</span><span class="k">ASC</span><span class="o">|</span><span class="k">DESC</span><span class="p">)]</span> <span class="p">[</span><span class="k">NULL</span> <span class="p">(</span><span class="k">FIRST</span><span class="o">|</span><span class="k">LAST</span><span class="p">)</span> <span class="p">[,...]</span> +</pre></div> +</div> +<p><code class="docutils literal"><span class="pre">sort_expr</span></code> can be a column reference, aliased column reference, or a complex expression. +<code class="docutils literal"><span class="pre">ASC</span></code> indicates an ascending order of <code class="docutils literal"><span class="pre">sort_expr</span></code> values. <code class="docutils literal"><span class="pre">DESC</span></code> indicates a descending order of <code class="docutils literal"><span class="pre">sort_expr</span></code> values. +<code class="docutils literal"><span class="pre">ASC</span></code> is the default order.</p> +<p><code class="docutils literal"><span class="pre">NULLS</span> <span class="pre">FIRST</span></code> and <code class="docutils literal"><span class="pre">NULLS</span> <span class="pre">LAST</span></code> options can be used to determine whether nulls values appear +before or after non-null values in the sort ordering. By default, null values are dealt as if larger than any non-null value; +that is, <code class="docutils literal"><span class="pre">NULLS</span> <span class="pre">FIRST</span></code> is the default for <code class="docutils literal"><span class="pre">DESC</span></code> order, and <code class="docutils literal"><span class="pre">NULLS</span> <span class="pre">LAST</span></code> otherwise.</p> +</div> +<div class="section" id="window-functions"> +<h2>Window Functions<a class="headerlink" href="#window-functions" title="Permalink to this headline">¶</a></h2> +<p>A window function performs a calculation across multiple table rows that belong to some window frame.</p> +<p><em>Synopsis</em></p> +<div class="highlight-sql"><div class="highlight"><pre><span class="k">SELECT</span> <span class="p">....,</span> <span class="n">func</span><span class="p">(</span><span class="n">param</span><span class="p">)</span> <span class="n">OVER</span> <span class="p">([</span><span class="n">PARTITION</span> <span class="k">BY</span> <span class="n">partition</span><span class="o">-</span><span class="n">expr</span> <span class="p">[,</span> <span class="p">...]]</span> <span class="p">[</span><span class="k">ORDER</span> <span class="k">BY</span> <span class="n">sort</span><span class="o">-</span><span class="n">expr</span> <span class="p">[,</span> <span class="p">...]]),</span> <span class="p">....,</span> <span class="k">FROM</span> +</pre></div> +</div> +<p>The PARTITION BY list within OVER specifies dividing the rows into groups, or partitions, that share the same values of +the PARTITION BY expression(s). For each row, the window function is computed across the rows that fall into +the same partition as the current row.</p> +<p>We will briefly explain some examples using window functions.</p> +<div class="section" id="examples"> +<h3>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h3> +<p>Multiple window functions can be used in a SQL statement as follows:</p> +<div class="highlight-sql"><div class="highlight"><pre><span class="k">SELECT</span> <span class="n">l_orderkey</span><span class="p">,</span> <span class="k">sum</span><span class="p">(</span><span class="n">l_discount</span><span class="p">)</span> <span class="n">OVER</span> <span class="p">(</span><span class="n">PARTITION</span> <span class="k">BY</span> <span class="n">l_orderkey</span><span class="p">),</span> <span class="k">sum</span><span class="p">(</span><span class="n">l_quantity</span><span class="p">)</span> <span class="n">OVER</span> <span class="p">(</span><span class="n">PARTITION</span> <span class="k">BY</span> <span class="n">l_orderkey</span><span class="p">)</span> <span class="k">FROM</span> <span class="n">LINEITEM</span><span class="p">;</span> +</pre></div> +</div> +<p>If <code class="docutils literal"><span class="pre">OVER()</span></code> clause is empty as following, it makes all table rows into one window frame.</p> +<div class="highlight-sql"><div class="highlight"><pre><span class="k">SELECT</span> <span class="n">salary</span><span class="p">,</span> <span class="k">sum</span><span class="p">(</span><span class="n">salary</span><span class="p">)</span> <span class="n">OVER</span> <span class="p">()</span> <span class="k">FROM</span> <span class="n">empsalary</span><span class="p">;</span> +</pre></div> +</div> +<p>Also, <code class="docutils literal"><span class="pre">ORDER</span> <span class="pre">BY</span></code> clause can be used without <code class="docutils literal"><span class="pre">PARTITION</span> <span class="pre">BY</span></code> clause as follows:</p> +<div class="highlight-sql"><div class="highlight"><pre><span class="k">SELECT</span> <span class="n">salary</span><span class="p">,</span> <span class="k">sum</span><span class="p">(</span><span class="n">salary</span><span class="p">)</span> <span class="n">OVER</span> <span class="p">(</span><span class="k">ORDER</span> <span class="k">BY</span> <span class="n">salary</span><span class="p">)</span> <span class="k">FROM</span> <span class="n">empsalary</span><span class="p">;</span> +</pre></div> +</div> +<p>Also, all expressions and aggregation functions are allowed in <code class="docutils literal"><span class="pre">ORDER</span> <span class="pre">BY</span></code> clause as follows:</p> +<div class="highlight-sql"><div class="highlight"><pre><span class="k">select</span> + <span class="n">l_orderkey</span><span class="p">,</span> + <span class="k">count</span><span class="p">(</span><span class="o">*</span><span class="p">)</span> <span class="k">as</span> <span class="n">cnt</span><span class="p">,</span> + <span class="n">row_number</span><span class="p">()</span> <span class="n">over</span> <span class="p">(</span><span class="n">partition</span> <span class="k">by</span> <span class="n">l_orderkey</span> <span class="k">order</span> <span class="k">by</span> <span class="k">count</span><span class="p">(</span><span class="o">*</span><span class="p">)</span> <span class="k">desc</span><span class="p">)</span> + <span class="n">row_num</span> +<span class="k">from</span> + <span class="n">lineitem</span> +<span class="k">group</span> <span class="k">by</span> + <span class="n">l_orderkey</span> +</pre></div> +</div> +<div class="admonition note"> +<p class="first admonition-title">Note</p> +<p class="last">Currently, Tajo does not support multiple different partition-expressions in one SQL statement.</p> +</div> +</div> +</div> +</div> + + + </div> + <footer> + + <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> + + <a href="joins.html" class="btn btn-neutral float-right" title="Joins"/>Next <span class="fa fa-arrow-circle-right"></span></a> + + + <a href="alter_table.html" class="btn btn-neutral" title="ALTER TABLE"><span class="fa fa-arrow-circle-left"></span> Previous</a> + + </div> + + + <hr/> + + <div role="contentinfo"> + <p> + © Copyright 2014, Apache Tajo Team. + </p> + </div> + + <a href="https://github.com/snide/sphinx_rtd_theme">Sphinx theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a> +</footer> + </div> + </div> + + </section> + + </div> + + + + + + <script type="text/javascript"> + var DOCUMENTATION_OPTIONS = { + URL_ROOT:'../', + VERSION:'0.11.0', + COLLAPSE_INDEX:false, + FILE_SUFFIX:'.html', + HAS_SOURCE: true + }; + </script> + <script type="text/javascript" src="../_static/jquery.js"></script> + <script type="text/javascript" src="../_static/underscore.js"></script> + <script type="text/javascript" src="../_static/doctools.js"></script> + + + + + + <script type="text/javascript" src="../_static/js/theme.js"></script> + + + + + <script type="text/javascript"> + jQuery(function () { + SphinxRtdTheme.StickyNav.enable(); + }); + </script> + + +</body> +</html> \ No newline at end of file
Added: tajo/site/docs/0.11.0/sql_language/sql_expression.html URL: http://svn.apache.org/viewvc/tajo/site/docs/0.11.0/sql_language/sql_expression.html?rev=1710773&view=auto ============================================================================== --- tajo/site/docs/0.11.0/sql_language/sql_expression.html (added) +++ tajo/site/docs/0.11.0/sql_language/sql_expression.html Tue Oct 27 11:04:33 2015 @@ -0,0 +1,331 @@ + + +<!DOCTYPE html> +<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> +<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + + <title>SQL Expressions — Apache Tajo 0.11.0 documentation</title> + + + + + + + <link href='https://fonts.googleapis.com/css?family=Lato:400,700|Roboto+Slab:400,700|Inconsolata:400,700' rel='stylesheet' type='text/css'> + + + + + + + + + + <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> + + + + <link rel="top" title="Apache Tajo 0.11.0 documentation" href="../index.html"/> + <link rel="up" title="SQL Language" href="../sql_language.html"/> + <link rel="next" title="Predicates" href="predicates.html"/> + <link rel="prev" title="Joins" href="joins.html"/> + + + <script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script> + +</head> + +<body class="wy-body-for-nav" role="document"> + + <div class="wy-grid-for-nav"> + + + <nav data-toggle="wy-nav-shift" class="wy-nav-side"> + <div class="wy-side-nav-search"> + <a href="../index.html" class="fa fa-home"> Apache Tajo</a> + <div role="search"> + <form id ="rtd-search-form" class="wy-form" action="../search.html" method="get"> + <input type="text" name="q" placeholder="Search docs" /> + <input type="hidden" name="check_keywords" value="yes" /> + <input type="hidden" name="area" value="default" /> + </form> +</div> + </div> + + <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> + + + <ul class="current"> +<li class="toctree-l1"><a class="reference internal" href="../introduction.html">Introduction</a></li> +<li class="toctree-l1"><a class="reference internal" href="../getting_started.html">Getting Started</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../getting_started.html#prerequisites">Prerequisites</a></li> +<li class="toctree-l2"><a class="reference internal" href="../getting_started.html#dowload-and-unpack-the-source-code">Dowload and unpack the source code</a></li> +<li class="toctree-l2"><a class="reference internal" href="../getting_started.html#build-source-code">Build source code</a></li> +<li class="toctree-l2"><a class="reference internal" href="../getting_started.html#setting-up-a-local-tajo-cluster">Setting up a local Tajo cluster</a></li> +<li class="toctree-l2"><a class="reference internal" href="../getting_started.html#first-query-execution">First query execution</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../configuration.html">Configuration</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../configuration/preliminary.html">Preliminary</a></li> +<li class="toctree-l2"><a class="reference internal" href="../configuration/cluster_setup.html">Cluster Setup</a></li> +<li class="toctree-l2"><a class="reference internal" href="../configuration/tajo_master_configuration.html">Tajo Master Configuration</a></li> +<li class="toctree-l2"><a class="reference internal" href="../configuration/worker_configuration.html">Worker Configuration</a></li> +<li class="toctree-l2"><a class="reference internal" href="../configuration/catalog_configuration.html">Catalog Configuration</a></li> +<li class="toctree-l2"><a class="reference internal" href="../configuration/ha_configuration.html">High Availability for TajoMaster</a></li> +<li class="toctree-l2"><a class="reference internal" href="../configuration/service_config_defaults.html">Cluster Service Configuration Defaults</a></li> +<li class="toctree-l2"><a class="reference internal" href="../configuration/tajo-site-xml.html">The tajo-site.xml File</a></li> +<li class="toctree-l2"><a class="reference internal" href="../configuration/catalog-site-xml.html">The catalog-site.xml File</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../tsql.html">Tajo Shell (TSQL)</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../tsql/meta_command.html">Meta Commands</a></li> +<li class="toctree-l2"><a class="reference internal" href="../tsql/dfs_command.html">Executing HDFS commands</a></li> +<li class="toctree-l2"><a class="reference internal" href="../tsql/variables.html">Session Variables</a></li> +<li class="toctree-l2"><a class="reference internal" href="../tsql/admin_command.html">Administration Commands</a></li> +<li class="toctree-l2"><a class="reference internal" href="../tsql/intro.html">Introducing to TSQL</a></li> +<li class="toctree-l2"><a class="reference internal" href="../tsql/single_command.html">Executing a single command</a></li> +<li class="toctree-l2"><a class="reference internal" href="../tsql/execute_file.html">Executing Queries from Files</a></li> +<li class="toctree-l2"><a class="reference internal" href="../tsql/background_command.html">Executing as background process</a></li> +</ul> +</li> +<li class="toctree-l1 current"><a class="reference internal" href="../sql_language.html">SQL Language</a><ul class="current"> +<li class="toctree-l2"><a class="reference internal" href="data_model.html">Data Model</a></li> +<li class="toctree-l2"><a class="reference internal" href="ddl.html">Data Definition Language</a></li> +<li class="toctree-l2"><a class="reference internal" href="insert.html">INSERT (OVERWRITE) INTO</a></li> +<li class="toctree-l2"><a class="reference internal" href="alter_table.html">ALTER TABLE</a></li> +<li class="toctree-l2"><a class="reference internal" href="queries.html">Queries</a></li> +<li class="toctree-l2"><a class="reference internal" href="joins.html">Joins</a></li> +<li class="toctree-l2 current"><a class="current reference internal" href="">SQL Expressions</a></li> +<li class="toctree-l2"><a class="reference internal" href="predicates.html">Predicates</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../time_zone.html">Time Zone</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../time_zone.html#server-cluster-time-zone">Server Cluster Time Zone</a></li> +<li class="toctree-l2"><a class="reference internal" href="../time_zone.html#table-time-zone">Table Time Zone</a></li> +<li class="toctree-l2"><a class="reference internal" href="../time_zone.html#client-time-zone">Client Time Zone</a></li> +<li class="toctree-l2"><a class="reference internal" href="../time_zone.html#time-zone-id">Time Zone ID</a></li> +<li class="toctree-l2"><a class="reference internal" href="../time_zone.html#examples-of-time-zone">Examples of Time Zone</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../functions.html">Functions</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../functions.html#built-in-scalar-functions">Built-in Scalar Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions.html#built-in-aggregation-functions">Built-in Aggregation Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions.html#built-in-window-functions">Built-in Window Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="../functions.html#user-defined-functions">User-defined Functions</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../table_management.html">Table Management</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../table_management/table_overview.html">Overview of Tajo Tables</a></li> +<li class="toctree-l2"><a class="reference internal" href="../table_management/tablespaces.html">Tablespaces</a></li> +<li class="toctree-l2"><a class="reference internal" href="../table_management/file_formats.html">File Formats</a></li> +<li class="toctree-l2"><a class="reference internal" href="../table_management/compression.html">Compression</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../table_partitioning.html">Table Partitioning</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../partitioning/intro_to_partitioning.html">Introduction to Partitioning</a></li> +<li class="toctree-l2"><a class="reference internal" href="../partitioning/column_partitioning.html">Column Partitioning</a></li> +<li class="toctree-l2"><a class="reference internal" href="../partitioning/range_partitioning.html">Range Partitioning</a></li> +<li class="toctree-l2"><a class="reference internal" href="../partitioning/hash_partitioning.html">Hash Partitioning</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../storage_plugins.html">Storage Plugin</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../storage_plugins/overview.html">Storage Plugin Overview</a></li> +<li class="toctree-l2"><a class="reference internal" href="../storage_plugins/postgresql.html">PostgreSQL Storage Handler</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../index_overview.html">Index (Experimental Feature)</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../index/types.html">Index Types</a></li> +<li class="toctree-l2"><a class="reference internal" href="../index/how_to_use.html">How to use index?</a></li> +<li class="toctree-l2"><a class="reference internal" href="../index/future_work.html">Future Works</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../backup_and_restore.html">Backup and Restore</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../backup_and_restore/catalog.html">Backup and Restore Catalog</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../hive_integration.html">Hive Integration</a></li> +<li class="toctree-l1"><a class="reference internal" href="../hbase_integration.html">HBase Integration</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../hbase_integration.html#create-table">CREATE TABLE</a></li> +<li class="toctree-l2"><a class="reference internal" href="../hbase_integration.html#drop-table">DROP TABLE</a></li> +<li class="toctree-l2"><a class="reference internal" href="../hbase_integration.html#insert-overwrite-into">INSERT (OVERWRITE) INTO</a></li> +<li class="toctree-l2"><a class="reference internal" href="../hbase_integration.html#usage">Usage</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../swift_integration.html">OpenStack Swift Integration</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../swift_integration.html#swift-configuration">Swift configuration</a></li> +<li class="toctree-l2"><a class="reference internal" href="../swift_integration.html#hadoop-configurations">Hadoop configurations</a></li> +<li class="toctree-l2"><a class="reference internal" href="../swift_integration.html#tajo-configuration">Tajo configuration</a></li> +<li class="toctree-l2"><a class="reference internal" href="../swift_integration.html#querying-on-swift">Querying on Swift</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../jdbc_driver.html">Tajo JDBC Driver</a><ul> +<li class="toctree-l2"><a class="reference internal" href="../jdbc_driver.html#how-to-get-jdbc-driver">How to get JDBC driver</a></li> +<li class="toctree-l2"><a class="reference internal" href="../jdbc_driver.html#setting-the-classpath">Setting the CLASSPATH</a></li> +<li class="toctree-l2"><a class="reference internal" href="../jdbc_driver.html#connecting-to-the-tajo-cluster-instance">Connecting to the Tajo cluster instance</a></li> +<li class="toctree-l2"><a class="reference internal" href="../jdbc_driver.html#connection-parameters">Connection Parameters</a></li> +<li class="toctree-l2"><a class="reference internal" href="../jdbc_driver.html#an-example-jdbc-client">An Example JDBC Client</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="../tajo_client_api.html">Tajo Client API</a></li> +<li class="toctree-l1"><a class="reference internal" href="../faq.html">FAQ</a></li> +</ul> + + + </div> + + </nav> + + <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> + + + <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> + <i data-toggle="wy-nav-top" class="fa fa-bars"></i> + <a href="../index.html">Apache Tajo</a> + </nav> + + + + <div class="wy-nav-content"> + <div class="rst-content"> + <div role="navigation" aria-label="breadcrumbs navigation"> + <ul class="wy-breadcrumbs"> + <li><a href="../index.html">Docs</a> »</li> + + <li><a href="../sql_language.html">SQL Language</a> »</li> + + <li>SQL Expressions</li> + <li class="wy-breadcrumbs-aside"> + + <a href="../_sources/sql_language/sql_expression.txt" rel="nofollow"> View page source</a> + + </li> + </ul> + <hr/> +</div> + <div role="main"> + + <div class="section" id="sql-expressions"> +<h1>SQL Expressions<a class="headerlink" href="#sql-expressions" title="Permalink to this headline">¶</a></h1> +<div class="section" id="arithmetic-expressions"> +<h2>Arithmetic Expressions<a class="headerlink" href="#arithmetic-expressions" title="Permalink to this headline">¶</a></h2> +</div> +<div class="section" id="type-casts"> +<h2>Type Casts<a class="headerlink" href="#type-casts" title="Permalink to this headline">¶</a></h2> +<p>A type cast converts a specified-typed data to another-typed data. Tajo has two type cast syntax:</p> +<div class="highlight-sql"><div class="highlight"><pre><span class="k">CAST</span> <span class="p">(</span> <span class="n">expression</span> <span class="k">AS</span> <span class="k">type</span> <span class="p">)</span> +<span class="n">expression</span><span class="p">::</span><span class="k">type</span> +</pre></div> +</div> +<p>In addition, several functions are provided for type conversion. Please refer to <a class="reference internal" href="../functions/data_type_func_and_operators.html"><em>Data Type Functions and Operators</em></a> and <a class="reference internal" href="../functions/datetime_func_and_operators.html"><em>DateTime Functions and Operators</em></a>.</p> +</div> +<div class="section" id="string-literals"> +<h2>String Literals<a class="headerlink" href="#string-literals" title="Permalink to this headline">¶</a></h2> +<p>A string constant is an arbitrary sequence of characters bounded by single quotes (<code class="docutils literal"><span class="pre">'</span></code>):</p> +<div class="highlight-sql"><div class="highlight"><pre><span class="s1">'tajo'</span> +</pre></div> +</div> +</div> +<div class="section" id="function-calls"> +<h2>Function Calls<a class="headerlink" href="#function-calls" title="Permalink to this headline">¶</a></h2> +<p>The syntax for a function call consists of the name of a function and its argument list enclosed in parentheses:</p> +<div class="highlight-sql"><div class="highlight"><pre><span class="n">function_name</span> <span class="p">([</span><span class="n">expression</span> <span class="p">[,</span> <span class="n">expression</span> <span class="p">...</span> <span class="p">]]</span> <span class="p">)</span> +</pre></div> +</div> +<p>For more information about functions, please refer to <a class="reference internal" href="../functions.html"><em>Functions</em></a>.</p> +</div> +<div class="section" id="window-function-calls"> +<h2>Window Function Calls<a class="headerlink" href="#window-function-calls" title="Permalink to this headline">¶</a></h2> +<p>A window function call performs aggregate operation across the <code class="docutils literal"><span class="pre">window</span></code> which is a set of rows that are related to the current row. An window function has the following syntax.</p> +<div class="highlight-sql"><div class="highlight"><pre><span class="n">function_name</span> <span class="n">OVER</span> <span class="p">(</span> <span class="n">window_definition</span> <span class="p">)</span> +</pre></div> +</div> +<p>where <em>function_name</em> is the name of aggregation function. Any aggregation function or window function can be used. For built-in aggregation functions and window functions, please refer to <a class="reference internal" href="../functions/agg_func.html"><em>Aggregation Functions</em></a> and <a class="reference internal" href="../functions/window_func.html"><em>Window Functions</em></a>.</p> +<p><em>window_definition</em> has the following syntax.</p> +<div class="highlight-sql"><div class="highlight"><pre>[ PARTITION BY expression [, ...] ] +[ ORDER BY expression [ ASC | DESC ] [ NULLS { FIRST | LAST } ] [, ...] ] +</pre></div> +</div> +<p>In the above syntax, <em>expression</em> can be any expression except window function call itself. +<em>PARTITION BY</em> and <em>ORDER BY</em> lists have the same syntax and semantics as <em>GROUP BY</em> and <em>ORDER BY</em> clauses. +That is, <em>PARTITION BY</em> list describes how the output result will be partitioned like <em>GROUP BY</em> clause creates multiple partitions according to the value of its expression. +With <em>ORDER BY</em> list, result values are sorted in each partition.</p> +<p>Here are some examples.</p> +<div class="highlight-sql"><div class="highlight"><pre><span class="k">select</span> <span class="n">l_orderkey</span><span class="p">,</span> <span class="k">count</span><span class="p">(</span><span class="o">*</span><span class="p">)</span> <span class="k">as</span> <span class="n">cnt</span><span class="p">,</span> <span class="n">row_number</span><span class="p">()</span> <span class="n">over</span> <span class="p">(</span><span class="k">order</span> <span class="k">by</span> <span class="k">count</span><span class="p">(</span><span class="o">*</span><span class="p">)</span> <span class="k">desc</span><span class="p">)</span> <span class="n">row_num</span> <span class="k">from</span> <span class="n">lineitem</span> <span class="k">group</span> <span class="k">by</span> <span class="n">l_orderkey</span> <span class="k">order</span> <span class="k">by</span> <span class="n">l_orderkey</span><span class="p">;</span> + +<span class="k">select</span> <span class="n">o_custkey</span><span class="p">,</span> <span class="n">o_orderstatus</span><span class="p">,</span> <span class="k">sum</span><span class="p">(</span><span class="n">o_totalprice</span><span class="p">)</span> <span class="n">over</span> <span class="p">(</span><span class="n">partition</span> <span class="k">by</span> <span class="n">o_custkey</span><span class="p">)</span> <span class="k">as</span> <span class="n">price</span> <span class="k">from</span> <span class="n">orders</span><span class="p">;</span> + +<span class="k">select</span> <span class="n">l_linenumber</span><span class="p">,</span> <span class="n">l_tax</span><span class="p">,</span> <span class="k">sum</span><span class="p">(</span><span class="n">l_quantity</span><span class="p">)</span> <span class="n">over</span> <span class="p">(</span><span class="n">partition</span> <span class="k">by</span> <span class="n">l_linenumber</span> <span class="k">order</span> <span class="k">by</span> <span class="n">l_tax</span> <span class="k">desc</span><span class="p">)</span> <span class="k">as</span> <span class="n">quantity</span><span class="p">,</span> <span class="k">avg</span><span class="p">(</span><span class="n">l_extendedprice</span><span class="p">)</span> <span class="n">over</span> <span class="p">(</span><span class="n">partition</span> <span class="k">by</span> <span class="n">l_shipdate</span><span class="p">)</span> <span class="k">from</span> <span class="n">lineitem</span> <span class="k">order</span> <span clas s="k">by</span> <span class="n">l_tax</span><span class="p">;</span> +</pre></div> +</div> +</div> +</div> + + + </div> + <footer> + + <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> + + <a href="predicates.html" class="btn btn-neutral float-right" title="Predicates"/>Next <span class="fa fa-arrow-circle-right"></span></a> + + + <a href="joins.html" class="btn btn-neutral" title="Joins"><span class="fa fa-arrow-circle-left"></span> Previous</a> + + </div> + + + <hr/> + + <div role="contentinfo"> + <p> + © Copyright 2014, Apache Tajo Team. + </p> + </div> + + <a href="https://github.com/snide/sphinx_rtd_theme">Sphinx theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a> +</footer> + </div> + </div> + + </section> + + </div> + + + + + + <script type="text/javascript"> + var DOCUMENTATION_OPTIONS = { + URL_ROOT:'../', + VERSION:'0.11.0', + COLLAPSE_INDEX:false, + FILE_SUFFIX:'.html', + HAS_SOURCE: true + }; + </script> + <script type="text/javascript" src="../_static/jquery.js"></script> + <script type="text/javascript" src="../_static/underscore.js"></script> + <script type="text/javascript" src="../_static/doctools.js"></script> + + + + + + <script type="text/javascript" src="../_static/js/theme.js"></script> + + + + + <script type="text/javascript"> + jQuery(function () { + SphinxRtdTheme.StickyNav.enable(); + }); + </script> + + +</body> +</html> \ No newline at end of file Added: tajo/site/docs/0.11.0/storage_plugin.html URL: http://svn.apache.org/viewvc/tajo/site/docs/0.11.0/storage_plugin.html?rev=1710773&view=auto ============================================================================== --- tajo/site/docs/0.11.0/storage_plugin.html (added) +++ tajo/site/docs/0.11.0/storage_plugin.html Tue Oct 27 11:04:33 2015 @@ -0,0 +1,310 @@ + + +<!DOCTYPE html> +<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]--> +<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]--> +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + + <title>Storage Plugin — Apache Tajo 0.11.0 documentation</title> + + + + + + + <link href='https://fonts.googleapis.com/css?family=Lato:400,700|Roboto+Slab:400,700|Inconsolata:400,700' rel='stylesheet' type='text/css'> + + + + + + + + + + <link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> + + + + <link rel="top" title="Apache Tajo 0.11.0 documentation" href="index.html"/> + <link rel="next" title="Index (Experimental Feature)" href="index_overview.html"/> + <link rel="prev" title="Hash Partitioning" href="partitioning/hash_partitioning.html"/> + + + <script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script> + +</head> + +<body class="wy-body-for-nav" role="document"> + + <div class="wy-grid-for-nav"> + + + <nav data-toggle="wy-nav-shift" class="wy-nav-side"> + <div class="wy-side-nav-search"> + <a href="index.html" class="fa fa-home"> Apache Tajo</a> + <div role="search"> + <form id ="rtd-search-form" class="wy-form" action="search.html" method="get"> + <input type="text" name="q" placeholder="Search docs" /> + <input type="hidden" name="check_keywords" value="yes" /> + <input type="hidden" name="area" value="default" /> + </form> +</div> + </div> + + <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation"> + + + <ul class="current"> +<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction</a></li> +<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting Started</a><ul> +<li class="toctree-l2"><a class="reference internal" href="getting_started.html#prerequisites">Prerequisites</a></li> +<li class="toctree-l2"><a class="reference internal" href="getting_started.html#dowload-and-unpack-the-source-code">Dowload and unpack the source code</a></li> +<li class="toctree-l2"><a class="reference internal" href="getting_started.html#build-source-code">Build source code</a></li> +<li class="toctree-l2"><a class="reference internal" href="getting_started.html#setting-up-a-local-tajo-cluster">Setting up a local Tajo cluster</a></li> +<li class="toctree-l2"><a class="reference internal" href="getting_started.html#first-query-execution">First query execution</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="configuration.html">Configuration</a><ul> +<li class="toctree-l2"><a class="reference internal" href="configuration/preliminary.html">Preliminary</a></li> +<li class="toctree-l2"><a class="reference internal" href="configuration/cluster_setup.html">Cluster Setup</a></li> +<li class="toctree-l2"><a class="reference internal" href="configuration/tajo_master_configuration.html">Tajo Master Configuration</a></li> +<li class="toctree-l2"><a class="reference internal" href="configuration/worker_configuration.html">Worker Configuration</a></li> +<li class="toctree-l2"><a class="reference internal" href="configuration/catalog_configuration.html">Catalog Configuration</a></li> +<li class="toctree-l2"><a class="reference internal" href="configuration/ha_configuration.html">High Availability for TajoMaster</a></li> +<li class="toctree-l2"><a class="reference internal" href="configuration/service_config_defaults.html">Cluster Service Configuration Defaults</a></li> +<li class="toctree-l2"><a class="reference internal" href="configuration/tajo-site-xml.html">The tajo-site.xml File</a></li> +<li class="toctree-l2"><a class="reference internal" href="configuration/catalog-site-xml.html">The catalog-site.xml File</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="tsql.html">Tajo Shell (TSQL)</a><ul> +<li class="toctree-l2"><a class="reference internal" href="tsql/meta_command.html">Meta Commands</a></li> +<li class="toctree-l2"><a class="reference internal" href="tsql/dfs_command.html">Executing HDFS commands</a></li> +<li class="toctree-l2"><a class="reference internal" href="tsql/variables.html">Session Variables</a></li> +<li class="toctree-l2"><a class="reference internal" href="tsql/admin_command.html">Administration Commands</a></li> +<li class="toctree-l2"><a class="reference internal" href="tsql/intro.html">Introducing to TSQL</a></li> +<li class="toctree-l2"><a class="reference internal" href="tsql/single_command.html">Executing a single command</a></li> +<li class="toctree-l2"><a class="reference internal" href="tsql/execute_file.html">Executing Queries from Files</a></li> +<li class="toctree-l2"><a class="reference internal" href="tsql/background_command.html">Executing as background process</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="sql_language.html">SQL Language</a><ul> +<li class="toctree-l2"><a class="reference internal" href="sql_language/data_model.html">Data Model</a></li> +<li class="toctree-l2"><a class="reference internal" href="sql_language/ddl.html">Data Definition Language</a></li> +<li class="toctree-l2"><a class="reference internal" href="sql_language/insert.html">INSERT (OVERWRITE) INTO</a></li> +<li class="toctree-l2"><a class="reference internal" href="sql_language/alter_table.html">ALTER TABLE</a></li> +<li class="toctree-l2"><a class="reference internal" href="sql_language/queries.html">Queries</a></li> +<li class="toctree-l2"><a class="reference internal" href="sql_language/joins.html">Joins</a></li> +<li class="toctree-l2"><a class="reference internal" href="sql_language/sql_expression.html">SQL Expressions</a></li> +<li class="toctree-l2"><a class="reference internal" href="sql_language/predicates.html">Predicates</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="time_zone.html">Time Zone</a><ul> +<li class="toctree-l2"><a class="reference internal" href="time_zone.html#server-cluster-time-zone">Server Cluster Time Zone</a></li> +<li class="toctree-l2"><a class="reference internal" href="time_zone.html#table-time-zone">Table Time Zone</a></li> +<li class="toctree-l2"><a class="reference internal" href="time_zone.html#client-time-zone">Client Time Zone</a></li> +<li class="toctree-l2"><a class="reference internal" href="time_zone.html#time-zone-id">Time Zone ID</a></li> +<li class="toctree-l2"><a class="reference internal" href="time_zone.html#examples-of-time-zone">Examples of Time Zone</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="functions.html">Functions</a><ul> +<li class="toctree-l2"><a class="reference internal" href="functions.html#built-in-scalar-functions">Built-in Scalar Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="functions.html#built-in-aggregation-functions">Built-in Aggregation Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="functions.html#built-in-window-functions">Built-in Window Functions</a></li> +<li class="toctree-l2"><a class="reference internal" href="functions.html#user-defined-functions">User-defined Functions</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="table_management.html">Table Management</a><ul> +<li class="toctree-l2"><a class="reference internal" href="table_management/table_overview.html">Overview of Tajo Tables</a></li> +<li class="toctree-l2"><a class="reference internal" href="table_management/tablespaces.html">Tablespaces</a></li> +<li class="toctree-l2"><a class="reference internal" href="table_management/file_formats.html">File Formats</a></li> +<li class="toctree-l2"><a class="reference internal" href="table_management/compression.html">Compression</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="table_partitioning.html">Table Partitioning</a><ul> +<li class="toctree-l2"><a class="reference internal" href="partitioning/intro_to_partitioning.html">Introduction to Partitioning</a></li> +<li class="toctree-l2"><a class="reference internal" href="partitioning/column_partitioning.html">Column Partitioning</a></li> +<li class="toctree-l2"><a class="reference internal" href="partitioning/range_partitioning.html">Range Partitioning</a></li> +<li class="toctree-l2"><a class="reference internal" href="partitioning/hash_partitioning.html">Hash Partitioning</a></li> +</ul> +</li> +<li class="toctree-l1 current"><a class="current reference internal" href="">Storage Plugin</a><ul> +<li class="toctree-l2"><a class="reference internal" href="#overview">Overview</a></li> +<li class="toctree-l2"><a class="reference internal" href="#register-custom-storage">Register custom storage</a></li> +<li class="toctree-l2"><a class="reference internal" href="#configuration">Configuration</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="index_overview.html">Index (Experimental Feature)</a><ul> +<li class="toctree-l2"><a class="reference internal" href="index/types.html">Index Types</a></li> +<li class="toctree-l2"><a class="reference internal" href="index/how_to_use.html">How to use index?</a></li> +<li class="toctree-l2"><a class="reference internal" href="index/future_work.html">Future Works</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="backup_and_restore.html">Backup and Restore</a><ul> +<li class="toctree-l2"><a class="reference internal" href="backup_and_restore/catalog.html">Backup and Restore Catalog</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="hive_integration.html">Hive Integration</a></li> +<li class="toctree-l1"><a class="reference internal" href="hbase_integration.html">HBase Integration</a><ul> +<li class="toctree-l2"><a class="reference internal" href="hbase_integration.html#create-table">CREATE TABLE</a></li> +<li class="toctree-l2"><a class="reference internal" href="hbase_integration.html#drop-table">DROP TABLE</a></li> +<li class="toctree-l2"><a class="reference internal" href="hbase_integration.html#insert-overwrite-into">INSERT (OVERWRITE) INTO</a></li> +<li class="toctree-l2"><a class="reference internal" href="hbase_integration.html#usage">Usage</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="swift_integration.html">OpenStack Swift Integration</a><ul> +<li class="toctree-l2"><a class="reference internal" href="swift_integration.html#swift-configuration">Swift configuration</a></li> +<li class="toctree-l2"><a class="reference internal" href="swift_integration.html#hadoop-configurations">Hadoop configurations</a></li> +<li class="toctree-l2"><a class="reference internal" href="swift_integration.html#tajo-configuration">Tajo configuration</a></li> +<li class="toctree-l2"><a class="reference internal" href="swift_integration.html#querying-on-swift">Querying on Swift</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="jdbc_driver.html">Tajo JDBC Driver</a><ul> +<li class="toctree-l2"><a class="reference internal" href="jdbc_driver.html#how-to-get-jdbc-driver">How to get JDBC driver</a></li> +<li class="toctree-l2"><a class="reference internal" href="jdbc_driver.html#setting-the-classpath">Setting the CLASSPATH</a></li> +<li class="toctree-l2"><a class="reference internal" href="jdbc_driver.html#an-example-jdbc-client">An Example JDBC Client</a></li> +</ul> +</li> +<li class="toctree-l1"><a class="reference internal" href="tajo_client_api.html">Tajo Client API</a></li> +<li class="toctree-l1"><a class="reference internal" href="faq.html">FAQ</a></li> +</ul> + + + </div> + + </nav> + + <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> + + + <nav class="wy-nav-top" role="navigation" aria-label="top navigation"> + <i data-toggle="wy-nav-top" class="fa fa-bars"></i> + <a href="index.html">Apache Tajo</a> + </nav> + + + + <div class="wy-nav-content"> + <div class="rst-content"> + <div role="navigation" aria-label="breadcrumbs navigation"> + <ul class="wy-breadcrumbs"> + <li><a href="index.html">Docs</a> »</li> + + <li>Storage Plugin</li> + <li class="wy-breadcrumbs-aside"> + + <a href="_sources/storage_plugin.txt" rel="nofollow"> View page source</a> + + </li> + </ul> + <hr/> +</div> + <div role="main"> + + <div class="section" id="storage-plugin"> +<h1>Storage Plugin<a class="headerlink" href="#storage-plugin" title="Permalink to this headline">¶</a></h1> +<div class="section" id="overview"> +<h2>Overview<a class="headerlink" href="#overview" title="Permalink to this headline">¶</a></h2> +<p>Tajo supports various storage systems, such as HDFS, Amazon S3, Openstack Swift, and HBase. Also, we have a plan to support RDBMS storages like Oracle, MySQL, PostgreSQL. Tajo already embeds HDFS, S3, Openstack, and HBase, and also Tajo allows users to register custom storages and data formats to Tajo cluster instances. This section describes how you register custom storages and data types.</p> +</div> +<div class="section" id="register-custom-storage"> +<h2>Register custom storage<a class="headerlink" href="#register-custom-storage" title="Permalink to this headline">¶</a></h2> +<p>First of all, your storage implementation should be packed as a jar file. Then, please copy the jar file into <tt class="docutils literal"><span class="pre">tajo/extlib</span></tt> directory. Next, you should copy <tt class="docutils literal"><span class="pre">conf/storage-site.json.template</span></tt> into <tt class="docutils literal"><span class="pre">conf/storage-site.json</span></tt> and modify the file like the below.</p> +</div> +<div class="section" id="configuration"> +<h2>Configuration<a class="headerlink" href="#configuration" title="Permalink to this headline">¶</a></h2> +<p>Tajo has a default configuration for builtin storages, such as HDFS, local file system, and Amazon S3. it also allows users to add custom storage plugins</p> +<p><tt class="docutils literal"><span class="pre">conf/storage-site.json</span></tt> file has the following struct:</p> +<div class="highlight-json"><div class="highlight"><pre><span class="p">{</span> + <span class="nt">"storages"</span><span class="p">:</span> <span class="p">{</span> + <span class="nt">"${scheme}"</span><span class="p">:</span> <span class="p">{</span> + <span class="nt">"handler"</span><span class="p">:</span> <span class="s2">"${class name}"</span> + <span class="p">}</span> + <span class="p">}</span> +<span class="p">}</span> +</pre></div> +</div> +<p>Each storage instance (i.e., <a class="reference internal" href="table_management/tablespaces.html"><em>Tablespaces</em></a>) is identified by an URI. The scheme of URI plays a role to identify storage type. For example, <tt class="docutils literal"><span class="pre">hdfs://</span></tt> is used for Hdfs storage, <tt class="docutils literal"><span class="pre">jdbc://</span></tt> is used for JDBC-based storage, and <tt class="docutils literal"><span class="pre">hbase://</span></tt> is used for HBase storage.</p> +<p>You should substitute a scheme name without <tt class="docutils literal"><span class="pre">://</span></tt> for <tt class="docutils literal"><span class="pre">${scheme}</span></tt>.</p> +<p>See an example for HBase storage.</p> +<div class="highlight-json"><div class="highlight"><pre><span class="p">{</span> + <span class="nt">"storages"</span><span class="p">:</span> <span class="p">{</span> + <span class="nt">"hbase"</span><span class="p">:</span> <span class="p">{</span> + <span class="nt">"handler"</span><span class="p">:</span> <span class="s2">"org.apache.tajo.storage.hbase.HBaseTablespace"</span><span class="p">,</span> + <span class="nt">"default-format"</span><span class="p">:</span> <span class="s2">"hbase"</span> + <span class="p">}</span> + <span class="p">}</span> +<span class="p">}</span> +</pre></div> +</div> +</div> +</div> + + + </div> + <footer> + + <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> + + <a href="index_overview.html" class="btn btn-neutral float-right" title="Index (Experimental Feature)"/>Next <span class="fa fa-arrow-circle-right"></span></a> + + + <a href="partitioning/hash_partitioning.html" class="btn btn-neutral" title="Hash Partitioning"><span class="fa fa-arrow-circle-left"></span> Previous</a> + + </div> + + + <hr/> + + <div role="contentinfo"> + <p> + © Copyright 2014, Apache Tajo Team. + </p> + </div> + + <a href="https://github.com/snide/sphinx_rtd_theme">Sphinx theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a> +</footer> + </div> + </div> + + </section> + + </div> + + + + + + <script type="text/javascript"> + var DOCUMENTATION_OPTIONS = { + URL_ROOT:'./', + VERSION:'0.11.0', + COLLAPSE_INDEX:false, + FILE_SUFFIX:'.html', + HAS_SOURCE: true + }; + </script> + <script type="text/javascript" src="_static/jquery.js"></script> + <script type="text/javascript" src="_static/underscore.js"></script> + <script type="text/javascript" src="_static/doctools.js"></script> + + + + + + <script type="text/javascript" src="_static/js/theme.js"></script> + + + + + <script type="text/javascript"> + jQuery(function () { + SphinxRtdTheme.StickyNav.enable(); + }); + </script> + + +</body> +</html> \ No newline at end of file
