You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datafu.apache.org by mh...@apache.org on 2015/11/18 00:49:59 UTC

[13/51] [partial] incubator-datafu git commit: DATAFU-110 Update website for 1.3.0 release

http://git-wip-us.apache.org/repos/asf/incubator-datafu/blob/158f9991/site/source/docs/hourglass/1.3.0/datafu/hourglass/jobs/AbstractPartitionPreservingIncrementalJob.html
----------------------------------------------------------------------
diff --git a/site/source/docs/hourglass/1.3.0/datafu/hourglass/jobs/AbstractPartitionPreservingIncrementalJob.html b/site/source/docs/hourglass/1.3.0/datafu/hourglass/jobs/AbstractPartitionPreservingIncrementalJob.html
new file mode 100644
index 0000000..7087a13
--- /dev/null
+++ b/site/source/docs/hourglass/1.3.0/datafu/hourglass/jobs/AbstractPartitionPreservingIncrementalJob.html
@@ -0,0 +1,673 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_60) on Tue Nov 17 10:08:44 PST 2015 -->
+<title>AbstractPartitionPreservingIncrementalJob (datafu-hourglass 1.3.0 API)</title>
+<meta name="date" content="2015-11-17">
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="AbstractPartitionPreservingIncrementalJob (datafu-hourglass 1.3.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":6,"i3":10,"i4":10,"i5":10,"i6":10,"i7":6,"i8":10,"i9":10,"i10":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.Report.html" title="class in datafu.hourglass.jobs"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../datafu/hourglass/jobs/AbstractPartitionPreservingIncrementalJob.Report.html" title="class in datafu.hourglass.jobs"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?datafu/hourglass/jobs/AbstractPartitionPreservingIncrementalJob.html" target="_top">Frames</a></li>
+<li><a href="AbstractPartitionPreservingIncrementalJob.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">datafu.hourglass.jobs</div>
+<h2 title="Class AbstractPartitionPreservingIncrementalJob" class="title">Class AbstractPartitionPreservingIncrementalJob</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.hadoop.conf.Configured</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../datafu/hourglass/jobs/AbstractJob.html" title="class in datafu.hourglass.jobs">datafu.hourglass.jobs.AbstractJob</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../datafu/hourglass/jobs/TimeBasedJob.html" title="class in datafu.hourglass.jobs">datafu.hourglass.jobs.TimeBasedJob</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../datafu/hourglass/jobs/IncrementalJob.html" title="class in datafu.hourglass.jobs">datafu.hourglass.jobs.IncrementalJob</a></li>
+<li>
+<ul class="inheritance">
+<li>datafu.hourglass.jobs.AbstractPartitionPreservingIncrementalJob</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd>org.apache.hadoop.conf.Configurable</dd>
+</dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../datafu/hourglass/jobs/PartitionPreservingIncrementalJob.html" title="class in datafu.hourglass.jobs">PartitionPreservingIncrementalJob</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public abstract class <span class="typeNameLabel">AbstractPartitionPreservingIncrementalJob</span>
+extends <a href="../../../datafu/hourglass/jobs/IncrementalJob.html" title="class in datafu.hourglass.jobs">IncrementalJob</a></pre>
+<div class="block">An <a href="../../../datafu/hourglass/jobs/IncrementalJob.html" title="class in datafu.hourglass.jobs"><code>IncrementalJob</code></a> that consumes partitioned input data and produces
+ output data having the same partitions.
+ Typically this is used in conjunction with <a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html" title="class in datafu.hourglass.jobs"><code>AbstractPartitionCollapsingIncrementalJob</code></a>
+ when computing aggregates over sliding windows.  A partition-preserving job can perform
+ initial aggregation per-day, which can then be consumed by a partition-collapsing job to
+ produce the final aggregates over the time window. 
+ Only Avro is supported for the input, intermediate, and output data.
+ 
+ <p>
+ Implementations of this class must provide key, intermediate value, and output value schemas.
+ The key and intermediate value schemas define the output for the mapper and combiner.
+ The key and output value schemas define the output for the reducer.
+ These are defined by overriding <a href="../../../datafu/hourglass/jobs/IncrementalJob.html#getKeySchema--"><code>IncrementalJob.getKeySchema()</code></a>, <a href="../../../datafu/hourglass/jobs/IncrementalJob.html#getIntermediateValueSchema--"><code>IncrementalJob.getIntermediateValueSchema()</code></a>,
+ and <a href="../../../datafu/hourglass/jobs/IncrementalJob.html#getOutputValueSchema--"><code>IncrementalJob.getOutputValueSchema()</code></a>.
+ </p>
+ 
+ <p>
+ Implementations must also provide a mapper by overriding <a href="../../../datafu/hourglass/jobs/AbstractPartitionPreservingIncrementalJob.html#getMapper--"><code>getMapper()</code></a> and an accumulator
+ for the reducer by overriding <a href="../../../datafu/hourglass/jobs/AbstractPartitionPreservingIncrementalJob.html#getReducerAccumulator--"><code>getReducerAccumulator()</code></a>.  An optional combiner may be
+ provided by overriding <a href="../../../datafu/hourglass/jobs/AbstractPartitionPreservingIncrementalJob.html#getCombinerAccumulator--"><code>getCombinerAccumulator()</code></a>.  For the combiner to be used
+ the property <em>use.combiner</em> must also be set to true.
+ </p>
+ 
+ <p>
+ The distinguishing feature this type of job is that the input partitioning is preserved in the ouput.
+ The data from each partition is processed independently of other partitions and then output separately.
+ For example, input that is partitioned by day can be aggregated by day and then output by day.
+ This is achieved by attaching a long value to each key, which represents the partition, so that the reducer
+ receives data grouped by the key and partition together.  Multiple outputs are then used so that the output
+ will have the same partitions as the input.
+ </p>
+ 
+ <p>
+ The input path can be provided either through the property <em>input.path</em>
+ or by calling <a href="../../../datafu/hourglass/jobs/AbstractJob.html#setInputPaths-java.util.List-"><code>AbstractJob.setInputPaths(List)</code></a>.  If multiple input paths are provided then
+ this implicitly means a join is to be performed.  Multiple input paths can be provided via
+ properties by prefixing each with <em>input.path.</em>, such as <em>input.path.first</em>
+ and <em>input.path.second</em>.
+ Input data must be partitioned by day according to the naming convention yyyy/MM/dd.
+ The output path can be provided either through the property <em>output.path</em> 
+ or by calling <a href="../../../datafu/hourglass/jobs/AbstractJob.html#setOutputPath-org.apache.hadoop.fs.Path-"><code>AbstractJob.setOutputPath(Path)</code></a>.
+ Output data will be written using the same naming convention as the input, namely yyyy/MM/dd, where the date used
+ to format the output path is the same the date for the input it was derived from.
+ For example, if the desired time range to process is 2013/01/01 through 2013/01/14,
+ then the output will be named 2013/01/01 through 2013/01/14. 
+ By default the job will fail if any input data in the desired time window is missing.  This can be overriden by setting
+ <em>fail.on.missing</em> to false.
+ </p>
+ 
+ <p>
+ The job will not process input for which a corresponding output already exists.  For example, if the desired date
+ range is 2013/01/01 through 2013/01/14 and the outputs 2013/01/01 through 2013/01/12 exist, then only
+ 2013/01/13 and 2013/01/14 will be processed and only 2013/01/13 and 2013/01/14 will be produced.  
+ </p>
+ 
+ <p>
+ The number of paths in the output to retain can be configured through the property <em>retention.count</em>, 
+ or by calling <a href="../../../datafu/hourglass/jobs/AbstractJob.html#setRetentionCount-java.lang.Integer-"><code>AbstractJob.setRetentionCount(Integer)</code></a>.  When this property is set only the latest paths in the output
+ will be kept; the remainder will be removed.  By default there is no retention count set so all output paths are kept.
+ </p>
+ 
+ <p>
+ The inputs to process can be controlled by defining a desired date range.  By default the job will process all input
+ data available.  To limit the number of days of input to process one can set the property <em>num.days</em>
+ or call <a href="../../../datafu/hourglass/jobs/TimeBasedJob.html#setNumDays-java.lang.Integer-"><code>TimeBasedJob.setNumDays(Integer)</code></a>.  This would define a processing window with the same number of days,
+ where the end date of the window is the latest available input and the start date is <em>num.days</em> ago.  
+ Only inputs within this window would be processed.
+ Because the end date is the same as the latest available input, as new input data becomes available the end of the
+ window will advance forward to include it.  The end date can be adjusted backwards relative to the latest input
+ through the property <em>days.ago</em>, or by calling <a href="../../../datafu/hourglass/jobs/TimeBasedJob.html#setDaysAgo-java.lang.Integer-"><code>TimeBasedJob.setDaysAgo(Integer)</code></a>.  This subtracts as many days
+ from the latest available input date to determine the end date.  The start date or end date can also be fixed
+ by setting the properties <em>start.date</em> or <em>end.date</em>, or by calling <a href="../../../datafu/hourglass/jobs/TimeBasedJob.html#setStartDate-java.util.Date-"><code>TimeBasedJob.setStartDate(Date)</code></a>
+ or <a href="../../../datafu/hourglass/jobs/TimeBasedJob.html#setEndDate-java.util.Date-"><code>TimeBasedJob.setEndDate(Date)</code></a>. 
+ </p>
+ 
+ <p>
+ The number of reducers to use is automatically determined based on the size of the data to process.  
+ The total size is computed and then divided by the value of the property <em>num.reducers.bytes.per.reducer</em>, which
+ defaults to 256 MB.  This is the number of reducers that will be used.  
+ The number of reducers can also be set to a fixed value through the property <em>num.reducers</em>.
+ </p>
+ 
+ <p>
+ This type of job is capable of performing its work over multiple iterations.  
+ The number of days to process at a time can be limited by setting the property <em>max.days.to.process</em>,
+ or by calling <a href="../../../datafu/hourglass/jobs/IncrementalJob.html#setMaxToProcess-java.lang.Integer-"><code>IncrementalJob.setMaxToProcess(Integer)</code></a>.  The default is 90 days.  
+ This can be useful when there are restrictions on how many tasks 
+ can be used by a single MapReduce job in the cluster.  When this property is set, the job will process no more than
+ this many days at a time, and it will perform one or more iterations if necessary to complete the work.
+ The number of iterations can be limited by setting the property <em>max.iterations</em>, or by calling <a href="../../../datafu/hourglass/jobs/IncrementalJob.html#setMaxIterations-java.lang.Integer-"><code>IncrementalJob.setMaxIterations(Integer)</code></a>.
+ If the number of iterations is exceeded the job will fail.  By default the maximum number of iterations is 20.
+ </p>
+ 
+ <p>
+ Hadoop configuration may be provided by setting a property with the prefix <em>hadoop-conf.</em>.
+ For example, <em>mapred.min.split.size</em> can be configured by setting property
+ <em>hadoop-conf.mapred.min.split.size</em> to the desired value. 
+ </p></div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../datafu/hourglass/jobs/AbstractPartitionPreservingIncrementalJob.Report.html" title="class in datafu.hourglass.jobs">AbstractPartitionPreservingIncrementalJob.Report</a></span></code>
+<div class="block">Reports files created and processed for an iteration of the job.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../datafu/hourglass/jobs/AbstractPartitionPreservingIncrementalJob.html#AbstractPartitionPreservingIncrementalJob--">AbstractPartitionPreservingIncrementalJob</a></span>()</code>
+<div class="block">Initializes the job.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../datafu/hourglass/jobs/AbstractPartitionPreservingIncrementalJob.html#AbstractPartitionPreservingIncrementalJob-java.lang.String-java.util.Properties-">AbstractPartitionPreservingIncrementalJob</a></span>(java.lang.String&nbsp;name,
+                                         java.util.Properties&nbsp;props)</code>
+<div class="block">Initializes the job with a job name and properties.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>protected <a href="../../../datafu/hourglass/mapreduce/ObjectReducer.html" title="class in datafu.hourglass.mapreduce">ObjectReducer</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../datafu/hourglass/jobs/AbstractPartitionPreservingIncrementalJob.html#getCombineProcessor--">getCombineProcessor</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../datafu/hourglass/model/Accumulator.html" title="interface in datafu.hourglass.model">Accumulator</a>&lt;org.apache.avro.generic.GenericRecord,org.apache.avro.generic.GenericRecord&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../datafu/hourglass/jobs/AbstractPartitionPreservingIncrementalJob.html#getCombinerAccumulator--">getCombinerAccumulator</a></span>()</code>
+<div class="block">Gets the accumulator used for the combiner.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../datafu/hourglass/model/Mapper.html" title="interface in datafu.hourglass.model">Mapper</a>&lt;org.apache.avro.generic.GenericRecord,org.apache.avro.generic.GenericRecord,org.apache.avro.generic.GenericRecord&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../datafu/hourglass/jobs/AbstractPartitionPreservingIncrementalJob.html#getMapper--">getMapper</a></span>()</code>
+<div class="block">Gets the mapper.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../datafu/hourglass/mapreduce/ObjectMapper.html" title="class in datafu.hourglass.mapreduce">ObjectMapper</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../datafu/hourglass/jobs/AbstractPartitionPreservingIncrementalJob.html#getMapProcessor--">getMapProcessor</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>protected java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../datafu/hourglass/jobs/AbstractPartitionPreservingIncrementalJob.html#getOutputSchemaName--">getOutputSchemaName</a></span>()</code>
+<div class="block">Get the name for the reduce output schema.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>protected java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../datafu/hourglass/jobs/AbstractPartitionPreservingIncrementalJob.html#getOutputSchemaNamespace--">getOutputSchemaNamespace</a></span>()</code>
+<div class="block">Get the namespace for the reduce output schema.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>protected <a href="../../../datafu/hourglass/mapreduce/ObjectReducer.html" title="class in datafu.hourglass.mapreduce">ObjectReducer</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../datafu/hourglass/jobs/AbstractPartitionPreservingIncrementalJob.html#getReduceProcessor--">getReduceProcessor</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../datafu/hourglass/model/Accumulator.html" title="interface in datafu.hourglass.model">Accumulator</a>&lt;org.apache.avro.generic.GenericRecord,org.apache.avro.generic.GenericRecord&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../datafu/hourglass/jobs/AbstractPartitionPreservingIncrementalJob.html#getReducerAccumulator--">getReducerAccumulator</a></span>()</code>
+<div class="block">Gets the accumulator used for the reducer.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>java.util.List&lt;<a href="../../../datafu/hourglass/jobs/AbstractPartitionPreservingIncrementalJob.Report.html" title="class in datafu.hourglass.jobs">AbstractPartitionPreservingIncrementalJob.Report</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../datafu/hourglass/jobs/AbstractPartitionPreservingIncrementalJob.html#getReports--">getReports</a></span>()</code>
+<div class="block">Get reports that summarize each of the job iterations.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../datafu/hourglass/jobs/AbstractPartitionPreservingIncrementalJob.html#initialize--">initialize</a></span>()</code>
+<div class="block">Initialization required before running job.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../datafu/hourglass/jobs/AbstractPartitionPreservingIncrementalJob.html#run--">run</a></span>()</code>
+<div class="block">Run the job.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.datafu.hourglass.jobs.IncrementalJob">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;datafu.hourglass.jobs.<a href="../../../datafu/hourglass/jobs/IncrementalJob.html" title="class in datafu.hourglass.jobs">IncrementalJob</a></h3>
+<code><a href="../../../datafu/hourglass/jobs/IncrementalJob.html#getIntermediateValueSchema--">getIntermediateValueSchema</a>, <a href="../../../datafu/hourglass/jobs/IncrementalJob.html#getKeySchema--">getKeySchema</a>, <a href="../../../datafu/hourglass/jobs/IncrementalJob.html#getMaxIterations--">getMaxIterations</a>, <a href="../../../datafu/hourglass/jobs/IncrementalJob.html#getMaxToProcess--">getMaxToProcess</a>, <a href="../../../datafu/hourglass/jobs/IncrementalJob.html#getOutputValueSchema--">getOutputValueSchema</a>, <a href="../../../datafu/hourglass/jobs/IncrementalJob.html#getSchemas--">getSchemas</a>, <a href="../../../datafu/hourglass/jobs/IncrementalJob.html#isFailOnMissing--">isFailOnMissing</a>, <a href="../../../datafu/hourglass/jobs/IncrementalJob.html#setFailOnMissing-boolean-">setFailOnMissing</a>, <a href="../../../datafu/hourglass/jobs/IncrementalJob.html#setMaxIterations-java.lang.Integer-">setMaxIterations</a>, <a href="../../../datafu/hourglass/jobs/Incre
 mentalJob.html#setMaxToProcess-java.lang.Integer-">setMaxToProcess</a>, <a href="../../../datafu/hourglass/jobs/IncrementalJob.html#setProperties-java.util.Properties-">setProperties</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.datafu.hourglass.jobs.TimeBasedJob">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;datafu.hourglass.jobs.<a href="../../../datafu/hourglass/jobs/TimeBasedJob.html" title="class in datafu.hourglass.jobs">TimeBasedJob</a></h3>
+<code><a href="../../../datafu/hourglass/jobs/TimeBasedJob.html#getDaysAgo--">getDaysAgo</a>, <a href="../../../datafu/hourglass/jobs/TimeBasedJob.html#getEndDate--">getEndDate</a>, <a href="../../../datafu/hourglass/jobs/TimeBasedJob.html#getNumDays--">getNumDays</a>, <a href="../../../datafu/hourglass/jobs/TimeBasedJob.html#getStartDate--">getStartDate</a>, <a href="../../../datafu/hourglass/jobs/TimeBasedJob.html#setDaysAgo-java.lang.Integer-">setDaysAgo</a>, <a href="../../../datafu/hourglass/jobs/TimeBasedJob.html#setEndDate-java.util.Date-">setEndDate</a>, <a href="../../../datafu/hourglass/jobs/TimeBasedJob.html#setNumDays-java.lang.Integer-">setNumDays</a>, <a href="../../../datafu/hourglass/jobs/TimeBasedJob.html#setStartDate-java.util.Date-">setStartDate</a>, <a href="../../../datafu/hourglass/jobs/TimeBasedJob.html#validate--">validate</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.datafu.hourglass.jobs.AbstractJob">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;datafu.hourglass.jobs.<a href="../../../datafu/hourglass/jobs/AbstractJob.html" title="class in datafu.hourglass.jobs">AbstractJob</a></h3>
+<code><a href="../../../datafu/hourglass/jobs/AbstractJob.html#config-org.apache.hadoop.conf.Configuration-">config</a>, <a href="../../../datafu/hourglass/jobs/AbstractJob.html#createRandomTempPath--">createRandomTempPath</a>, <a href="../../../datafu/hourglass/jobs/AbstractJob.html#ensurePath-org.apache.hadoop.fs.Path-">ensurePath</a>, <a href="../../../datafu/hourglass/jobs/AbstractJob.html#getCountersParentPath--">getCountersParentPath</a>, <a href="../../../datafu/hourglass/jobs/AbstractJob.html#getFileSystem--">getFileSystem</a>, <a href="../../../datafu/hourglass/jobs/AbstractJob.html#getInputPaths--">getInputPaths</a>, <a href="../../../datafu/hourglass/jobs/AbstractJob.html#getName--">getName</a>, <a href="../../../datafu/hourglass/jobs/AbstractJob.html#getNumReducers--">getNumReducers</a>, <a href="../../../datafu/hourglass/jobs/AbstractJob.html#getOutputPath--">getOutputPath</a>, <a href="../../../datafu/hourglass/jobs/AbstractJob.html#getProperties--">getProperties</a>, 
 <a href="../../../datafu/hourglass/jobs/AbstractJob.html#getRetentionCount--">getRetentionCount</a>, <a href="../../../datafu/hourglass/jobs/AbstractJob.html#getTempPath--">getTempPath</a>, <a href="../../../datafu/hourglass/jobs/AbstractJob.html#isUseCombiner--">isUseCombiner</a>, <a href="../../../datafu/hourglass/jobs/AbstractJob.html#randomTempPath--">randomTempPath</a>, <a href="../../../datafu/hourglass/jobs/AbstractJob.html#setCountersParentPath-org.apache.hadoop.fs.Path-">setCountersParentPath</a>, <a href="../../../datafu/hourglass/jobs/AbstractJob.html#setInputPaths-java.util.List-">setInputPaths</a>, <a href="../../../datafu/hourglass/jobs/AbstractJob.html#setName-java.lang.String-">setName</a>, <a href="../../../datafu/hourglass/jobs/AbstractJob.html#setNumReducers-java.lang.Integer-">setNumReducers</a>, <a href="../../../datafu/hourglass/jobs/AbstractJob.html#setOutputPath-org.apache.hadoop.fs.Path-">setOutputPath</a>, <a href="../../../datafu/hourglass/jobs/AbstractJob
 .html#setRetentionCount-java.lang.Integer-">setRetentionCount</a>, <a href="../../../datafu/hourglass/jobs/AbstractJob.html#setTempPath-org.apache.hadoop.fs.Path-">setTempPath</a>, <a href="../../../datafu/hourglass/jobs/AbstractJob.html#setUseCombiner-boolean-">setUseCombiner</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.conf.Configured">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.hadoop.conf.Configured</h3>
+<code>getConf, setConf</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
+<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="AbstractPartitionPreservingIncrementalJob--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>AbstractPartitionPreservingIncrementalJob</h4>
+<pre>public&nbsp;AbstractPartitionPreservingIncrementalJob()
+                                          throws java.io.IOException</pre>
+<div class="block">Initializes the job.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>java.io.IOException</code> - IOException</dd>
+</dl>
+</li>
+</ul>
+<a name="AbstractPartitionPreservingIncrementalJob-java.lang.String-java.util.Properties-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>AbstractPartitionPreservingIncrementalJob</h4>
+<pre>public&nbsp;AbstractPartitionPreservingIncrementalJob(java.lang.String&nbsp;name,
+                                                 java.util.Properties&nbsp;props)
+                                          throws java.io.IOException</pre>
+<div class="block">Initializes the job with a job name and properties.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - job name</dd>
+<dd><code>props</code> - configuration properties</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>java.io.IOException</code> - IOException</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getMapper--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMapper</h4>
+<pre>public abstract&nbsp;<a href="../../../datafu/hourglass/model/Mapper.html" title="interface in datafu.hourglass.model">Mapper</a>&lt;org.apache.avro.generic.GenericRecord,org.apache.avro.generic.GenericRecord,org.apache.avro.generic.GenericRecord&gt;&nbsp;getMapper()</pre>
+<div class="block">Gets the mapper.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>mapper</dd>
+</dl>
+</li>
+</ul>
+<a name="getCombinerAccumulator--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCombinerAccumulator</h4>
+<pre>public&nbsp;<a href="../../../datafu/hourglass/model/Accumulator.html" title="interface in datafu.hourglass.model">Accumulator</a>&lt;org.apache.avro.generic.GenericRecord,org.apache.avro.generic.GenericRecord&gt;&nbsp;getCombinerAccumulator()</pre>
+<div class="block">Gets the accumulator used for the combiner.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>combiner accumulator</dd>
+</dl>
+</li>
+</ul>
+<a name="getReducerAccumulator--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getReducerAccumulator</h4>
+<pre>public abstract&nbsp;<a href="../../../datafu/hourglass/model/Accumulator.html" title="interface in datafu.hourglass.model">Accumulator</a>&lt;org.apache.avro.generic.GenericRecord,org.apache.avro.generic.GenericRecord&gt;&nbsp;getReducerAccumulator()</pre>
+<div class="block">Gets the accumulator used for the reducer.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>reducer accumulator</dd>
+</dl>
+</li>
+</ul>
+<a name="run--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>run</h4>
+<pre>public&nbsp;void&nbsp;run()
+         throws java.io.IOException,
+                java.lang.InterruptedException,
+                java.lang.ClassNotFoundException</pre>
+<div class="block">Run the job.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../datafu/hourglass/jobs/AbstractJob.html#run--">run</a></code>&nbsp;in class&nbsp;<code><a href="../../../datafu/hourglass/jobs/AbstractJob.html" title="class in datafu.hourglass.jobs">AbstractJob</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>java.io.IOException</code> - IOException</dd>
+<dd><code>java.lang.InterruptedException</code> - InterruptedException</dd>
+<dd><code>java.lang.ClassNotFoundException</code> - ClassNotFoundException</dd>
+</dl>
+</li>
+</ul>
+<a name="getReports--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getReports</h4>
+<pre>public&nbsp;java.util.List&lt;<a href="../../../datafu/hourglass/jobs/AbstractPartitionPreservingIncrementalJob.Report.html" title="class in datafu.hourglass.jobs">AbstractPartitionPreservingIncrementalJob.Report</a>&gt;&nbsp;getReports()</pre>
+<div class="block">Get reports that summarize each of the job iterations.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>reports</dd>
+</dl>
+</li>
+</ul>
+<a name="initialize--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>initialize</h4>
+<pre>protected&nbsp;void&nbsp;initialize()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../datafu/hourglass/jobs/AbstractJob.html#initialize--">AbstractJob</a></code></span></div>
+<div class="block">Initialization required before running job.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../datafu/hourglass/jobs/IncrementalJob.html#initialize--">initialize</a></code>&nbsp;in class&nbsp;<code><a href="../../../datafu/hourglass/jobs/IncrementalJob.html" title="class in datafu.hourglass.jobs">IncrementalJob</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getOutputSchemaName--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getOutputSchemaName</h4>
+<pre>protected&nbsp;java.lang.String&nbsp;getOutputSchemaName()</pre>
+<div class="block">Get the name for the reduce output schema. 
+ By default this is the name of the class with "Output" appended.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>output schema name</dd>
+</dl>
+</li>
+</ul>
+<a name="getOutputSchemaNamespace--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getOutputSchemaNamespace</h4>
+<pre>protected&nbsp;java.lang.String&nbsp;getOutputSchemaNamespace()</pre>
+<div class="block">Get the namespace for the reduce output schema.
+ By default this is the package of the class.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>output schema namespace</dd>
+</dl>
+</li>
+</ul>
+<a name="getMapProcessor--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMapProcessor</h4>
+<pre>protected&nbsp;<a href="../../../datafu/hourglass/mapreduce/ObjectMapper.html" title="class in datafu.hourglass.mapreduce">ObjectMapper</a>&nbsp;getMapProcessor()</pre>
+</li>
+</ul>
+<a name="getCombineProcessor--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCombineProcessor</h4>
+<pre>protected&nbsp;<a href="../../../datafu/hourglass/mapreduce/ObjectReducer.html" title="class in datafu.hourglass.mapreduce">ObjectReducer</a>&nbsp;getCombineProcessor()</pre>
+</li>
+</ul>
+<a name="getReduceProcessor--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getReduceProcessor</h4>
+<pre>protected&nbsp;<a href="../../../datafu/hourglass/mapreduce/ObjectReducer.html" title="class in datafu.hourglass.mapreduce">ObjectReducer</a>&nbsp;getReduceProcessor()</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.Report.html" title="class in datafu.hourglass.jobs"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../datafu/hourglass/jobs/AbstractPartitionPreservingIncrementalJob.Report.html" title="class in datafu.hourglass.jobs"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?datafu/hourglass/jobs/AbstractPartitionPreservingIncrementalJob.html" target="_top">Frames</a></li>
+<li><a href="AbstractPartitionPreservingIncrementalJob.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-datafu/blob/158f9991/site/source/docs/hourglass/1.3.0/datafu/hourglass/jobs/DateRangeConfigurable.html
----------------------------------------------------------------------
diff --git a/site/source/docs/hourglass/1.3.0/datafu/hourglass/jobs/DateRangeConfigurable.html b/site/source/docs/hourglass/1.3.0/datafu/hourglass/jobs/DateRangeConfigurable.html
new file mode 100644
index 0000000..731e907
--- /dev/null
+++ b/site/source/docs/hourglass/1.3.0/datafu/hourglass/jobs/DateRangeConfigurable.html
@@ -0,0 +1,231 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_60) on Tue Nov 17 10:08:44 PST 2015 -->
+<title>DateRangeConfigurable (datafu-hourglass 1.3.0 API)</title>
+<meta name="date" content="2015-11-17">
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="DateRangeConfigurable (datafu-hourglass 1.3.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../datafu/hourglass/jobs/AbstractPartitionPreservingIncrementalJob.Report.html" title="class in datafu.hourglass.jobs"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../datafu/hourglass/jobs/DateRangePlanner.html" title="class in datafu.hourglass.jobs"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?datafu/hourglass/jobs/DateRangeConfigurable.html" target="_top">Frames</a></li>
+<li><a href="DateRangeConfigurable.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">datafu.hourglass.jobs</div>
+<h2 title="Interface DateRangeConfigurable" class="title">Interface DateRangeConfigurable</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../datafu/hourglass/mapreduce/CollapsingCombiner.html" title="class in datafu.hourglass.mapreduce">CollapsingCombiner</a>, <a href="../../../datafu/hourglass/mapreduce/CollapsingReducer.html" title="class in datafu.hourglass.mapreduce">CollapsingReducer</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">DateRangeConfigurable</span></pre>
+<div class="block">An interface for an object with a configurable output date range.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../datafu/hourglass/jobs/DateRangeConfigurable.html#setOutputDateRange-datafu.hourglass.fs.DateRange-">setOutputDateRange</a></span>(<a href="../../../datafu/hourglass/fs/DateRange.html" title="class in datafu.hourglass.fs">DateRange</a>&nbsp;dateRange)</code>
+<div class="block">Sets the date range for the output.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="setOutputDateRange-datafu.hourglass.fs.DateRange-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>setOutputDateRange</h4>
+<pre>void&nbsp;setOutputDateRange(<a href="../../../datafu/hourglass/fs/DateRange.html" title="class in datafu.hourglass.fs">DateRange</a>&nbsp;dateRange)</pre>
+<div class="block">Sets the date range for the output.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>dateRange</code> - output date range</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../datafu/hourglass/jobs/AbstractPartitionPreservingIncrementalJob.Report.html" title="class in datafu.hourglass.jobs"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../datafu/hourglass/jobs/DateRangePlanner.html" title="class in datafu.hourglass.jobs"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?datafu/hourglass/jobs/DateRangeConfigurable.html" target="_top">Frames</a></li>
+<li><a href="DateRangeConfigurable.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-datafu/blob/158f9991/site/source/docs/hourglass/1.3.0/datafu/hourglass/jobs/DateRangePlanner.html
----------------------------------------------------------------------
diff --git a/site/source/docs/hourglass/1.3.0/datafu/hourglass/jobs/DateRangePlanner.html b/site/source/docs/hourglass/1.3.0/datafu/hourglass/jobs/DateRangePlanner.html
new file mode 100644
index 0000000..dbf3beb
--- /dev/null
+++ b/site/source/docs/hourglass/1.3.0/datafu/hourglass/jobs/DateRangePlanner.html
@@ -0,0 +1,294 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_60) on Tue Nov 17 10:08:44 PST 2015 -->
+<title>DateRangePlanner (datafu-hourglass 1.3.0 API)</title>
+<meta name="date" content="2015-11-17">
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="DateRangePlanner (datafu-hourglass 1.3.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../datafu/hourglass/jobs/DateRangeConfigurable.html" title="interface in datafu.hourglass.jobs"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../datafu/hourglass/jobs/ExecutionPlanner.html" title="class in datafu.hourglass.jobs"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?datafu/hourglass/jobs/DateRangePlanner.html" target="_top">Frames</a></li>
+<li><a href="DateRangePlanner.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">datafu.hourglass.jobs</div>
+<h2 title="Class DateRangePlanner" class="title">Class DateRangePlanner</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>datafu.hourglass.jobs.DateRangePlanner</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">DateRangePlanner</span>
+extends java.lang.Object</pre>
+<div class="block">Determines the date range of inputs which should be processed.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../datafu/hourglass/jobs/DateRangePlanner.html#DateRangePlanner--">DateRangePlanner</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../datafu/hourglass/fs/DateRange.html" title="class in datafu.hourglass.fs">DateRange</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../datafu/hourglass/jobs/DateRangePlanner.html#getDateRange-java.util.Date-java.util.Date-java.util.Collection-java.lang.Integer-java.lang.Integer-boolean-">getDateRange</a></span>(java.util.Date&nbsp;beginDateOverride,
+            java.util.Date&nbsp;endDateOverride,
+            java.util.Collection&lt;java.util.Date&gt;&nbsp;available,
+            java.lang.Integer&nbsp;daysAgo,
+            java.lang.Integer&nbsp;numDays,
+            boolean&nbsp;failOnMissing)</code>
+<div class="block">Determines the date range of inputs which should be processed.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
+<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="DateRangePlanner--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>DateRangePlanner</h4>
+<pre>public&nbsp;DateRangePlanner()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getDateRange-java.util.Date-java.util.Date-java.util.Collection-java.lang.Integer-java.lang.Integer-boolean-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getDateRange</h4>
+<pre>public static&nbsp;<a href="../../../datafu/hourglass/fs/DateRange.html" title="class in datafu.hourglass.fs">DateRange</a>&nbsp;getDateRange(java.util.Date&nbsp;beginDateOverride,
+                                     java.util.Date&nbsp;endDateOverride,
+                                     java.util.Collection&lt;java.util.Date&gt;&nbsp;available,
+                                     java.lang.Integer&nbsp;daysAgo,
+                                     java.lang.Integer&nbsp;numDays,
+                                     boolean&nbsp;failOnMissing)</pre>
+<div class="block">Determines the date range of inputs which should be processed.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>beginDateOverride</code> - Begin date</dd>
+<dd><code>endDateOverride</code> - End date</dd>
+<dd><code>available</code> - The input dates which are available</dd>
+<dd><code>daysAgo</code> - Number of days to subtract from the end date</dd>
+<dd><code>numDays</code> - Number of days to process</dd>
+<dd><code>failOnMissing</code> - true to fail if days are missing in desired date range</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>desired date range for inputs to be processed</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../datafu/hourglass/jobs/DateRangeConfigurable.html" title="interface in datafu.hourglass.jobs"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../datafu/hourglass/jobs/ExecutionPlanner.html" title="class in datafu.hourglass.jobs"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?datafu/hourglass/jobs/DateRangePlanner.html" target="_top">Frames</a></li>
+<li><a href="DateRangePlanner.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>