<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Apache Druid">
<meta name="keywords" content="druid,kafka,database,analytics,streaming,real-time,real time,apache,open source">
<meta name="author" content="Apache Software Foundation">

<title>Druid | Ingestion Spec</title>

<link rel="alternate" type="application/atom+xml" href="/feed">
<link rel="shortcut icon" href="/img/favicon.png">

<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css" integrity="sha384-fnmOCqbTlWIlj8LyTjo7mOUStjsKC4pOpQbqyi7RrhN7udi9RwhKkMHpvLbHG9Sr" crossorigin="anonymous">

<link href='//fonts.googleapis.com/css?family=Open+Sans+Condensed:300,700,300italic|Open+Sans:300italic,400italic,600italic,400,300,600,700' rel='stylesheet' type='text/css'>

<link rel="stylesheet" href="/css/bootstrap-pure.css?v=1.1">
<link rel="stylesheet" href="/css/base.css?v=1.1">
<link rel="stylesheet" href="/css/header.css?v=1.1">
<link rel="stylesheet" href="/css/footer.css?v=1.1">
<link rel="stylesheet" href="/css/syntax.css?v=1.1">
<link rel="stylesheet" href="/css/docs.css?v=1.1">

<script>
  (function() {
    var cx = '000162378814775985090:molvbm0vggm';
    var gcse = document.createElement('script');
    gcse.type = 'text/javascript';
    gcse.async = true;
    gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
        '//cse.google.com/cse.js?cx=' + cx;
    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(gcse, s);
  })();
</script>


  </head>

  <body>
    <!-- Start page_header include -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>

<div class="top-navigator">
  <div class="container">
    <div class="left-cont">
      <a class="logo" href="/"><span class="druid-logo"></span></a>
    </div>
    <div class="right-cont">
      <ul class="links">
        <li class=""><a href="/technology">Technology</a></li>
        <li class=""><a href="/use-cases">Use Cases</a></li>
        <li class=""><a href="/druid-powered">Powered By</a></li>
        <li class=""><a href="/docs/latest/design/">Docs</a></li>
        <li class=""><a href="/community/">Community</a></li>
        <li class="header-dropdown">
          <a>Apache</a>
          <div class="header-dropdown-menu">
            <a href="https://www.apache.org/" target="_blank">Foundation</a>
            <a href="https://www.apache.org/events/current-event" target="_blank">Events</a>
            <a href="https://www.apache.org/licenses/" target="_blank">License</a>
            <a href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a>
            <a href="https://www.apache.org/security/" target="_blank">Security</a>
            <a href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Sponsorship</a>
          </div>
        </li>
        <li class=" button-link"><a href="/downloads.html">Download</a></li>
      </ul>
    </div>
  </div>
  <div class="action-button menu-icon">
    <span class="fa fa-bars"></span> MENU
  </div>
  <div class="action-button menu-icon-close">
    <span class="fa fa-times"></span> MENU
  </div>
</div>

<script type="text/javascript">
  var $menu = $('.right-cont');
  var $menuIcon = $('.menu-icon');
  var $menuIconClose = $('.menu-icon-close');

  function showMenu() {
    $menu.fadeIn(100);
    $menuIcon.fadeOut(100);
    $menuIconClose.fadeIn(100);
  }

  $menuIcon.click(showMenu);

  function hideMenu() {
    $menu.fadeOut(100);
    $menuIconClose.fadeOut(100);
    $menuIcon.fadeIn(100);
  }

  $menuIconClose.click(hideMenu);

  $(window).resize(function() {
    if ($(window).width() >= 840) {
      $menu.fadeIn(100);
      $menuIcon.fadeOut(100);
      $menuIconClose.fadeOut(100);
    }
    else {
      $menu.fadeOut(100);
      $menuIcon.fadeIn(100);
      $menuIconClose.fadeOut(100);
    }
  });
</script>

<!-- Stop page_header include -->


    <div class="container doc-container">
      
      

      
      <p> Looking for the <a href="/docs/0.23.0/">latest stable documentation</a>?</p>
      

      <div class="row">
        <div class="col-md-9 doc-content">
          <p>
            <a class="btn btn-default btn-xs visible-xs-inline-block visible-sm-inline-block" href="#toc">Table of Contents</a>
          </p>
          <!--
  ~ Licensed to the Apache Software Foundation (ASF) under one
  ~ or more contributor license agreements.  See the NOTICE file
  ~ distributed with this work for additional information
  ~ regarding copyright ownership.  The ASF licenses this file
  ~ to you under the Apache License, Version 2.0 (the
  ~ "License"); you may not use this file except in compliance
  ~ with the License.  You may obtain a copy of the License at
  ~
  ~   http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing,
  ~ software distributed under the License is distributed on an
  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  ~ KIND, either express or implied.  See the License for the
  ~ specific language governing permissions and limitations
  ~ under the License.
  -->

<h1 id="ingestion-spec">Ingestion Spec</h1>

<p>A Druid ingestion spec consists of 3 components:</p>
<div class="highlight"><pre><code class="language-json" data-lang="json"><span></span><span class="p">{</span>
  <span class="nt">&quot;dataSchema&quot;</span> <span class="p">:</span> <span class="p">{</span><span class="err">...</span><span class="p">},</span>
  <span class="nt">&quot;ioConfig&quot;</span> <span class="p">:</span> <span class="p">{</span><span class="err">...</span><span class="p">},</span>
  <span class="nt">&quot;tuningConfig&quot;</span> <span class="p">:</span> <span class="p">{</span><span class="err">...</span><span class="p">}</span>
<span class="p">}</span>
</code></pre></div>
<table><thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead><tbody>
<tr>
<td>dataSchema</td>
<td>JSON Object</td>
<td>Specifies the the schema of the incoming data. All ingestion specs can share the same dataSchema.</td>
<td>yes</td>
</tr>
<tr>
<td>ioConfig</td>
<td>JSON Object</td>
<td>Specifies where the data is coming from and where the data is going. This object will vary with the ingestion method.</td>
<td>yes</td>
</tr>
<tr>
<td>tuningConfig</td>
<td>JSON Object</td>
<td>Specifies how to tune various ingestion parameters. This object will vary with the ingestion method.</td>
<td>no</td>
</tr>
</tbody></table>

<h1 id="dataschema">DataSchema</h1>

<p>An example dataSchema is shown below:</p>
<div class="highlight"><pre><code class="language-json" data-lang="json"><span></span><span class="nt">&quot;dataSchema&quot;</span> <span class="p">:</span> <span class="p">{</span>
  <span class="nt">&quot;dataSource&quot;</span> <span class="p">:</span> <span class="s2">&quot;wikipedia&quot;</span><span class="p">,</span>
  <span class="nt">&quot;parser&quot;</span> <span class="p">:</span> <span class="p">{</span>
    <span class="nt">&quot;type&quot;</span> <span class="p">:</span> <span class="s2">&quot;string&quot;</span><span class="p">,</span>
    <span class="nt">&quot;parseSpec&quot;</span> <span class="p">:</span> <span class="p">{</span>
      <span class="nt">&quot;format&quot;</span> <span class="p">:</span> <span class="s2">&quot;json&quot;</span><span class="p">,</span>
      <span class="nt">&quot;timestampSpec&quot;</span> <span class="p">:</span> <span class="p">{</span>
        <span class="nt">&quot;column&quot;</span> <span class="p">:</span> <span class="s2">&quot;timestamp&quot;</span><span class="p">,</span>
        <span class="nt">&quot;format&quot;</span> <span class="p">:</span> <span class="s2">&quot;auto&quot;</span>
      <span class="p">},</span>
      <span class="nt">&quot;dimensionsSpec&quot;</span> <span class="p">:</span> <span class="p">{</span>
        <span class="nt">&quot;dimensions&quot;</span><span class="p">:</span> <span class="p">[</span>
          <span class="s2">&quot;page&quot;</span><span class="p">,</span>
          <span class="s2">&quot;language&quot;</span><span class="p">,</span>
          <span class="s2">&quot;user&quot;</span><span class="p">,</span>
          <span class="s2">&quot;unpatrolled&quot;</span><span class="p">,</span>
          <span class="s2">&quot;newPage&quot;</span><span class="p">,</span>
          <span class="s2">&quot;robot&quot;</span><span class="p">,</span>
          <span class="s2">&quot;anonymous&quot;</span><span class="p">,</span>
          <span class="s2">&quot;namespace&quot;</span><span class="p">,</span>
          <span class="s2">&quot;continent&quot;</span><span class="p">,</span>
          <span class="s2">&quot;country&quot;</span><span class="p">,</span>
          <span class="s2">&quot;region&quot;</span><span class="p">,</span>
          <span class="s2">&quot;city&quot;</span><span class="p">,</span>
          <span class="p">{</span>
            <span class="nt">&quot;type&quot;</span><span class="p">:</span> <span class="s2">&quot;long&quot;</span><span class="p">,</span>
            <span class="nt">&quot;name&quot;</span><span class="p">:</span> <span class="s2">&quot;countryNum&quot;</span>
          <span class="p">},</span>
          <span class="p">{</span>
            <span class="nt">&quot;type&quot;</span><span class="p">:</span> <span class="s2">&quot;float&quot;</span><span class="p">,</span>
            <span class="nt">&quot;name&quot;</span><span class="p">:</span> <span class="s2">&quot;userLatitude&quot;</span>
          <span class="p">},</span>
          <span class="p">{</span>
            <span class="nt">&quot;type&quot;</span><span class="p">:</span> <span class="s2">&quot;float&quot;</span><span class="p">,</span>
            <span class="nt">&quot;name&quot;</span><span class="p">:</span> <span class="s2">&quot;userLongitude&quot;</span>
          <span class="p">}</span>
        <span class="p">],</span>
        <span class="nt">&quot;dimensionExclusions&quot;</span> <span class="p">:</span> <span class="p">[],</span>
        <span class="nt">&quot;spatialDimensions&quot;</span> <span class="p">:</span> <span class="p">[]</span>
      <span class="p">}</span>
    <span class="p">}</span>
  <span class="p">},</span>
  <span class="nt">&quot;metricsSpec&quot;</span> <span class="p">:</span> <span class="p">[{</span>
    <span class="nt">&quot;type&quot;</span> <span class="p">:</span> <span class="s2">&quot;count&quot;</span><span class="p">,</span>
    <span class="nt">&quot;name&quot;</span> <span class="p">:</span> <span class="s2">&quot;count&quot;</span>
  <span class="p">},</span> <span class="p">{</span>
    <span class="nt">&quot;type&quot;</span> <span class="p">:</span> <span class="s2">&quot;doubleSum&quot;</span><span class="p">,</span>
    <span class="nt">&quot;name&quot;</span> <span class="p">:</span> <span class="s2">&quot;added&quot;</span><span class="p">,</span>
    <span class="nt">&quot;fieldName&quot;</span> <span class="p">:</span> <span class="s2">&quot;added&quot;</span>
  <span class="p">},</span> <span class="p">{</span>
    <span class="nt">&quot;type&quot;</span> <span class="p">:</span> <span class="s2">&quot;doubleSum&quot;</span><span class="p">,</span>
    <span class="nt">&quot;name&quot;</span> <span class="p">:</span> <span class="s2">&quot;deleted&quot;</span><span class="p">,</span>
    <span class="nt">&quot;fieldName&quot;</span> <span class="p">:</span> <span class="s2">&quot;deleted&quot;</span>
  <span class="p">},</span> <span class="p">{</span>
    <span class="nt">&quot;type&quot;</span> <span class="p">:</span> <span class="s2">&quot;doubleSum&quot;</span><span class="p">,</span>
    <span class="nt">&quot;name&quot;</span> <span class="p">:</span> <span class="s2">&quot;delta&quot;</span><span class="p">,</span>
    <span class="nt">&quot;fieldName&quot;</span> <span class="p">:</span> <span class="s2">&quot;delta&quot;</span>
  <span class="p">}],</span>
  <span class="nt">&quot;granularitySpec&quot;</span> <span class="p">:</span> <span class="p">{</span>
    <span class="nt">&quot;segmentGranularity&quot;</span> <span class="p">:</span> <span class="s2">&quot;DAY&quot;</span><span class="p">,</span>
    <span class="nt">&quot;queryGranularity&quot;</span> <span class="p">:</span> <span class="s2">&quot;NONE&quot;</span><span class="p">,</span>
    <span class="nt">&quot;intervals&quot;</span> <span class="p">:</span> <span class="p">[</span> <span class="s2">&quot;2013-08-31/2013-09-01&quot;</span> <span class="p">]</span>
  <span class="p">},</span>
  <span class="nt">&quot;transformSpec&quot;</span> <span class="p">:</span> <span class="kc">null</span>
<span class="p">}</span>
</code></pre></div>
<table><thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead><tbody>
<tr>
<td>dataSource</td>
<td>String</td>
<td>The name of the ingested datasource. Datasources can be thought of as tables.</td>
<td>yes</td>
</tr>
<tr>
<td>parser</td>
<td>JSON Object</td>
<td>Specifies how ingested data can be parsed.</td>
<td>yes</td>
</tr>
<tr>
<td>metricsSpec</td>
<td>JSON Object array</td>
<td>A list of <a href="../querying/aggregations.html">aggregators</a>.</td>
<td>yes</td>
</tr>
<tr>
<td>granularitySpec</td>
<td>JSON Object</td>
<td>Specifies how to create segments and roll up data.</td>
<td>yes</td>
</tr>
<tr>
<td>transformSpec</td>
<td>JSON Object</td>
<td>Specifes how to filter and transform input data. See <a href="../ingestion/transform-spec.html">transform specs</a>.</td>
<td>no</td>
</tr>
</tbody></table>

<h2 id="parser">Parser</h2>

<p>If <code>type</code> is not included, the parser defaults to <code>string</code>. For additional data formats, please see our <a href="../development/extensions.html">extensions list</a>.</p>

<h3 id="string-parser">String Parser</h3>

<table><thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead><tbody>
<tr>
<td>type</td>
<td>String</td>
<td>This should say <code>string</code> in general, or <code>hadoopyString</code> when used in a Hadoop indexing job.</td>
<td>no</td>
</tr>
<tr>
<td>parseSpec</td>
<td>JSON Object</td>
<td>Specifies the format, timestamp, and dimensions of the data.</td>
<td>yes</td>
</tr>
</tbody></table>

<h3 id="parsespec">ParseSpec</h3>

<p>ParseSpecs serve two purposes:</p>

<ul>
<li>The String Parser use them to determine the format (i.e. JSON, CSV, TSV) of incoming rows.</li>
<li>All Parsers use them to determine the timestamp and dimensions of incoming rows.</li>
</ul>

<p>If <code>format</code> is not included, the parseSpec defaults to <code>tsv</code>.</p>

<h4 id="json-parsespec">JSON ParseSpec</h4>

<p>Use this with the String Parser to load JSON.</p>

<table><thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead><tbody>
<tr>
<td>format</td>
<td>String</td>
<td>This should say <code>json</code>.</td>
<td>no</td>
</tr>
<tr>
<td>timestampSpec</td>
<td>JSON Object</td>
<td>Specifies the column and format of the timestamp.</td>
<td>yes</td>
</tr>
<tr>
<td>dimensionsSpec</td>
<td>JSON Object</td>
<td>Specifies the dimensions of the data.</td>
<td>yes</td>
</tr>
<tr>
<td>flattenSpec</td>
<td>JSON Object</td>
<td>Specifies flattening configuration for nested JSON data. See <a href="./flatten-json.html">Flattening JSON</a> for more info.</td>
<td>no</td>
</tr>
</tbody></table>

<h4 id="json-lowercase-parsespec">JSON Lowercase ParseSpec</h4>

<div class="note caution">
The _jsonLowercase_ parser is deprecated and may be removed in a future version of Druid.
</div>

<p>This is a special variation of the JSON ParseSpec that lower cases all the column names in the incoming JSON data. This parseSpec is required if you are updating to Druid 0.7.x from Druid 0.6.x, are directly ingesting JSON with mixed case column names, do not have any ETL in place to lower case those column names, and would like to make queries that include the data you created using 0.6.x and 0.7.x.</p>

<table><thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead><tbody>
<tr>
<td>format</td>
<td>String</td>
<td>This should say <code>jsonLowercase</code>.</td>
<td>yes</td>
</tr>
<tr>
<td>timestampSpec</td>
<td>JSON Object</td>
<td>Specifies the column and format of the timestamp.</td>
<td>yes</td>
</tr>
<tr>
<td>dimensionsSpec</td>
<td>JSON Object</td>
<td>Specifies the dimensions of the data.</td>
<td>yes</td>
</tr>
</tbody></table>

<h4 id="csv-parsespec">CSV ParseSpec</h4>

<p>Use this with the String Parser to load CSV. Strings are parsed using the com.opencsv library.</p>

<table><thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead><tbody>
<tr>
<td>format</td>
<td>String</td>
<td>This should say <code>csv</code>.</td>
<td>yes</td>
</tr>
<tr>
<td>timestampSpec</td>
<td>JSON Object</td>
<td>Specifies the column and format of the timestamp.</td>
<td>yes</td>
</tr>
<tr>
<td>dimensionsSpec</td>
<td>JSON Object</td>
<td>Specifies the dimensions of the data.</td>
<td>yes</td>
</tr>
<tr>
<td>listDelimiter</td>
<td>String</td>
<td>A custom delimiter for multi-value dimensions.</td>
<td>no (default == ctrl+A)</td>
</tr>
<tr>
<td>columns</td>
<td>JSON array</td>
<td>Specifies the columns of the data.</td>
<td>yes</td>
</tr>
</tbody></table>

<h4 id="tsv-delimited-parsespec">TSV / Delimited ParseSpec</h4>

<p>Use this with the String Parser to load any delimited text that does not require special escaping. By default,
the delimiter is a tab, so this will load TSV.</p>

<table><thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead><tbody>
<tr>
<td>format</td>
<td>String</td>
<td>This should say <code>tsv</code>.</td>
<td>yes</td>
</tr>
<tr>
<td>timestampSpec</td>
<td>JSON Object</td>
<td>Specifies the column and format of the timestamp.</td>
<td>yes</td>
</tr>
<tr>
<td>dimensionsSpec</td>
<td>JSON Object</td>
<td>Specifies the dimensions of the data.</td>
<td>yes</td>
</tr>
<tr>
<td>delimiter</td>
<td>String</td>
<td>A custom delimiter for data values.</td>
<td>no (default == \t)</td>
</tr>
<tr>
<td>listDelimiter</td>
<td>String</td>
<td>A custom delimiter for multi-value dimensions.</td>
<td>no (default == ctrl+A)</td>
</tr>
<tr>
<td>columns</td>
<td>JSON String array</td>
<td>Specifies the columns of the data.</td>
<td>yes</td>
</tr>
</tbody></table>

<h4 id="timeanddims-parsespec">TimeAndDims ParseSpec</h4>

<p>Use this with non-String Parsers to provide them with timestamp and dimensions information. Non-String Parsers
handle all formatting decisions on their own, without using the ParseSpec.</p>

<table><thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead><tbody>
<tr>
<td>format</td>
<td>String</td>
<td>This should say <code>timeAndDims</code>.</td>
<td>yes</td>
</tr>
<tr>
<td>timestampSpec</td>
<td>JSON Object</td>
<td>Specifies the column and format of the timestamp.</td>
<td>yes</td>
</tr>
<tr>
<td>dimensionsSpec</td>
<td>JSON Object</td>
<td>Specifies the dimensions of the data.</td>
<td>yes</td>
</tr>
</tbody></table>

<h3 id="timestampspec">TimestampSpec</h3>

<table><thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead><tbody>
<tr>
<td>column</td>
<td>String</td>
<td>The column of the timestamp.</td>
<td>yes</td>
</tr>
<tr>
<td>format</td>
<td>String</td>
<td>iso, posix, millis, micro, nano, auto or any <a href="http://joda-time.sourceforge.net/apidocs/org/joda/time/format/DateTimeFormat.html">Joda time</a> format.</td>
<td>no (default == &#39;auto&#39;</td>
</tr>
</tbody></table>

<h3 id="dimensionsspec">DimensionsSpec</h3>

<table><thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead><tbody>
<tr>
<td>dimensions</td>
<td>JSON array</td>
<td>A list of <a href="#dimension-schema">dimension schema</a> objects or dimension names. Providing a name is equivalent to providing a String-typed dimension schema with the given name. If this is an empty array, Druid will treat all columns that are not timestamp or metric columns as String-typed dimension columns.</td>
<td>yes</td>
</tr>
<tr>
<td>dimensionExclusions</td>
<td>JSON String array</td>
<td>The names of dimensions to exclude from ingestion.</td>
<td>no (default == []</td>
</tr>
<tr>
<td>spatialDimensions</td>
<td>JSON Object array</td>
<td>An array of <a href="../development/geo.html">spatial dimensions</a></td>
<td>no (default == []</td>
</tr>
</tbody></table>

<h4 id="dimension-schema">Dimension Schema</h4>

<p>A dimension schema specifies the type and name of a dimension to be ingested.</p>

<p>For string columns, the dimension schema can also be used to enable or disable bitmap indexing by setting the
<code>createBitmapIndex</code> boolean. By default, bitmap indexes are enabled for all string columns. Only string columns can have
bitmap indexes; they are not supported for numeric columns.</p>

<p>For example, the following <code>dimensionsSpec</code> section from a <code>dataSchema</code> ingests one column as Long (<code>countryNum</code>), two
columns as Float (<code>userLatitude</code>, <code>userLongitude</code>), and the other columns as Strings, with bitmap indexes disabled
for the <code>comment</code> column.</p>
<div class="highlight"><pre><code class="language-json" data-lang="json"><span></span><span class="nt">&quot;dimensionsSpec&quot;</span> <span class="p">:</span> <span class="p">{</span>
  <span class="nt">&quot;dimensions&quot;</span><span class="p">:</span> <span class="p">[</span>
    <span class="s2">&quot;page&quot;</span><span class="p">,</span>
    <span class="s2">&quot;language&quot;</span><span class="p">,</span>
    <span class="s2">&quot;user&quot;</span><span class="p">,</span>
    <span class="s2">&quot;unpatrolled&quot;</span><span class="p">,</span>
    <span class="s2">&quot;newPage&quot;</span><span class="p">,</span>
    <span class="s2">&quot;robot&quot;</span><span class="p">,</span>
    <span class="s2">&quot;anonymous&quot;</span><span class="p">,</span>
    <span class="s2">&quot;namespace&quot;</span><span class="p">,</span>
    <span class="s2">&quot;continent&quot;</span><span class="p">,</span>
    <span class="s2">&quot;country&quot;</span><span class="p">,</span>
    <span class="s2">&quot;region&quot;</span><span class="p">,</span>
    <span class="s2">&quot;city&quot;</span><span class="p">,</span>
    <span class="p">{</span>
      <span class="nt">&quot;type&quot;</span><span class="p">:</span> <span class="s2">&quot;string&quot;</span><span class="p">,</span>
      <span class="nt">&quot;name&quot;</span><span class="p">:</span> <span class="s2">&quot;comment&quot;</span><span class="p">,</span>
      <span class="nt">&quot;createBitmapIndex&quot;</span><span class="p">:</span> <span class="kc">false</span>
    <span class="p">},</span>
    <span class="p">{</span>
      <span class="nt">&quot;type&quot;</span><span class="p">:</span> <span class="s2">&quot;long&quot;</span><span class="p">,</span>
      <span class="nt">&quot;name&quot;</span><span class="p">:</span> <span class="s2">&quot;countryNum&quot;</span>
    <span class="p">},</span>
    <span class="p">{</span>
      <span class="nt">&quot;type&quot;</span><span class="p">:</span> <span class="s2">&quot;float&quot;</span><span class="p">,</span>
      <span class="nt">&quot;name&quot;</span><span class="p">:</span> <span class="s2">&quot;userLatitude&quot;</span>
    <span class="p">},</span>
    <span class="p">{</span>
      <span class="nt">&quot;type&quot;</span><span class="p">:</span> <span class="s2">&quot;float&quot;</span><span class="p">,</span>
      <span class="nt">&quot;name&quot;</span><span class="p">:</span> <span class="s2">&quot;userLongitude&quot;</span>
    <span class="p">}</span>
  <span class="p">],</span>
  <span class="nt">&quot;dimensionExclusions&quot;</span> <span class="p">:</span> <span class="p">[],</span>
  <span class="nt">&quot;spatialDimensions&quot;</span> <span class="p">:</span> <span class="p">[]</span>
<span class="p">}</span>
</code></pre></div>
<h2 id="metricsspec">metricsSpec</h2>

<p>The <code>metricsSpec</code> is a list of <a href="../querying/aggregations.html">aggregators</a>. If <code>rollup</code> is false in the granularity spec, the metrics spec should be an empty list and all columns should be defined in the <code>dimensionsSpec</code> instead (without rollup, there isn&#39;t a real distinction between dimensions and metrics at ingestion time). This is optional, however.</p>

<h2 id="granularityspec">GranularitySpec</h2>

<p>The default granularity spec is <code>uniform</code>, and can be changed by setting the <code>type</code> field.
Currently, <code>uniform</code> and <code>arbitrary</code> types are supported.</p>

<h3 id="uniform-granularity-spec">Uniform Granularity Spec</h3>

<p>This spec is used to generated segments with uniform intervals.</p>

<table><thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead><tbody>
<tr>
<td>segmentGranularity</td>
<td>string</td>
<td>The granularity to create segments at.</td>
<td>no (default == &#39;DAY&#39;)</td>
</tr>
<tr>
<td>queryGranularity</td>
<td>string</td>
<td>The minimum granularity to be able to query results at and the granularity of the data inside the segment. E.g. a value of &quot;minute&quot; will mean that data is aggregated at minutely granularity. That is, if there are collisions in the tuple (minute(timestamp), dimensions), then it will aggregate values together using the aggregators instead of storing individual rows. A granularity of &#39;NONE&#39; means millisecond granularity.</td>
<td>no (default == &#39;NONE&#39;)</td>
</tr>
<tr>
<td>rollup</td>
<td>boolean</td>
<td>rollup or not</td>
<td>no (default == true)</td>
</tr>
<tr>
<td>intervals</td>
<td>string</td>
<td>A list of intervals for the raw data being ingested. Ignored for real-time ingestion.</td>
<td>no. If specified, batch ingestion tasks may skip determining partitions phase which results in faster ingestion.</td>
</tr>
</tbody></table>

<h3 id="arbitrary-granularity-spec">Arbitrary Granularity Spec</h3>

<p>This spec is used to generate segments with arbitrary intervals (it tries to create evenly sized segments). This spec is not supported for real-time processing.</p>

<table><thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead><tbody>
<tr>
<td>queryGranularity</td>
<td>string</td>
<td>The minimum granularity to be able to query results at and the granularity of the data inside the segment. E.g. a value of &quot;minute&quot; will mean that data is aggregated at minutely granularity. That is, if there are collisions in the tuple (minute(timestamp), dimensions), then it will aggregate values together using the aggregators instead of storing individual rows. A granularity of &#39;NONE&#39; means millisecond granularity.</td>
<td>no (default == &#39;NONE&#39;)</td>
</tr>
<tr>
<td>rollup</td>
<td>boolean</td>
<td>rollup or not</td>
<td>no (default == true)</td>
</tr>
<tr>
<td>intervals</td>
<td>string</td>
<td>A list of intervals for the raw data being ingested. Ignored for real-time ingestion.</td>
<td>no. If specified, batch ingestion tasks may skip determining partitions phase which results in faster ingestion.</td>
</tr>
</tbody></table>

<h1 id="transform-spec">Transform Spec</h1>

<p>Transform specs allow Druid to transform and filter input data during ingestion. See <a href="../ingestion/transform-spec.html">Transform specs</a></p>

<h1 id="io-config">IO Config</h1>

<p>The IOConfig spec differs based on the ingestion task type.</p>

<ul>
<li>Native Batch ingestion: See <a href="../ingestion/native_tasks.html#ioconfig">Native Batch IOConfig</a></li>
<li>Hadoop Batch ingestion: See <a href="../ingestion/hadoop.html#ioconfig">Hadoop Batch IOConfig</a></li>
<li>Kafka Indexing Service: See <a href="../development/extensions-core/kafka-ingestion.html#KafkaSupervisorIOConfig">Kafka Supervisor IOConfig</a></li>
<li>Stream Push Ingestion: Stream push ingestion with Tranquility does not require an IO Config.</li>
<li>Stream Pull Ingestion (Deprecated): See <a href="../ingestion/stream-pull.html#ioconfig">Stream pull ingestion</a>.</li>
</ul>

<h1 id="tuning-config">Tuning Config</h1>

<p>The TuningConfig spec differs based on the ingestion task type.</p>

<ul>
<li>Native Batch ingestion: See <a href="../ingestion/native_tasks.html#tuningconfig">Native Batch TuningConfig</a></li>
<li>Hadoop Batch ingestion: See <a href="../ingestion/hadoop.html#tuningconfig">Hadoop Batch TuningConfig</a></li>
<li>Kafka Indexing Service: See <a href="../development/extensions-core/kafka-ingestion.html#KafkaSupervisorTuningConfig">Kafka Supervisor TuningConfig</a></li>
<li>Stream Push Ingestion (Tranquility): See <a href="http://static.druid.io/tranquility/api/latest/#com.metamx.tranquility.druid.DruidTuning">Tranquility TuningConfig</a>.</li>
<li>Stream Pull Ingestion (Deprecated): See <a href="../ingestion/stream-pull.html#tuningconfig">Stream pull ingestion</a>.</li>
</ul>

<h1 id="evaluating-timestamp-dimensions-and-metrics">Evaluating Timestamp, Dimensions and Metrics</h1>

<p>Druid will interpret dimensions, dimension exclusions, and metrics in the following order:</p>

<ul>
<li>Any column listed in the list of dimensions is treated as a dimension.</li>
<li>Any column listed in the list of dimension exclusions is excluded as a dimension.</li>
<li>The timestamp column and columns/fieldNames required by metrics are excluded by default.</li>
<li>If a metric is also listed as a dimension, the metric must have a different name than the dimension name.</li>
</ul>

        </div>
        <div class="col-md-3">
          <div class="searchbox">
            <gcse:searchbox-only></gcse:searchbox-only>
          </div>
          <div id="toc" class="nav toc hidden-print">
          </div>
        </div>
      </div>
    </div>

    <!-- Start page_footer include -->
<footer class="druid-footer">
<div class="container">
  <div class="text-center">
    <p>
    <a href="/technology">Technology</a>&ensp;·&ensp;
    <a href="/use-cases">Use Cases</a>&ensp;·&ensp;
    <a href="/druid-powered">Powered by Druid</a>&ensp;·&ensp;
    <a href="/docs/latest/">Docs</a>&ensp;·&ensp;
    <a href="/community/">Community</a>&ensp;·&ensp;
    <a href="/downloads.html">Download</a>&ensp;·&ensp;
    <a href="/faq">FAQ</a>
    </p>
  </div>
  <div class="text-center">
    <a title="Join the user group" href="https://groups.google.com/forum/#!forum/druid-user" target="_blank"><span class="fa fa-comments"></span></a>&ensp;·&ensp;
    <a title="Follow Druid" href="https://twitter.com/druidio" target="_blank"><span class="fab fa-twitter"></span></a>&ensp;·&ensp;
    <a title="GitHub" href="https://github.com/apache/druid" target="_blank"><span class="fab fa-github"></span></a>
  </div>
  <div class="text-center license">
    Copyright © 2020 <a href="https://www.apache.org/" target="_blank">Apache Software Foundation</a>.<br>
    Except where otherwise noted, licensed under <a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA 4.0</a>.<br>
    Apache Druid, Druid, and the Druid logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.
  </div>
</div>
</footer>

<script async src="https://www.googletagmanager.com/gtag/js?id=UA-131010415-1"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', 'UA-131010415-1');
</script>
<script>
  function trackDownload(type, url) {
    ga('send', 'event', 'download', type, url);
  }
</script>
<script src="//code.jquery.com/jquery.min.js"></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
<script src="/assets/js/druid.js"></script>
<!-- stop page_footer include -->


    <script>
    $(function() {
      $(".toc").load("/docs/0.13.0-incubating/toc.html");

      // There is no way to tell when .gsc-input will be async loaded into the page so just try to set a placeholder until it works
      var tries = 0;
      var timer = setInterval(function() {
        tries++;
        if (tries > 300) clearInterval(timer);
        var searchInput = $('input.gsc-input');
        if (searchInput.length) {
          searchInput.attr('placeholder', 'Search');
          clearInterval(timer);
        }
      }, 100);
    });
    </script>
  </body>
</html>
