Adding druid page

This commit is contained in:
Maxime Beauchemin
2016-05-25 14:57:35 -07:00
parent bc908f276e
commit 3e2b5175d6
9 changed files with 239 additions and 0 deletions

BIN
_images/cal_heatmap.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

BIN
_images/druid_agg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

BIN
_images/horizon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

48
_sources/druid.txt Normal file
View File

@@ -0,0 +1,48 @@
Druid
=====
Caravel works well with Druid, though currently not all
advanced features out of Druid are covered. This page clarifies what is
covered and what isn't and explains how to use some of the features.
.. note ::
Currently Airbnb runs against Druid ``0.8.x`` and previous /
following versions are not tested against.
Supported
'''''''''
Aggregations
------------
Common aggregations, or Druid metrics can be defined and used in Caravel.
The first and simpler use case is to use the checkbox matrix expose in your
datasource's edit view (``Sources -> Druid Datasources ->
[your datasource] -> Edit -> [tab] List Druid Column``).
Clicking the ``GroupBy`` and ``Filterable`` checkboxes will make the column
appear in the related dropdowns while in explore view. Checking
``Count Distinct``, ``Min``, ``Max`` or ``Sum`` will result in creating
new metrics that will appear in the ``List Druid Metric`` tab upon saving the
datasource. By editing these metrics, you'll notice that they their ``json``
element correspond to Druid aggregation definition. You can create your own
aggregations manually from the ``List Druid Metric`` tab following Druid
documentation.
.. image:: _static/img/druid_agg.png
:scale: 50 %
Post-Aggregations
-----------------
Druid supports post aggregation and this works in Caravel. All you have to
do is creating a metric, much like you would create an aggregation manually,
but specify ``postagg`` as a ``Metric Type``. You then have to provide a valid
json post-aggregation definition (as specified in the Druid docs) in the
Json field.
Not yet supported
'''''''''''''''''
- Regex filters
- Lookups / joins

BIN
_static/img/druid_agg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

2
changelog.sh Executable file
View File

@@ -0,0 +1,2 @@
~/node_modules/github-changes/bin/index.js -o airbnb -r caravel --token ce8bb3bc4c2499b6bd0e3a4f84257211cca21d23
#--between-tags 0.6.7...0.6.8 --only-pulls

189
druid.html Normal file
View File

@@ -0,0 +1,189 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Druid &mdash; caravel documentation</title>
<link rel="stylesheet" href="_static/basic.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/bootstrap-3.3.6/css/bootstrap.min.css" type="text/css" />
<link rel="stylesheet" href="_static/bootstrap-3.3.6/css/bootstrap-theme.min.css" type="text/css" />
<link rel="stylesheet" href="_static/bootstrap-sphinx.css" type="text/css" />
<link rel="stylesheet" href="_static/docs.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: './',
VERSION: '',
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/jquery-1.11.0.min.js"></script>
<script type="text/javascript" src="_static/js/jquery-fix.js"></script>
<script type="text/javascript" src="_static/bootstrap-3.3.6/js/bootstrap.min.js"></script>
<script type="text/javascript" src="_static/bootstrap-sphinx.js"></script>
<link rel="top" title="caravel documentation" href="index.html" />
<link rel="next" title="FAQ" href="faq.html" />
<link rel="prev" title="Gallery" href="gallery.html" />
<meta charset='utf-8'>
<meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
<meta name="apple-mobile-web-app-capable" content="yes">
</head>
<body role="document">
<div id="navbar" class="navbar navbar-default ">
<div class="container">
<div class="navbar-header">
<!-- .btn-navbar is used as the toggle for collapsed navbar content -->
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="index.html">
Caravel Documentation</a>
<span class="navbar-text navbar-version pull-left"><b></b></span>
</div>
<div class="collapse navbar-collapse nav-collapse">
<ul class="nav navbar-nav">
<li class="dropdown globaltoc-container">
<a role="button"
id="dLabelGlobalToc"
data-toggle="dropdown"
data-target="#"
href="index.html">Topics <b class="caret"></b></a>
<ul class="dropdown-menu globaltoc"
role="menu"
aria-labelledby="dLabelGlobalToc"><ul class="current">
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation &amp; Configuration</a></li>
<li class="toctree-l1"><a class="reference internal" href="tutorial.html">Tutorial</a></li>
<li class="toctree-l1"><a class="reference internal" href="videos.html">Videos</a></li>
<li class="toctree-l1"><a class="reference internal" href="gallery.html">Gallery</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Druid</a></li>
<li class="toctree-l1"><a class="reference internal" href="faq.html">FAQ</a></li>
</ul>
</ul>
</li>
<li class="dropdown">
<a role="button"
id="dLabelLocalToc"
data-toggle="dropdown"
data-target="#"
href="#">Page <b class="caret"></b></a>
<ul class="dropdown-menu localtoc"
role="menu"
aria-labelledby="dLabelLocalToc"><ul>
<li><a class="reference internal" href="#">Druid</a><ul>
<li><a class="reference internal" href="#supported">Supported</a><ul>
<li><a class="reference internal" href="#aggregations">Aggregations</a></li>
<li><a class="reference internal" href="#post-aggregations">Post-Aggregations</a></li>
</ul>
</li>
<li><a class="reference internal" href="#not-yet-supported">Not yet supported</a></li>
</ul>
</li>
</ul>
</ul>
</li>
<li class="hidden-sm"></li>
</ul>
<form class="navbar-form navbar-right" action="search.html" method="get">
<div class="form-group">
<input type="text" name="q" class="form-control" placeholder="Search" />
</div>
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
</div>
<div class="container mainbody">
<div class="section" id="druid">
<h1>Druid<a class="headerlink" href="#druid" title="Permalink to this headline"></a></h1>
<p>Caravel works well with Druid, though currently not all
advanced features out of Druid are covered. This page clarifies what is
covered and what isn&#8217;t and explains how to use some of the features.</p>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">Currently Airbnb runs against Druid <code class="docutils literal"><span class="pre">0.8.x</span></code> and previous /
following versions are not tested against.</p>
</div>
<div class="section" id="supported">
<h2>Supported<a class="headerlink" href="#supported" title="Permalink to this headline"></a></h2>
<div class="section" id="aggregations">
<h3>Aggregations<a class="headerlink" href="#aggregations" title="Permalink to this headline"></a></h3>
<p>Common aggregations, or Druid metrics can be defined and used in Caravel.
The first and simpler use case is to use the checkbox matrix expose in your
datasource&#8217;s edit view (<code class="docutils literal"><span class="pre">Sources</span> <span class="pre">-&gt;</span> <span class="pre">Druid</span> <span class="pre">Datasources</span> <span class="pre">-&gt;</span>
<span class="pre">[your</span> <span class="pre">datasource]</span> <span class="pre">-&gt;</span> <span class="pre">Edit</span> <span class="pre">-&gt;</span> <span class="pre">[tab]</span> <span class="pre">List</span> <span class="pre">Druid</span> <span class="pre">Column</span></code>).
Clicking the <code class="docutils literal"><span class="pre">GroupBy</span></code> and <code class="docutils literal"><span class="pre">Filterable</span></code> checkboxes will make the column
appear in the related dropdowns while in explore view. Checking
<code class="docutils literal"><span class="pre">Count</span> <span class="pre">Distinct</span></code>, <code class="docutils literal"><span class="pre">Min</span></code>, <code class="docutils literal"><span class="pre">Max</span></code> or <code class="docutils literal"><span class="pre">Sum</span></code> will result in creating
new metrics that will appear in the <code class="docutils literal"><span class="pre">List</span> <span class="pre">Druid</span> <span class="pre">Metric</span></code> tab upon saving the
datasource. By editing these metrics, you&#8217;ll notice that they their <code class="docutils literal"><span class="pre">json</span></code>
element correspond to Druid aggregation definition. You can create your own
aggregations manually from the <code class="docutils literal"><span class="pre">List</span> <span class="pre">Druid</span> <span class="pre">Metric</span></code> tab following Druid
documentation.</p>
<a class="reference internal image-reference" href="_images/druid_agg.png"><img alt="_images/druid_agg.png" src="_images/druid_agg.png" style="width: 894.0px; height: 564.0px;" /></a>
</div>
<div class="section" id="post-aggregations">
<h3>Post-Aggregations<a class="headerlink" href="#post-aggregations" title="Permalink to this headline"></a></h3>
<p>Druid supports post aggregation and this works in Caravel. All you have to
do is creating a metric, much like you would create an aggregation manually,
but specify <code class="docutils literal"><span class="pre">postagg</span></code> as a <code class="docutils literal"><span class="pre">Metric</span> <span class="pre">Type</span></code>. You then have to provide a valid
json post-aggregation definition (as specified in the Druid docs) in the
Json field.</p>
</div>
</div>
<div class="section" id="not-yet-supported">
<h2>Not yet supported<a class="headerlink" href="#not-yet-supported" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li>Regex filters</li>
<li>Lookups / joins</li>
</ul>
</div>
</div>
</div>
<footer class="footer">
<div class="container">
<p class="pull-right">
<a href="#">Back to top</a>
</p>
<p>
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.4.<br/>
</p>
</div>
</footer>
</body>
</html>