blob: 84c968c672e1e318a5ab99f51f1f09314a5769e8 [file] [log] [blame]
<!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" />
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<meta name="description" content="A new open source Apache Hadoop ecosystem project, Apache Kudu (incubating) completes Hadoop's storage layer to enable fast analytics on fast data" />
<meta name="author" content="Cloudera" />
<title>Apache Kudu (incubating) - Apache Kudu (incubating) Weekly Update April 18, 2016</title>
<!-- Bootstrap core CSS -->
<link href="/css/bootstrap.min.css" rel="stylesheet" />
<!-- Custom styles for this template -->
<link href="/css/justified-nav.css" rel="stylesheet" />
<link href="/css/kudu.css" rel="stylesheet"/>
<link href="/css/asciidoc.css" rel="stylesheet"/>
<link rel="shortcut icon" href="/img/logo-favicon.ico" />
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.1/css/font-awesome.min.css" />
<link rel="alternate" type="application/atom+xml"
title="RSS Feed for Apache Kudu blog"
href="/feed.xml" />
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<!-- Fork me on GitHub -->
<a class="fork-me-on-github" href="https://github.com/apache/incubator-kudu"><img src="//aral.github.io/fork-me-on-github-retina-ribbons/right-cerulean@2x.png" alt="Fork me on GitHub" /></a>
<div class="kudu-site container-fluid">
<!-- Static navbar -->
<nav class="container-fluid navbar-default">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="logo" href="/"><img src="/img/logo_small.png" width="80" /></a>
</div>
<div id="navbar" class="navbar-collapse collapse navbar-right">
<ul class="nav navbar-nav">
<li >
<a href="/">Home</a>
</li>
<li >
<a href="/overview.html">Overview</a>
</li>
<li >
<a href="/docs/">Documentation</a>
</li>
<li >
<a href="/releases/">Download</a>
</li>
<li class="active">
<a href="/blog/">Blog</a>
</li>
<li >
<a href="/community.html">Community</a>
</li>
<li >
<a href="/faq.html">FAQ</a>
</li>
</ul>
</div><!--/.nav-collapse -->
</nav>
<div class="row header">
<div class="col-lg-12">
<h2><a href="/blog">Apache Kudu (incubating) Blog</a></h2>
</div>
</div>
<div class="row-fluid">
<div class="col-lg-9">
<article>
<header>
<h1 class="entry-title">Apache Kudu (incubating) Weekly Update April 18, 2016</h1>
<p class="meta">Posted 18 Apr 2016 by Todd Lipcon</p>
</header>
<div class="entry-content">
<p>Welcome to the fifth edition of the Kudu Weekly Update. This weekly blog post
covers ongoing development and news in the Apache Kudu (incubating) project.</p>
<!--more-->
<p>If you find this post useful, please let us know by emailing the
<a href="&#109;&#097;&#105;&#108;&#116;&#111;:&#117;&#115;&#101;&#114;&#064;&#107;&#117;&#100;&#117;&#046;&#105;&#110;&#099;&#117;&#098;&#097;&#116;&#111;&#114;&#046;&#097;&#112;&#097;&#099;&#104;&#101;&#046;&#111;&#114;&#103;">kudu-user mailing list</a> or
tweeting at <a href="https://twitter.com/ApacheKudu">@ApacheKudu</a>. Similarly, if you’re
aware of some Kudu news we missed, let us know so we can cover it in
a future post.</p>
<h2 id="project-news">Project news</h2>
<ul>
<li>
<p>Cloudera announced that it has posted <a href="http://markmail.org/thread/tghwcux5k4qvcsep">binary packages</a>
for the recent 0.8.0 release. These are not official packages from
the Apache Kudu (incubating) project, but users who prefer not to
build from source may find them convenient.</p>
</li>
<li>
<p>Jean-Daniel Cryans has volunteered to continue to act as release manager for
the 0.x release line, and has start a <a href="http://mail-archives.apache.org/mod_mbox/incubator-kudu-dev/201604.mbox/%3CCAGpTDNcfTOcp%2Beb39h5j%3DoxttZNhOBZ7v%2B%2B6hxRtWCh3t_psbQ%40mail.gmail.com%3E">discussion</a>
detailing what features and improvements he expects will be ready
for an 0.9 release in June.</p>
</li>
</ul>
<h2 id="development-discussions-and-code-in-progress">Development discussions and code in progress</h2>
<ul>
<li>
<p>Chris George posted a <a href="http://gerrit.cloudera.org:8080/#/c/2754/">work in progress patch</a>
for a native Kudu RDD implementation for Spark. Kudu already ships an RDD
based on the generic HadoopRDD and Kudu’s MapReduce integration, but Chris’s
new version paves the way for new features like pushing down predicates.</p>
</li>
<li>
<p>Todd Lipcon has been working on <a href="https://issues.apache.org/jira/browse/KUDU-1410">KUDU-1410</a>,
a small project which makes it easier to diagnose performance issues on a Kudu
cluster.</p>
<p>The first feature proposed by this JIRA is the idea of collecting
“exemplar” traces: for each type of RPC (e.g. <em>Write</em>, <em>Scan</em>, etc.)
the RPC system will collect a few <em>exemplar</em> RPCs in different
latency buckets and retain their traces. This makes it easier for
an operator to see what might have caused a slow response from a
server even after the request has been finished for some time.</p>
<p>The second new feature is the collection of per-RPC-request metrics
such as lock acquisition time, time spent waiting on disk, and other
metrics specific to each type of RPC. In combination with the
exemplar trace feature above, this should make it easy to root-cause
whether a request is slow due to underlying hardware issues,
Kudu-specific issues, or a particular workload characteristic.</p>
<p>Todd posted a work-in-progress implementation of these features on gerrit
in a five-part patch series:
<a href="http://gerrit.cloudera.org:8080/#/c/2794/">(1)</a>
<a href="http://gerrit.cloudera.org:8080/#/c/2795/">(2)</a>
<a href="http://gerrit.cloudera.org:8080/#/c/2796/">(3)</a>
<a href="http://gerrit.cloudera.org:8080/#/c/2797/">(4)</a>
<a href="http://gerrit.cloudera.org:8080/#/c/2798/">(5)</a></p>
</li>
<li>
<p>Dan Burkert continued working on the <a href="http://gerrit.cloudera.org:8080/#/c/2592/">Java implementation of the Scan Token API</a>
described in previous weekly updates, with reviews this week from Jean-Daniel
Cryans and Adar Dembo. He also posted a patch for the <a href="http://gerrit.cloudera.org:8080/#/c/2757/">C++ implementation</a>
which has seen some review action as well.</p>
</li>
<li>
<p>Dan also posted a <a href="http://gerrit.cloudera.org:8080/#/c/2772/">design document for non-covering range partitioning</a>.
This new feature will allow Kudu operators to add or drop tablets to
an existing range-partitioned table. This is very important for time
series use cases where new partitions may need to be added daily,
and old partitions potentially dropped in order to achieve a
“sliding window” table. Read the design document for more details on
use cases and the expected semantics.</p>
</li>
</ul>
<h2 id="on-the-kudu-blog">On the Kudu blog</h2>
<ul>
<li>Pat Patterson wrote a post about <a href="http://getkudu.io/2016/04/14/ingesting-json-apache-kudu-streamsets-data-collector.html">Ingesting JSON Data into Apache Kudu with StreamSets
Data Collector</a>.</li>
</ul>
</div>
</article>
</div>
<div class="col-lg-3 recent-posts">
<h3>Recent posts</h3>
<ul>
<li> <a href="/2016/06/21/weekly-update.html">Apache Kudu (incubating) Weekly Update June 21, 2016</a> </li>
<li> <a href="/2016/06/17/raft-consensus-single-node.html">Using Raft Consensus on a Single Node</a> </li>
<li> <a href="/2016/06/13/weekly-update.html">Apache Kudu (incubating) Weekly Update June 13, 2016</a> </li>
<li> <a href="/2016/06/10/apache-kudu-0-9-0-released.html">Apache Kudu (incubating) 0.9.0 released</a> </li>
<li> <a href="/2016/06/06/weekly-update.html">Apache Kudu (incubating) Weekly Update June 6, 2016</a> </li>
<li> <a href="/2016/06/02/no-default-partitioning.html">Default Partitioning Changes Coming in Kudu 0.9</a> </li>
<li> <a href="/2016/06/01/weekly-update.html">Apache Kudu (incubating) Weekly Update June 1, 2016</a> </li>
<li> <a href="/2016/05/23/weekly-update.html">Apache Kudu (incubating) Weekly Update May 23, 2016</a> </li>
<li> <a href="/2016/05/16/weekly-update.html">Apache Kudu (incubating) Weekly Update May 16, 2016</a> </li>
<li> <a href="/2016/05/09/weekly-update.html">Apache Kudu (incubating) Weekly Update May 9, 2016</a> </li>
<li> <a href="/2016/05/03/weekly-update.html">Apache Kudu (incubating) Weekly Update May 3, 2016</a> </li>
<li> <a href="/2016/04/26/ycsb.html">Benchmarking and Improving Kudu Insert Performance with YCSB</a> </li>
<li> <a href="/2016/04/25/weekly-update.html">Apache Kudu (incubating) Weekly Update April 25, 2016</a> </li>
<li> <a href="/2016/04/19/kudu-0-8-0-predicate-improvements.html">Predicate Improvements in Kudu 0.8</a> </li>
<li> <a href="/2016/04/18/weekly-update.html">Apache Kudu (incubating) Weekly Update April 18, 2016</a> </li>
</ul>
</div>
</div>
<footer class="footer">
<p class="pull-left">
<a href="http://incubator.apache.org"><img src="/img/apache-incubator.png" width="225" height="53" align="right"/></a>
</p>
<p class="small">
Apache Kudu (incubating) is an effort undergoing incubation at the Apache Software
Foundation (ASF), sponsored by the Apache Incubator PMC. Incubation is
required of all newly accepted projects until a further review
indicates that the infrastructure, communications, and decision making
process have stabilized in a manner consistent with other successful
ASF projects. While incubation status is not necessarily a reflection
of the completeness or stability of the code, it does indicate that the
project has yet to be fully endorsed by the ASF.
Copyright &copy; 2016 The Apache Software Foundation.
</p>
</footer>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="/js/bootstrap.js"></script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-68448017-1', 'auto');
ga('send', 'pageview');
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/3.1.0/anchor.js"></script>
<script>
anchors.options = {
placement: 'right',
visible: 'touch',
};
anchors.add();
</script>
</body>
</html>