<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link href='images/favicon.ico' rel='shortcut icon' type='image/x-icon'>
    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
    <title>CarbonData</title>
    <style>

    </style>
    <!-- Bootstrap -->

    <link rel="stylesheet" href="css/bootstrap.min.css">
    <link href="css/style.css" rel="stylesheet">
    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
    <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
    <script src="https://oss.maxcdn.scom/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
    <script src="js/jquery.min.js"></script>
    <script src="js/bootstrap.min.js"></script>
    <script defer src="https://use.fontawesome.com/releases/v5.0.8/js/all.js"></script>


</head>
<body>
<header>
    <nav class="navbar navbar-default navbar-custom cd-navbar-wrapper">
        <div class="container">
            <div class="navbar-header">
                <button aria-controls="navbar" aria-expanded="false" data-target="#navbar" data-toggle="collapse"
                        class="navbar-toggle collapsed" type="button">
                    <span class="sr-only">Toggle navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
                <a href="index.html" class="logo">
                    <img src="images/CarbonDataLogo.png" alt="CarbonData logo" title="CarbocnData logo"/>
                </a>
            </div>
            <div class="navbar-collapse collapse cd_navcontnt" id="navbar">
                <ul class="nav navbar-nav navbar-right navlist-custom">
                    <li><a href="index.html" class="hidden-xs"><i class="fa fa-home" aria-hidden="true"></i> </a>
                    </li>
                    <li><a href="index.html" class="hidden-lg hidden-md hidden-sm">Home</a></li>
                    <li class="dropdown">
                        <a href="#" class="dropdown-toggle " data-toggle="dropdown" role="button" aria-haspopup="true"
                           aria-expanded="false"> Download <span class="caret"></span></a>
                        <ul class="dropdown-menu">
                            <li>
                                <a href="https://dist.apache.org/repos/dist/release/carbondata/1.5.0/"
                                   target="_blank">Apache CarbonData 1.5.0</a></li>
                            <li>
                                <a href="https://dist.apache.org/repos/dist/release/carbondata/1.4.1/"
                                   target="_blank">Apache CarbonData 1.4.1</a></li>
							<li>
                                <a href="https://dist.apache.org/repos/dist/release/carbondata/1.4.0/"
                                   target="_blank">Apache CarbonData 1.4.0</a></li>
                            <li>
                                <a href="https://dist.apache.org/repos/dist/release/carbondata/1.3.1/"
                                   target="_blank">Apache CarbonData 1.3.1</a></li>
                            <li>
                                <a href="https://dist.apache.org/repos/dist/release/carbondata/1.3.0/"
                                   target="_blank">Apache CarbonData 1.3.0</a></li>
                            <li>
                                <a href="https://cwiki.apache.org/confluence/display/CARBONDATA/Releases"
                                   target="_blank">Release Archive</a></li>
                        </ul>
                    </li>
                    <li><a href="documentation.html" class="active">Documentation</a></li>
                    <li class="dropdown">
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
                           aria-expanded="false">Community <span class="caret"></span></a>
                        <ul class="dropdown-menu">
                            <li>
                                <a href="https://github.com/apache/carbondata/blob/master/docs/how-to-contribute-to-apache-carbondata.md"
                                   target="_blank">Contributing to CarbonData</a></li>
                            <li>
                                <a href="https://github.com/apache/carbondata/blob/master/docs/release-guide.md"
                                   target="_blank">Release Guide</a></li>
                            <li>
                                <a href="https://cwiki.apache.org/confluence/display/CARBONDATA/PMC+and+Committers+member+list"
                                   target="_blank">Project PMC and Committers</a></li>
                            <li>
                                <a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=66850609"
                                   target="_blank">CarbonData Meetups</a></li>
                            <li><a href="security.html">Apache CarbonData Security</a></li>
                            <li><a href="https://issues.apache.org/jira/browse/CARBONDATA" target="_blank">Apache
                                Jira</a></li>
                            <li><a href="videogallery.html">CarbonData Videos </a></li>
                        </ul>
                    </li>
                    <li class="dropdown">
                        <a href="http://www.apache.org/" class="apache_link hidden-xs dropdown-toggle"
                           data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Apache</a>
                        <ul class="dropdown-menu">
                            <li><a href="http://www.apache.org/" target="_blank">Apache Homepage</a></li>
                            <li><a href="http://www.apache.org/licenses/" target="_blank">License</a></li>
                            <li><a href="http://www.apache.org/foundation/sponsorship.html"
                                   target="_blank">Sponsorship</a></li>
                            <li><a href="http://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
                        </ul>
                    </li>

                    <li class="dropdown">
                        <a href="http://www.apache.org/" class="hidden-lg hidden-md hidden-sm dropdown-toggle"
                           data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Apache</a>
                        <ul class="dropdown-menu">
                            <li><a href="http://www.apache.org/" target="_blank">Apache Homepage</a></li>
                            <li><a href="http://www.apache.org/licenses/" target="_blank">License</a></li>
                            <li><a href="http://www.apache.org/foundation/sponsorship.html"
                                   target="_blank">Sponsorship</a></li>
                            <li><a href="http://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
                        </ul>
                    </li>

                    <li>
                        <a href="#" id="search-icon"><i class="fa fa-search" aria-hidden="true"></i></a>

                    </li>

                </ul>
            </div><!--/.nav-collapse -->
            <div id="search-box">
                <form method="get" action="http://www.google.com/search" target="_blank">
                    <div class="search-block">
                        <table border="0" cellpadding="0" width="100%">
                            <tr>
                                <td style="width:80%">
                                    <input type="text" name="q" size=" 5" maxlength="255" value=""
                                           class="search-input"  placeholder="Search...."    required/>
                                </td>
                                <td style="width:20%">
                                    <input type="submit" value="Search"/></td>
                            </tr>
                            <tr>
                                <td align="left" style="font-size:75%" colspan="2">
                                    <input type="checkbox" name="sitesearch" value="carbondata.apache.org" checked/>
                                    <span style=" position: relative; top: -3px;"> Only search for CarbonData</span>
                                </td>
                            </tr>
                        </table>
                    </div>
                </form>
            </div>
        </div>
    </nav>
</header> <!-- end Header part -->

<div class="fixed-padding"></div> <!--  top padding with fixde header  -->

<section><!-- Dashboard nav -->
    <div class="container-fluid q">
        <div class="col-sm-12  col-md-12 maindashboard">
            <div class="verticalnavbar">
                <nav class="b-sticky-nav">
                    <div class="nav-scroller">
                        <div class="nav__inner">
                            <a class="b-nav__intro nav__item" href="./introduction.html">introduction</a>
                            <a class="b-nav__quickstart nav__item" href="./quick-start-guide.html">quick start</a>
                            <a class="b-nav__uses nav__item" href="./usecases.html">use cases</a>

                            <div class="nav__item nav__item__with__subs">
                                <a class="b-nav__docs nav__item nav__sub__anchor" href="./language-manual.html">Language Reference</a>
                                <a class="nav__item nav__sub__item" href="./ddl-of-carbondata.html">DDL</a>
                                <a class="nav__item nav__sub__item" href="./dml-of-carbondata.html">DML</a>
                                <a class="nav__item nav__sub__item" href="./streaming-guide.html">Streaming</a>
                                <a class="nav__item nav__sub__item" href="./configuration-parameters.html">Configuration</a>
                                <a class="nav__item nav__sub__item" href="./datamap-developer-guide.html">Datamaps</a>
                                <a class="nav__item nav__sub__item" href="./supported-data-types-in-carbondata.html">Data Types</a>
                            </div>

                            <div class="nav__item nav__item__with__subs">
                                <a class="b-nav__datamap nav__item nav__sub__anchor" href="./datamap-management.html">DataMaps</a>
                                <a class="nav__item nav__sub__item" href="./bloomfilter-datamap-guide.html">Bloom Filter</a>
                                <a class="nav__item nav__sub__item" href="./lucene-datamap-guide.html">Lucene</a>
                                <a class="nav__item nav__sub__item" href="./preaggregate-datamap-guide.html">Pre-Aggregate</a>
                                <a class="nav__item nav__sub__item" href="./timeseries-datamap-guide.html">Time Series</a>
                            </div>

                            <div class="nav__item nav__item__with__subs">
                                <a class="b-nav__api nav__item nav__sub__anchor" href="./sdk-guide.html">API</a>
                                <a class="nav__item nav__sub__item" href="./sdk-guide.html">Java SDK</a>
                                <a class="nav__item nav__sub__item" href="./CSDK-guide.html">C++ SDK</a>
                            </div>

                            <a class="b-nav__perf nav__item" href="./performance-tuning.html">Performance Tuning</a>
                            <a class="b-nav__s3 nav__item" href="./s3-guide.html">S3 Storage</a>
                            <a class="b-nav__faq nav__item" href="./faq.html">FAQ</a>
                            <a class="b-nav__contri nav__item" href="./how-to-contribute-to-apache-carbondata.html">Contribute</a>
                            <a class="b-nav__security nav__item" href="./security.html">Security</a>
                            <a class="b-nav__release nav__item" href="./release-guide.html">Release Guide</a>
                        </div>
                    </div>
                    <div class="navindicator">
                        <div class="b-nav__intro navindicator__item"></div>
                        <div class="b-nav__quickstart navindicator__item"></div>
                        <div class="b-nav__uses navindicator__item"></div>
                        <div class="b-nav__docs navindicator__item"></div>
                        <div class="b-nav__datamap navindicator__item"></div>
                        <div class="b-nav__api navindicator__item"></div>
                        <div class="b-nav__perf navindicator__item"></div>
                        <div class="b-nav__s3 navindicator__item"></div>
                        <div class="b-nav__faq navindicator__item"></div>
                        <div class="b-nav__contri navindicator__item"></div>
                        <div class="b-nav__security navindicator__item"></div>
                    </div>
                </nav>
            </div>
            <div class="mdcontent">
                <section>
                    <div style="padding:10px 15px;">
                        <div id="viewpage" name="viewpage">
                            <div class="row">
                                <div class="col-sm-12  col-md-12">
                                    <div>
<h1>
<a id="carbondata-timeseries-datamap" class="anchor" href="#carbondata-timeseries-datamap" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>CarbonData Timeseries DataMap</h1>
<ul>
<li><a href="#timeseries-datamap-introduction-alpha-feature">Timeseries DataMap Introduction</a></li>
<li><a href="#compacting-timeseries-datamp">Compaction</a></li>
<li><a href="#data-management-on-timeseries-datamap">Data Management</a></li>
</ul>
<h2>
<a id="timeseries-datamap-introduction-alpha-feature" class="anchor" href="#timeseries-datamap-introduction-alpha-feature" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Timeseries DataMap Introduction (Alpha Feature)</h2>
<p>Timeseries DataMap is a pre-aggregate table implementation based on 'pre-aggregate' DataMap.
Difference is that Timeseries DataMap has built-in understanding of time hierarchy and
levels: year, month, day, hour, minute, so that it supports automatic roll-up in time dimension
for query.</p>
<p><strong>CAUTION:</strong> Current version of CarbonData does not support roll-up.It will be implemented in future versions.</p>
<p>The data loading, querying, compaction command and its behavior is the same as preaggregate DataMap.
Please refer to <a href="./preaggregate-datamap-guide.html">Pre-aggregate DataMap</a>
for more information.</p>
<p>To use this datamap, user can create multiple timeseries datamap on the main table which has
a <em>event_time</em> column, one datamap for one time granularity.</p>
<p>For example, below statement effectively create multiple pre-aggregate tables  on main table called
<strong>timeseries</strong></p>
<pre><code>CREATE DATAMAP agg_year
ON TABLE sales
USING "timeseries"
DMPROPERTIES (
  'event_time'='order_time',
  'year_granularity'='1',
) AS
SELECT order_time, country, sex, sum(quantity), max(quantity), count(user_id), sum(price),
 avg(price) FROM sales GROUP BY order_time, country, sex
  
CREATE DATAMAP agg_month
ON TABLE sales
USING "timeseries"
DMPROPERTIES (
  'event_time'='order_time',
  'month_granularity'='1',
) AS
SELECT order_time, country, sex, sum(quantity), max(quantity), count(user_id), sum(price),
 avg(price) FROM sales GROUP BY order_time, country, sex
  
CREATE DATAMAP agg_day
ON TABLE sales
USING "timeseries"
DMPROPERTIES (
  'event_time'='order_time',
  'day_granularity'='1',
) AS
SELECT order_time, country, sex, sum(quantity), max(quantity), count(user_id), sum(price),
 avg(price) FROM sales GROUP BY order_time, country, sex
      
CREATE DATAMAP agg_sales_hour
ON TABLE sales
USING "timeseries"
DMPROPERTIES (
  'event_time'='order_time',
  'hour_granularity'='1',
) AS
SELECT order_time, country, sex, sum(quantity), max(quantity), count(user_id), sum(price),
 avg(price) FROM sales GROUP BY order_time, country, sex

CREATE DATAMAP agg_minute
ON TABLE sales
USING "timeseries"
DMPROPERTIES (
  'event_time'='order_time',
  'minute_granularity'='1',
) AS
SELECT order_time, country, sex, sum(quantity), max(quantity), count(user_id), sum(price),
 avg(price) FROM sales GROUP BY order_time, country, sex
</code></pre>
<p>For querying timeseries data, Carbondata has builtin support for following time related UDF</p>
<pre><code>timeseries(timeseries column name, 'aggregation level')
</code></pre>
<pre><code>SELECT timeseries(order_time, 'hour'), sum(quantity) FROM sales GROUP BY timeseries(order_time,
'hour')
</code></pre>
<p>It is <strong>not necessary</strong> to create pre-aggregate tables for each granularity unless required for
query.</p>
<p>For Example: For main table <strong>sales</strong> , if following timeseries datamaps were created for day
level and hour level pre-aggregate</p>
<pre><code>  CREATE DATAMAP agg_day
  ON TABLE sales
  USING "timeseries"
  DMPROPERTIES (
    'event_time'='order_time',
    'day_granularity'='1',
  ) AS
  SELECT order_time, country, sex, sum(quantity), max(quantity), count(user_id), sum(price),
   avg(price) FROM sales GROUP BY order_time, country, sex
        
  CREATE DATAMAP agg_sales_hour
  ON TABLE sales
  USING "timeseries"
  DMPROPERTIES (
    'event_time'='order_time',
    'hour_granularity'='1',
  ) AS
  SELECT order_time, country, sex, sum(quantity), max(quantity), count(user_id), sum(price),
   avg(price) FROM sales GROUP BY order_time, country, sex
</code></pre>
<p>Queries like below will not be rolled-up and hit the main table</p>
<pre><code>Select timeseries(order_time, 'month'), sum(quantity) from sales group by timeseries(order_time,
  'month')
  
Select timeseries(order_time, 'year'), sum(quantity) from sales group by timeseries(order_time,
  'year')
</code></pre>
<p>NOTE (<b>RESTRICTION</b>):</p>
<ul>
<li>Only value of 1 is supported for hierarchy levels. Other hierarchy levels will be supported in
the future CarbonData release.</li>
<li>timeseries datamap for the desired levels needs to be created one after the other</li>
<li>timeseries datamaps created for each level needs to be dropped separately</li>
</ul>
<h2>
<a id="compacting-timeseries-datamp" class="anchor" href="#compacting-timeseries-datamp" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Compacting timeseries datamp</h2>
<p>Refer to Compaction section in <a href="./preaggregate-datamap-guide.html">preaggregation datamap</a>.
Same applies to timeseries datamap.</p>
<h2>
<a id="data-management-on-timeseries-datamap" class="anchor" href="#data-management-on-timeseries-datamap" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Data Management on timeseries datamap</h2>
<p>Refer to Data Management section in <a href="./preaggregate-datamap-guide.html">preaggregation datamap</a>.
Same applies to timeseries datamap.</p>
<script>
$(function() {
  // Show selected style on nav item
  $('.b-nav__datamap').addClass('selected');
  
  if (!$('.b-nav__datamap').parent().hasClass('nav__item__with__subs--expanded')) {
    // Display datamap subnav items
    $('.b-nav__datamap').parent().toggleClass('nav__item__with__subs--expanded');
  }
});
</script></div>
</div>
</div>
</div>
<div class="doc-footer">
    <a href="#top" class="scroll-top">Top</a>
</div>
</div>
</section>
</div>
</div>
</div>
</section><!-- End systemblock part -->
<script src="js/custom.js"></script>
</body>
</html>