datafu-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mha...@apache.org
Subject svn commit: r1827525 [37/49] - in /datafu/site/docs: datafu/1.4.0/ datafu/1.4.0/datafu/ datafu/1.4.0/datafu/pig/ datafu/1.4.0/datafu/pig/bags/ datafu/1.4.0/datafu/pig/geo/ datafu/1.4.0/datafu/pig/hash/ datafu/1.4.0/datafu/pig/hash/lsh/ datafu/1.4.0/dat...
Date Thu, 22 Mar 2018 19:01:10 GMT
Added: datafu/site/docs/hourglass/1.4.0/datafu/hourglass/jobs/AbstractNonIncrementalJob.html
URL: http://svn.apache.org/viewvc/datafu/site/docs/hourglass/1.4.0/datafu/hourglass/jobs/AbstractNonIncrementalJob.html?rev=1827525&view=auto
==============================================================================
--- datafu/site/docs/hourglass/1.4.0/datafu/hourglass/jobs/AbstractNonIncrementalJob.html (added)
+++ datafu/site/docs/hourglass/1.4.0/datafu/hourglass/jobs/AbstractNonIncrementalJob.html Thu Mar 22 19:01:04 2018
@@ -0,0 +1,542 @@
+<!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 (version 1.7.0_79) on Thu Mar 22 11:58:07 PDT 2018 -->
+<title>AbstractNonIncrementalJob (datafu-hourglass 1.4.0 API)</title>
+<meta name="date" content="2018-03-22">
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="AbstractNonIncrementalJob (datafu-hourglass 1.4.0 API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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/AbstractJob.html" title="class in datafu.hourglass.jobs"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../datafu/hourglass/jobs/AbstractNonIncrementalJob.BaseCombiner.html" title="class in datafu.hourglass.jobs"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?datafu/hourglass/jobs/AbstractNonIncrementalJob.html" target="_top">Frames</a></li>
+<li><a href="AbstractNonIncrementalJob.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../allclasses-noframe.html">All 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 AbstractNonIncrementalJob" class="title">Class AbstractNonIncrementalJob</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>datafu.hourglass.jobs.AbstractNonIncrementalJob</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>
+<hr>
+<br>
+<pre>public abstract class <span class="strong">AbstractNonIncrementalJob</span>
+extends <a href="../../../datafu/hourglass/jobs/TimeBasedJob.html" title="class in datafu.hourglass.jobs">TimeBasedJob</a></pre>
+<div class="block">Base class for Hadoop jobs that consume time-partitioned data
+ in a non-incremental way.  Typically this is only used for comparing incremental
+ jobs against a non-incremental baseline.
+ It is essentially the same as <a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html" title="class in datafu.hourglass.jobs"><code>AbstractPartitionCollapsingIncrementalJob</code></a>
+ without all the incremental features.
+ 
+ <p>
+ Jobs extending this class consume input data partitioned according to yyyy/MM/dd.
+ Only a single input path is supported.  The output will be written to a directory
+ in the output path with name format yyyyMMdd derived from the end of the time
+ window that is consumed.
+ </p>
+ 
+ <p>
+ This class has the same configuration and methods as <a href="../../../datafu/hourglass/jobs/TimeBasedJob.html" title="class in datafu.hourglass.jobs"><code>TimeBasedJob</code></a>.
+ In addition it also recognizes the following properties:
+ </p>
+ 
+  <ul>
+   <li><em>combine.inputs</em> - True if inputs should be combined (defaults to false)</li>
+   <li><em>num.reducers.bytes.per.reducer</em> - Number of input bytes per reducer</li>
+ </ul>
+ 
+ <p>
+ When <em>combine.inputs</em> is true, then CombinedAvroKeyInputFormat is used
+ instead of AvroKeyInputFormat.  This enables a single map task to consume more than
+ one file.
+ </p>
+ 
+ <p>
+ The <em>num.reducers.bytes.per.reducer</em> property controls the number of reducers to 
+ use based on the input size.  The total size of the input files is divided by this number
+ and then rounded up.
+ </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="overviewSummary" 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><strong><a href="../../../datafu/hourglass/jobs/AbstractNonIncrementalJob.BaseCombiner.html" title="class in datafu.hourglass.jobs">AbstractNonIncrementalJob.BaseCombiner</a></strong></code>
+<div class="block">Combiner base class for <a href="../../../datafu/hourglass/jobs/AbstractNonIncrementalJob.html" title="class in datafu.hourglass.jobs"><code>AbstractNonIncrementalJob</code></a>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><strong><a href="../../../datafu/hourglass/jobs/AbstractNonIncrementalJob.BaseMapper.html" title="class in datafu.hourglass.jobs">AbstractNonIncrementalJob.BaseMapper</a></strong></code>
+<div class="block">Mapper base class for <a href="../../../datafu/hourglass/jobs/AbstractNonIncrementalJob.html" title="class in datafu.hourglass.jobs"><code>AbstractNonIncrementalJob</code></a>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><strong><a href="../../../datafu/hourglass/jobs/AbstractNonIncrementalJob.BaseReducer.html" title="class in datafu.hourglass.jobs">AbstractNonIncrementalJob.BaseReducer</a></strong></code>
+<div class="block">Reducer base class for <a href="../../../datafu/hourglass/jobs/AbstractNonIncrementalJob.html" title="class in datafu.hourglass.jobs"><code>AbstractNonIncrementalJob</code></a>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><strong><a href="../../../datafu/hourglass/jobs/AbstractNonIncrementalJob.Report.html" title="class in datafu.hourglass.jobs">AbstractNonIncrementalJob.Report</a></strong></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="overviewSummary" 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><strong><a href="../../../datafu/hourglass/jobs/AbstractNonIncrementalJob.html#AbstractNonIncrementalJob(java.lang.String,%20java.util.Properties)">AbstractNonIncrementalJob</a></strong>(java.lang.String&nbsp;name,
+                         java.util.Properties&nbsp;props)</code>
+<div class="block">Initializes the job.</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="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../datafu/hourglass/jobs/AbstractNonIncrementalJob.html#getCombineInputs()">getCombineInputs</a></strong>()</code>
+<div class="block">Gets whether inputs should be combined.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>java.lang.Class&lt;? extends <a href="../../../datafu/hourglass/jobs/AbstractNonIncrementalJob.BaseCombiner.html" title="class in datafu.hourglass.jobs">AbstractNonIncrementalJob.BaseCombiner</a>&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../datafu/hourglass/jobs/AbstractNonIncrementalJob.html#getCombinerClass()">getCombinerClass</a></strong>()</code>
+<div class="block">Gets the combiner class.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected abstract org.apache.avro.Schema</code></td>
+<td class="colLast"><code><strong><a href="../../../datafu/hourglass/jobs/AbstractNonIncrementalJob.html#getMapOutputKeySchema()">getMapOutputKeySchema</a></strong>()</code>
+<div class="block">Gets the key schema for the map output.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected abstract org.apache.avro.Schema</code></td>
+<td class="colLast"><code><strong><a href="../../../datafu/hourglass/jobs/AbstractNonIncrementalJob.html#getMapOutputValueSchema()">getMapOutputValueSchema</a></strong>()</code>
+<div class="block">Gets the value schema for the map output.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>abstract java.lang.Class&lt;? extends <a href="../../../datafu/hourglass/jobs/AbstractNonIncrementalJob.BaseMapper.html" title="class in datafu.hourglass.jobs">AbstractNonIncrementalJob.BaseMapper</a>&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../datafu/hourglass/jobs/AbstractNonIncrementalJob.html#getMapperClass()">getMapperClass</a></strong>()</code>
+<div class="block">Gets the mapper class.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected abstract org.apache.avro.Schema</code></td>
+<td class="colLast"><code><strong><a href="../../../datafu/hourglass/jobs/AbstractNonIncrementalJob.html#getReduceOutputSchema()">getReduceOutputSchema</a></strong>()</code>
+<div class="block">Gets the reduce output schema.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>abstract java.lang.Class&lt;? extends <a href="../../../datafu/hourglass/jobs/AbstractNonIncrementalJob.BaseReducer.html" title="class in datafu.hourglass.jobs">AbstractNonIncrementalJob.BaseReducer</a>&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../datafu/hourglass/jobs/AbstractNonIncrementalJob.html#getReducerClass()">getReducerClass</a></strong>()</code>
+<div class="block">Gets the reducer class.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../datafu/hourglass/jobs/AbstractNonIncrementalJob.Report.html" title="class in datafu.hourglass.jobs">AbstractNonIncrementalJob.Report</a></code></td>
+<td class="colLast"><code><strong><a href="../../../datafu/hourglass/jobs/AbstractNonIncrementalJob.html#getReport()">getReport</a></strong>()</code>
+<div class="block">Gets a report summarizing the run.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../datafu/hourglass/jobs/AbstractNonIncrementalJob.html#run()">run</a></strong>()</code>
+<div class="block">Runs the job.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../datafu/hourglass/jobs/AbstractNonIncrementalJob.html#setCombineInputs(boolean)">setCombineInputs</a></strong>(boolean&nbsp;combineInputs)</code>
+<div class="block">Sets whether inputs should be combined.</div>
+</td>
+</tr>
+</table>
+<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#setProperties(java.util.Properties)">setProperties</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#initialize()">initialize</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="AbstractNonIncrementalJob(java.lang.String, java.util.Properties)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>AbstractNonIncrementalJob</h4>
+<pre>public&nbsp;AbstractNonIncrementalJob(java.lang.String&nbsp;name,
+                         java.util.Properties&nbsp;props)
+                          throws java.io.IOException</pre>
+<div class="block">Initializes the job.</div>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - job name</dd><dd><code>props</code> - configuration properties</dd>
+<dt><span class="strong">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="getCombineInputs()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCombineInputs</h4>
+<pre>public&nbsp;boolean&nbsp;getCombineInputs()</pre>
+<div class="block">Gets whether inputs should be combined.</div>
+<dl><dt><span class="strong">Returns:</span></dt><dd>true if inputs are to be combined</dd></dl>
+</li>
+</ul>
+<a name="setCombineInputs(boolean)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setCombineInputs</h4>
+<pre>public&nbsp;void&nbsp;setCombineInputs(boolean&nbsp;combineInputs)</pre>
+<div class="block">Sets whether inputs should be combined.</div>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>combineInputs</code> - true to combine inputs</dd></dl>
+</li>
+</ul>
+<a name="getReport()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getReport</h4>
+<pre>public&nbsp;<a href="../../../datafu/hourglass/jobs/AbstractNonIncrementalJob.Report.html" title="class in datafu.hourglass.jobs">AbstractNonIncrementalJob.Report</a>&nbsp;getReport()</pre>
+<div class="block">Gets a report summarizing the run.</div>
+<dl><dt><span class="strong">Returns:</span></dt><dd>report</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">Runs the job.</div>
+<dl>
+<dt><strong>Specified by:</strong></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="strong">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="getMapOutputKeySchema()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMapOutputKeySchema</h4>
+<pre>protected abstract&nbsp;org.apache.avro.Schema&nbsp;getMapOutputKeySchema()</pre>
+<div class="block">Gets the key schema for the map output.</div>
+<dl><dt><span class="strong">Returns:</span></dt><dd>map output key schema</dd></dl>
+</li>
+</ul>
+<a name="getMapOutputValueSchema()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMapOutputValueSchema</h4>
+<pre>protected abstract&nbsp;org.apache.avro.Schema&nbsp;getMapOutputValueSchema()</pre>
+<div class="block">Gets the value schema for the map output.</div>
+<dl><dt><span class="strong">Returns:</span></dt><dd>map output value schema</dd></dl>
+</li>
+</ul>
+<a name="getReduceOutputSchema()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getReduceOutputSchema</h4>
+<pre>protected abstract&nbsp;org.apache.avro.Schema&nbsp;getReduceOutputSchema()</pre>
+<div class="block">Gets the reduce output schema.</div>
+<dl><dt><span class="strong">Returns:</span></dt><dd>reduce output schema</dd></dl>
+</li>
+</ul>
+<a name="getMapperClass()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMapperClass</h4>
+<pre>public abstract&nbsp;java.lang.Class&lt;? extends <a href="../../../datafu/hourglass/jobs/AbstractNonIncrementalJob.BaseMapper.html" title="class in datafu.hourglass.jobs">AbstractNonIncrementalJob.BaseMapper</a>&gt;&nbsp;getMapperClass()</pre>
+<div class="block">Gets the mapper class.</div>
+<dl><dt><span class="strong">Returns:</span></dt><dd>the mapper</dd></dl>
+</li>
+</ul>
+<a name="getReducerClass()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getReducerClass</h4>
+<pre>public abstract&nbsp;java.lang.Class&lt;? extends <a href="../../../datafu/hourglass/jobs/AbstractNonIncrementalJob.BaseReducer.html" title="class in datafu.hourglass.jobs">AbstractNonIncrementalJob.BaseReducer</a>&gt;&nbsp;getReducerClass()</pre>
+<div class="block">Gets the reducer class.</div>
+<dl><dt><span class="strong">Returns:</span></dt><dd>the reducer</dd></dl>
+</li>
+</ul>
+<a name="getCombinerClass()">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getCombinerClass</h4>
+<pre>public&nbsp;java.lang.Class&lt;? extends <a href="../../../datafu/hourglass/jobs/AbstractNonIncrementalJob.BaseCombiner.html" title="class in datafu.hourglass.jobs">AbstractNonIncrementalJob.BaseCombiner</a>&gt;&nbsp;getCombinerClass()</pre>
+<div class="block">Gets the combiner class.</div>
+<dl><dt><span class="strong">Returns:</span></dt><dd>the combiner</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><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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/AbstractJob.html" title="class in datafu.hourglass.jobs"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../datafu/hourglass/jobs/AbstractNonIncrementalJob.BaseCombiner.html" title="class in datafu.hourglass.jobs"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?datafu/hourglass/jobs/AbstractNonIncrementalJob.html" target="_top">Frames</a></li>
+<li><a href="AbstractNonIncrementalJob.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../allclasses-noframe.html">All 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>

Added: datafu/site/docs/hourglass/1.4.0/datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.Report.html
URL: http://svn.apache.org/viewvc/datafu/site/docs/hourglass/1.4.0/datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.Report.html?rev=1827525&view=auto
==============================================================================
--- datafu/site/docs/hourglass/1.4.0/datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.Report.html (added)
+++ datafu/site/docs/hourglass/1.4.0/datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.Report.html Thu Mar 22 19:01:04 2018
@@ -0,0 +1,367 @@
+<!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 (version 1.7.0_79) on Thu Mar 22 11:58:07 PDT 2018 -->
+<title>AbstractPartitionCollapsingIncrementalJob.Report (datafu-hourglass 1.4.0 API)</title>
+<meta name="date" content="2018-03-22">
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="AbstractPartitionCollapsingIncrementalJob.Report (datafu-hourglass 1.4.0 API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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.html" title="class in datafu.hourglass.jobs"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../datafu/hourglass/jobs/AbstractPartitionPreservingIncrementalJob.html" title="class in datafu.hourglass.jobs"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.Report.html" target="_top">Frames</a></li>
+<li><a href="AbstractPartitionCollapsingIncrementalJob.Report.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../allclasses-noframe.html">All 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 AbstractPartitionCollapsingIncrementalJob.Report" class="title">Class AbstractPartitionCollapsingIncrementalJob.Report</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>datafu.hourglass.jobs.AbstractPartitionCollapsingIncrementalJob.Report</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html" title="class in datafu.hourglass.jobs">AbstractPartitionCollapsingIncrementalJob</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static class <span class="strong">AbstractPartitionCollapsingIncrementalJob.Report</span>
+extends java.lang.Object</pre>
+<div class="block">Reports files created and processed for an iteration of the job.</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="overviewSummary" 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><strong><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.Report.html#AbstractPartitionCollapsingIncrementalJob.Report()">AbstractPartitionCollapsingIncrementalJob.Report</a></strong>()</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="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>org.apache.hadoop.fs.Path</code></td>
+<td class="colLast"><code><strong><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.Report.html#getCountersPath()">getCountersPath</a></strong>()</code>
+<div class="block">Gets the path to the counters file, if one was written.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>java.util.List&lt;<a href="../../../datafu/hourglass/fs/DatePath.html" title="class in datafu.hourglass.fs">DatePath</a>&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.Report.html#getInputFiles()">getInputFiles</a></strong>()</code>
+<div class="block">Gets new input files that were processed.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colLast"><code><strong><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.Report.html#getJobId()">getJobId</a></strong>()</code>
+<div class="block">Gets the job ID.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colLast"><code><strong><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.Report.html#getJobName()">getJobName</a></strong>()</code>
+<div class="block">Gets the job name.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>java.util.List&lt;<a href="../../../datafu/hourglass/fs/DatePath.html" title="class in datafu.hourglass.fs">DatePath</a>&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.Report.html#getOldInputFiles()">getOldInputFiles</a></strong>()</code>
+<div class="block">Gets old input files that were processed.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../datafu/hourglass/fs/DatePath.html" title="class in datafu.hourglass.fs">DatePath</a></code></td>
+<td class="colLast"><code><strong><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.Report.html#getOutputPath()">getOutputPath</a></strong>()</code>
+<div class="block">Gets the path to the output which was produced by the job.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../datafu/hourglass/fs/DatePath.html" title="class in datafu.hourglass.fs">DatePath</a></code></td>
+<td class="colLast"><code><strong><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.Report.html#getReusedOutput()">getReusedOutput</a></strong>()</code>
+<div class="block">Gets the output that was reused, if one was reused.</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="AbstractPartitionCollapsingIncrementalJob.Report()">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>AbstractPartitionCollapsingIncrementalJob.Report</h4>
+<pre>public&nbsp;AbstractPartitionCollapsingIncrementalJob.Report()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getJobName()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getJobName</h4>
+<pre>public&nbsp;java.lang.String&nbsp;getJobName()</pre>
+<div class="block">Gets the job name.</div>
+<dl><dt><span class="strong">Returns:</span></dt><dd>job name</dd></dl>
+</li>
+</ul>
+<a name="getJobId()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getJobId</h4>
+<pre>public&nbsp;java.lang.String&nbsp;getJobId()</pre>
+<div class="block">Gets the job ID.</div>
+<dl><dt><span class="strong">Returns:</span></dt><dd>job ID</dd></dl>
+</li>
+</ul>
+<a name="getCountersPath()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCountersPath</h4>
+<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;getCountersPath()</pre>
+<div class="block">Gets the path to the counters file, if one was written.</div>
+<dl><dt><span class="strong">Returns:</span></dt><dd>counters path</dd></dl>
+</li>
+</ul>
+<a name="getOutputPath()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getOutputPath</h4>
+<pre>public&nbsp;<a href="../../../datafu/hourglass/fs/DatePath.html" title="class in datafu.hourglass.fs">DatePath</a>&nbsp;getOutputPath()</pre>
+<div class="block">Gets the path to the output which was produced by the job.</div>
+<dl><dt><span class="strong">Returns:</span></dt><dd>output path</dd></dl>
+</li>
+</ul>
+<a name="getReusedOutput()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getReusedOutput</h4>
+<pre>public&nbsp;<a href="../../../datafu/hourglass/fs/DatePath.html" title="class in datafu.hourglass.fs">DatePath</a>&nbsp;getReusedOutput()</pre>
+<div class="block">Gets the output that was reused, if one was reused.</div>
+<dl><dt><span class="strong">Returns:</span></dt><dd>reused output path</dd></dl>
+</li>
+</ul>
+<a name="getInputFiles()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInputFiles</h4>
+<pre>public&nbsp;java.util.List&lt;<a href="../../../datafu/hourglass/fs/DatePath.html" title="class in datafu.hourglass.fs">DatePath</a>&gt;&nbsp;getInputFiles()</pre>
+<div class="block">Gets new input files that were processed.  These are files that are within
+ the desired date range.</div>
+<dl><dt><span class="strong">Returns:</span></dt><dd>input files</dd></dl>
+</li>
+</ul>
+<a name="getOldInputFiles()">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getOldInputFiles</h4>
+<pre>public&nbsp;java.util.List&lt;<a href="../../../datafu/hourglass/fs/DatePath.html" title="class in datafu.hourglass.fs">DatePath</a>&gt;&nbsp;getOldInputFiles()</pre>
+<div class="block">Gets old input files that were processed.  These are files that are before
+ the desired date range and were subtracted from the reused output.</div>
+<dl><dt><span class="strong">Returns:</span></dt><dd>output files</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><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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.html" title="class in datafu.hourglass.jobs"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../datafu/hourglass/jobs/AbstractPartitionPreservingIncrementalJob.html" title="class in datafu.hourglass.jobs"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.Report.html" target="_top">Frames</a></li>
+<li><a href="AbstractPartitionCollapsingIncrementalJob.Report.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../allclasses-noframe.html">All 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>

Added: datafu/site/docs/hourglass/1.4.0/datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html
URL: http://svn.apache.org/viewvc/datafu/site/docs/hourglass/1.4.0/datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html?rev=1827525&view=auto
==============================================================================
--- datafu/site/docs/hourglass/1.4.0/datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html (added)
+++ datafu/site/docs/hourglass/1.4.0/datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html Thu Mar 22 19:01:04 2018
@@ -0,0 +1,751 @@
+<!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 (version 1.7.0_79) on Thu Mar 22 11:58:07 PDT 2018 -->
+<title>AbstractPartitionCollapsingIncrementalJob (datafu-hourglass 1.4.0 API)</title>
+<meta name="date" content="2018-03-22">
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="AbstractPartitionCollapsingIncrementalJob (datafu-hourglass 1.4.0 API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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/AbstractNonIncrementalJob.Report.html" title="class in datafu.hourglass.jobs"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.Report.html" title="class in datafu.hourglass.jobs"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html" target="_top">Frames</a></li>
+<li><a href="AbstractPartitionCollapsingIncrementalJob.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../allclasses-noframe.html">All 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><a href="#field_summary">Field</a>&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><a href="#field_detail">Field</a>&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 AbstractPartitionCollapsingIncrementalJob" class="title">Class AbstractPartitionCollapsingIncrementalJob</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.AbstractPartitionCollapsingIncrementalJob</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/PartitionCollapsingIncrementalJob.html" title="class in datafu.hourglass.jobs">PartitionCollapsingIncrementalJob</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public abstract class <span class="strong">AbstractPartitionCollapsingIncrementalJob</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 collapses the
+ partitions to produce a single output.  This job can be used to process data
+ using a sliding window.  It is capable of reusing the previous output, which
+ means that it can process data more efficiently.
+ 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/AbstractPartitionCollapsingIncrementalJob.html#getMapper()"><code>getMapper()</code></a> and an accumulator
+ for the reducer by overriding <a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html#getReducerAccumulator()"><code>getReducerAccumulator()</code></a>.  An optional combiner may be
+ provided by overriding <a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.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 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 naming convention yyyyMMdd, where the date used
+ to format the output path is the same as the end of the desired time range to process.
+ For example, if the desired time range to process is 2013/01/01 through 2013/01/14,
+ then the output will be named 20130114. 
+ 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 if the corresponding output has already been produced.  For example, if the desired date
+ range is 2013/01/01 through 2013/01/14 and the output 20130114 already exists, then it assumes the work has alreaday
+ been completed.
+ </p>
+ 
+ <p>
+ By default only the latest output will be kept.  All other outputs will be removed.  This can be controlled
+ by setting 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>.
+ </p>
+ 
+ <p>
+ Two types of sliding windows may be used: <em>fixed-length</em> and <em>fixed-start</em>.  For a fixed-length
+ sliding window, the size of the window is fixed; the start and end move according to the
+ availability of input data.  For a fixed-start window, the size of the window is flexible;
+ the start is fixed and the end moves according to the availability of input data.
+ </p>
+ 
+ <p>
+ A fixed-length sliding window can be defined either by setting the property <em>num.days</em>
+ or by calling <a href="../../../datafu/hourglass/jobs/TimeBasedJob.html#setNumDays(java.lang.Integer)"><code>TimeBasedJob.setNumDays(Integer)</code></a>.  This sets how many days of input data will be
+ consumed.  By default the end of the window will be the same as the date of the latest available
+ input data.  The start is then determine by the number of days to consume.  The end date can
+ be moved back relative to the latest input data by setting the <em>days.ago</em> property or
+ by calling <a href="../../../datafu/hourglass/jobs/TimeBasedJob.html#setDaysAgo(java.lang.Integer)"><code>TimeBasedJob.setDaysAgo(Integer)</code></a>.  Since the end date is determined by the availability
+ of input data, as new data arrives the window will advance forward.
+ </p>
+ 
+ <p>
+ A fixed-start sliding window can be defined by setting the property <em>start.date</em> or
+ by calling <a href="../../../datafu/hourglass/jobs/TimeBasedJob.html#setStartDate(java.util.Date)"><code>TimeBasedJob.setStartDate(java.util.Date)</code></a>.  The end date will be the same as the date of
+ the latest available input data.  The end date can
+ be moved back relative to the latest input data by setting the <em>days.ago</em> property or
+ by calling <a href="../../../datafu/hourglass/jobs/TimeBasedJob.html#setDaysAgo(java.lang.Integer)"><code>TimeBasedJob.setDaysAgo(Integer)</code></a>.
+ Because the end date is determined by the availability of input data, as new data arrives the window 
+ will grow to include it.
+ </p>
+ 
+ <p>
+ Previous output can be reused by setting the <em>reuse.previous.output</em> property to true, or
+ by calling <a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html#setReusePreviousOutput(boolean)"><code>setReusePreviousOutput(boolean)</code></a>.  Reusing the previous output is often more efficient
+ because only input data outside of the time window covered by the previous output needs to be consumed.
+ For example, given a fixed-start sliding window job, if one new day of input data is available since the
+ last time the job ran, then the job can reuse the previous output and only read the newest day of data, rather
+ than reading all the input data again.  Given a fixed-length sliding window in the same scenario, the new output
+ can be produced by adding the newest input to the previous output and subtracting the oldest input from the old
+ window.
+ </p>
+ 
+ <p>
+ For a fixed-start sliding window, if the schema for the intermediate and output values are the same then no additional
+ changes are necessary, as the reducer's accumulator should be capable of adding the new input to the previous output.
+ However if they are different then a record must be defined by overriding <a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html#getRecordMerger()"><code>getRecordMerger()</code></a> so that the previous
+ output can be merged with the partial output produced by reducing the new input data.
+ For the fixed-length sliding window one must override <a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html#getOldRecordMerger()"><code>getOldRecordMerger()</code></a> to reuse the previous output.
+ This method essentially unmerges old, partial output data from the current output.  For this case as well if the intermediate
+ and output schemas are the same the <a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html#getRecordMerger()"><code>getRecordMerger()</code></a> method does not need to be overriden.
+ </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.  This calculation includes
+ the input data as well as previous output that will be reused.    It is also possible calculate the number of reducers
+ separately for the input and previous output through the properties <em>num.reducers.input.bytes.per.reducer</em>
+ and <em>num.reducers.previous.bytes.per.reducer</em>.  The reducers will be computed separately for the two sets of data
+ and then added together.  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 if previous output can be reused.  
+ 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="overviewSummary" 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><strong><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.Report.html" title="class in datafu.hourglass.jobs">AbstractPartitionCollapsingIncrementalJob.Report</a></strong></code>
+<div class="block">Reports files created and processed for an iteration of the job.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field_summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html#_reusePreviousOutput">_reusePreviousOutput</a></strong></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="overviewSummary" 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><strong><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html#AbstractPartitionCollapsingIncrementalJob()">AbstractPartitionCollapsingIncrementalJob</a></strong>()</code>
+<div class="block">Initializes the job.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><strong><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html#AbstractPartitionCollapsingIncrementalJob(java.lang.String,%20java.util.Properties)">AbstractPartitionCollapsingIncrementalJob</a></strong>(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="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr class="altColor">
+<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><strong><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html#getCombinerAccumulator()">getCombinerAccumulator</a></strong>()</code>
+<div class="block">Gets the accumulator used for the combiner.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<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><strong><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html#getMapper()">getMapper</a></strong>()</code>
+<div class="block">Gets the mapper.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../datafu/hourglass/model/Merger.html" title="interface in datafu.hourglass.model">Merger</a>&lt;org.apache.avro.generic.GenericRecord&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html#getOldRecordMerger()">getOldRecordMerger</a></strong>()</code>
+<div class="block">Gets the record merger that is capable of unmerging old partial output from the new output.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected java.lang.String</code></td>
+<td class="colLast"><code><strong><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html#getOutputSchemaName()">getOutputSchemaName</a></strong>()</code>
+<div class="block">Get the name for the reduce output schema.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected java.lang.String</code></td>
+<td class="colLast"><code><strong><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html#getOutputSchemaNamespace()">getOutputSchemaNamespace</a></strong>()</code>
+<div class="block">Get the namespace for the reduce output schema.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../datafu/hourglass/model/Merger.html" title="interface in datafu.hourglass.model">Merger</a>&lt;org.apache.avro.generic.GenericRecord&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html#getRecordMerger()">getRecordMerger</a></strong>()</code>
+<div class="block">Gets the record merger that is capable of merging previous output with a new partial output.</div>
+</td>
+</tr>
+<tr class="altColor">
+<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><strong><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html#getReducerAccumulator()">getReducerAccumulator</a></strong>()</code>
+<div class="block">Gets the accumulator used for the reducer.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>java.util.List&lt;<a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.Report.html" title="class in datafu.hourglass.jobs">AbstractPartitionCollapsingIncrementalJob.Report</a>&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html#getReports()">getReports</a></strong>()</code>
+<div class="block">Get reports that summarize each of the job iterations.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html#getReusePreviousOutput()">getReusePreviousOutput</a></strong>()</code>
+<div class="block">Get whether previous output should be reused.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><strong><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html#initialize()">initialize</a></strong>()</code>
+<div class="block">Initialization required before running job.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html#run()">run</a></strong>()</code>
+<div class="block">Run the job.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html#setProperties(java.util.Properties)">setProperties</a></strong>(java.util.Properties&nbsp;props)</code>
+<div class="block">Sets the configuration properties.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html#setReusePreviousOutput(boolean)">setReusePreviousOutput</a></strong>(boolean&nbsp;reuse)</code>
+<div class="block">Set whether previous output should be reused.</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></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">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field_detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="_reusePreviousOutput">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>_reusePreviousOutput</h4>
+<pre>protected&nbsp;boolean _reusePreviousOutput</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="AbstractPartitionCollapsingIncrementalJob()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>AbstractPartitionCollapsingIncrementalJob</h4>
+<pre>public&nbsp;AbstractPartitionCollapsingIncrementalJob()
+                                          throws java.io.IOException</pre>
+<div class="block">Initializes the job.</div>
+<dl><dt><span class="strong">Throws:</span></dt>
+<dd><code>java.io.IOException</code> - IOException</dd></dl>
+</li>
+</ul>
+<a name="AbstractPartitionCollapsingIncrementalJob(java.lang.String, java.util.Properties)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>AbstractPartitionCollapsingIncrementalJob</h4>
+<pre>public&nbsp;AbstractPartitionCollapsingIncrementalJob(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="strong">Parameters:</span></dt><dd><code>name</code> - job name</dd><dd><code>props</code> - configuration properties</dd>
+<dt><span class="strong">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="strong">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="strong">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="strong">Returns:</span></dt><dd>reducer accumulator</dd></dl>
+</li>
+</ul>
+<a name="getRecordMerger()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getRecordMerger</h4>
+<pre>public&nbsp;<a href="../../../datafu/hourglass/model/Merger.html" title="interface in datafu.hourglass.model">Merger</a>&lt;org.apache.avro.generic.GenericRecord&gt;&nbsp;getRecordMerger()</pre>
+<div class="block">Gets the record merger that is capable of merging previous output with a new partial output.
+ This is only needed when reusing previous output where the intermediate and output schemas are different.
+ New partial output is produced by the reducer from new input that is after the previous output.</div>
+<dl><dt><span class="strong">Returns:</span></dt><dd>merger</dd></dl>
+</li>
+</ul>
+<a name="getOldRecordMerger()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getOldRecordMerger</h4>
+<pre>public&nbsp;<a href="../../../datafu/hourglass/model/Merger.html" title="interface in datafu.hourglass.model">Merger</a>&lt;org.apache.avro.generic.GenericRecord&gt;&nbsp;getOldRecordMerger()</pre>
+<div class="block">Gets the record merger that is capable of unmerging old partial output from the new output.
+ This is only needed when reusing previous output for a fixed-length sliding window.
+ The new output is the result of merging the previous output with the new partial output.
+ The old partial output is produced by the reducer from old input data before the time range of
+ the previous output.</div>
+<dl><dt><span class="strong">Returns:</span></dt><dd>merger</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="strong">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="strong">Returns:</span></dt><dd>output schema namespace</dd></dl>
+</li>
+</ul>
+<a name="setProperties(java.util.Properties)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setProperties</h4>
+<pre>public&nbsp;void&nbsp;setProperties(java.util.Properties&nbsp;props)</pre>
+<div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../datafu/hourglass/jobs/AbstractJob.html#setProperties(java.util.Properties)">AbstractJob</a></code></strong></div>
+<div class="block">Sets the configuration properties.</div>
+<dl>
+<dt><strong>Overrides:</strong></dt>
+<dd><code><a href="../../../datafu/hourglass/jobs/IncrementalJob.html#setProperties(java.util.Properties)">setProperties</a></code>&nbsp;in class&nbsp;<code><a href="../../../datafu/hourglass/jobs/IncrementalJob.html" title="class in datafu.hourglass.jobs">IncrementalJob</a></code></dd>
+<dt><span class="strong">Parameters:</span></dt><dd><code>props</code> - Properties</dd></dl>
+</li>
+</ul>
+<a name="getReusePreviousOutput()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getReusePreviousOutput</h4>
+<pre>public&nbsp;boolean&nbsp;getReusePreviousOutput()</pre>
+<div class="block">Get whether previous output should be reused.</div>
+<dl><dt><span class="strong">Returns:</span></dt><dd>true if previous output should be reused</dd></dl>
+</li>
+</ul>
+<a name="setReusePreviousOutput(boolean)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setReusePreviousOutput</h4>
+<pre>public&nbsp;void&nbsp;setReusePreviousOutput(boolean&nbsp;reuse)</pre>
+<div class="block">Set whether previous output should be reused.</div>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>reuse</code> - true if previous output should be reused</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"><strong>Description copied from class:&nbsp;<code><a href="../../../datafu/hourglass/jobs/AbstractJob.html#initialize()">AbstractJob</a></code></strong></div>
+<div class="block">Initialization required before running job.</div>
+<dl>
+<dt><strong>Overrides:</strong></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="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"><strong>Description copied from class:&nbsp;<code><a href="../../../datafu/hourglass/jobs/AbstractJob.html#run()">AbstractJob</a></code></strong></div>
+<div class="block">Run the job.</div>
+<dl>
+<dt><strong>Specified by:</strong></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="strong">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="blockListLast">
+<li class="blockList">
+<h4>getReports</h4>
+<pre>public&nbsp;java.util.List&lt;<a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.Report.html" title="class in datafu.hourglass.jobs">AbstractPartitionCollapsingIncrementalJob.Report</a>&gt;&nbsp;getReports()</pre>
+<div class="block">Get reports that summarize each of the job iterations.</div>
+<dl><dt><span class="strong">Returns:</span></dt><dd>reports</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><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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/AbstractNonIncrementalJob.Report.html" title="class in datafu.hourglass.jobs"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.Report.html" title="class in datafu.hourglass.jobs"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html" target="_top">Frames</a></li>
+<li><a href="AbstractPartitionCollapsingIncrementalJob.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../allclasses-noframe.html">All 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><a href="#field_summary">Field</a>&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><a href="#field_detail">Field</a>&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>



Mime
View raw message