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:50:00 UTC
[14/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/AbstractPartitionCollapsingIncrementalJob.html
----------------------------------------------------------------------
diff --git a/site/source/docs/hourglass/1.3.0/datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html b/site/source/docs/hourglass/1.3.0/datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html
new file mode 100644
index 0000000..9e3f4bf
--- /dev/null
+++ b/site/source/docs/hourglass/1.3.0/datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html
@@ -0,0 +1,805 @@
+<!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:43 PST 2015 -->
+<title>AbstractPartitionCollapsingIncrementalJob (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="AbstractPartitionCollapsingIncrementalJob (datafu-hourglass 1.3.0 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":6,"i2":10,"i3":10,"i4":10,"i5":10,"i6":6,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":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/AbstractNonIncrementalJob.Report.html" title="class in datafu.hourglass.jobs"><span class="typeNameLink">Prev Class</span></a></li>
+<li><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.Report.html" title="class in datafu.hourglass.jobs"><span class="typeNameLink">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: </li>
+<li><a href="#nested.class.summary">Nested</a> | </li>
+<li><a href="#field.summary">Field</a> | </li>
+<li><a href="#constructor.summary">Constr</a> | </li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail: </li>
+<li><a href="#field.detail">Field</a> | </li>
+<li><a href="#constructor.detail">Constr</a> | </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="typeNameLabel">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="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"> </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 </code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.Report.html" title="class in datafu.hourglass.jobs">AbstractPartitionCollapsingIncrementalJob.Report</a></span></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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd"> </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><span class="memberNameLink"><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html#Z:Z_reusePreviousOutput">_reusePreviousOutput</a></span></code> </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"> </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/AbstractPartitionCollapsingIncrementalJob.html#AbstractPartitionCollapsingIncrementalJob--">AbstractPartitionCollapsingIncrementalJob</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/AbstractPartitionCollapsingIncrementalJob.html#AbstractPartitionCollapsingIncrementalJob-java.lang.String-java.util.Properties-">AbstractPartitionCollapsingIncrementalJob</a></span>(java.lang.String name,
+ java.util.Properties 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"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </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><a href="../../../datafu/hourglass/model/Accumulator.html" title="interface in datafu.hourglass.model">Accumulator</a><org.apache.avro.generic.GenericRecord,org.apache.avro.generic.GenericRecord></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html#getCombinerAccumulator--">getCombinerAccumulator</a></span>()</code>
+<div class="block">Gets the accumulator used for the combiner.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>abstract <a href="../../../datafu/hourglass/model/Mapper.html" title="interface in datafu.hourglass.model">Mapper</a><org.apache.avro.generic.GenericRecord,org.apache.avro.generic.GenericRecord,org.apache.avro.generic.GenericRecord></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html#getMapper--">getMapper</a></span>()</code>
+<div class="block">Gets the mapper.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../datafu/hourglass/model/Merger.html" title="interface in datafu.hourglass.model">Merger</a><org.apache.avro.generic.GenericRecord></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html#getOldRecordMerger--">getOldRecordMerger</a></span>()</code>
+<div class="block">Gets the record merger that is capable of unmerging old partial output from the new output.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>protected java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html#getOutputSchemaName--">getOutputSchemaName</a></span>()</code>
+<div class="block">Get the name for the reduce output schema.</div>
+</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/AbstractPartitionCollapsingIncrementalJob.html#getOutputSchemaNamespace--">getOutputSchemaNamespace</a></span>()</code>
+<div class="block">Get the namespace for the reduce output schema.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../datafu/hourglass/model/Merger.html" title="interface in datafu.hourglass.model">Merger</a><org.apache.avro.generic.GenericRecord></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html#getRecordMerger--">getRecordMerger</a></span>()</code>
+<div class="block">Gets the record merger that is capable of merging previous output with a new partial output.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../datafu/hourglass/model/Accumulator.html" title="interface in datafu.hourglass.model">Accumulator</a><org.apache.avro.generic.GenericRecord,org.apache.avro.generic.GenericRecord></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html#getReducerAccumulator--">getReducerAccumulator</a></span>()</code>
+<div class="block">Gets the accumulator used for the reducer.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>java.util.List<<a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.Report.html" title="class in datafu.hourglass.jobs">AbstractPartitionCollapsingIncrementalJob.Report</a>></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html#getReports--">getReports</a></span>()</code>
+<div class="block">Get reports that summarize each of the job iterations.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html#getReusePreviousOutput--">getReusePreviousOutput</a></span>()</code>
+<div class="block">Get whether previous output should be reused.</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/AbstractPartitionCollapsingIncrementalJob.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/AbstractPartitionCollapsingIncrementalJob.html#run--">run</a></span>()</code>
+<div class="block">Run the job.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html#setProperties-java.util.Properties-">setProperties</a></span>(java.util.Properties props)</code>
+<div class="block">Sets the configuration properties.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.html#setReusePreviousOutput-boolean-">setReusePreviousOutput</a></span>(boolean 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 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 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 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 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 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="Z:Z_reusePreviousOutput">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>_reusePreviousOutput</h4>
+<pre>protected 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 AbstractPartitionCollapsingIncrementalJob()
+ 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="AbstractPartitionCollapsingIncrementalJob-java.lang.String-java.util.Properties-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>AbstractPartitionCollapsingIncrementalJob</h4>
+<pre>public AbstractPartitionCollapsingIncrementalJob(java.lang.String name,
+ java.util.Properties 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 <a href="../../../datafu/hourglass/model/Mapper.html" title="interface in datafu.hourglass.model">Mapper</a><org.apache.avro.generic.GenericRecord,org.apache.avro.generic.GenericRecord,org.apache.avro.generic.GenericRecord> 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 <a href="../../../datafu/hourglass/model/Accumulator.html" title="interface in datafu.hourglass.model">Accumulator</a><org.apache.avro.generic.GenericRecord,org.apache.avro.generic.GenericRecord> 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 <a href="../../../datafu/hourglass/model/Accumulator.html" title="interface in datafu.hourglass.model">Accumulator</a><org.apache.avro.generic.GenericRecord,org.apache.avro.generic.GenericRecord> 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="getRecordMerger--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getRecordMerger</h4>
+<pre>public <a href="../../../datafu/hourglass/model/Merger.html" title="interface in datafu.hourglass.model">Merger</a><org.apache.avro.generic.GenericRecord> 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="returnLabel">Returns:</span></dt>
+<dd>merger</dd>
+</dl>
+</li>
+</ul>
+<a name="getOldRecordMerger--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getOldRecordMerger</h4>
+<pre>public <a href="../../../datafu/hourglass/model/Merger.html" title="interface in datafu.hourglass.model">Merger</a><org.apache.avro.generic.GenericRecord> 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="returnLabel">Returns:</span></dt>
+<dd>merger</dd>
+</dl>
+</li>
+</ul>
+<a name="getOutputSchemaName--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getOutputSchemaName</h4>
+<pre>protected java.lang.String 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 java.lang.String 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="setProperties-java.util.Properties-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setProperties</h4>
+<pre>public void setProperties(java.util.Properties props)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../datafu/hourglass/jobs/AbstractJob.html#setProperties-java.util.Properties-">AbstractJob</a></code></span></div>
+<div class="block">Sets the configuration properties.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../datafu/hourglass/jobs/IncrementalJob.html#setProperties-java.util.Properties-">setProperties</a></code> in class <code><a href="../../../datafu/hourglass/jobs/IncrementalJob.html" title="class in datafu.hourglass.jobs">IncrementalJob</a></code></dd>
+<dt><span class="paramLabel">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 boolean getReusePreviousOutput()</pre>
+<div class="block">Get whether previous output should be reused.</div>
+<dl>
+<dt><span class="returnLabel">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 void setReusePreviousOutput(boolean reuse)</pre>
+<div class="block">Set whether previous output should be reused.</div>
+<dl>
+<dt><span class="paramLabel">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 void initialize()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class: <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> in class <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 void run()
+ throws java.io.IOException,
+ java.lang.InterruptedException,
+ java.lang.ClassNotFoundException</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../datafu/hourglass/jobs/AbstractJob.html#run--">AbstractJob</a></code></span></div>
+<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> in class <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="blockListLast">
+<li class="blockList">
+<h4>getReports</h4>
+<pre>public java.util.List<<a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.Report.html" title="class in datafu.hourglass.jobs">AbstractPartitionCollapsingIncrementalJob.Report</a>> 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>
+</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/AbstractNonIncrementalJob.Report.html" title="class in datafu.hourglass.jobs"><span class="typeNameLink">Prev Class</span></a></li>
+<li><a href="../../../datafu/hourglass/jobs/AbstractPartitionCollapsingIncrementalJob.Report.html" title="class in datafu.hourglass.jobs"><span class="typeNameLink">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: </li>
+<li><a href="#nested.class.summary">Nested</a> | </li>
+<li><a href="#field.summary">Field</a> | </li>
+<li><a href="#constructor.summary">Constr</a> | </li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail: </li>
+<li><a href="#field.detail">Field</a> | </li>
+<li><a href="#constructor.detail">Constr</a> | </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/AbstractPartitionPreservingIncrementalJob.Report.html
----------------------------------------------------------------------
diff --git a/site/source/docs/hourglass/1.3.0/datafu/hourglass/jobs/AbstractPartitionPreservingIncrementalJob.Report.html b/site/source/docs/hourglass/1.3.0/datafu/hourglass/jobs/AbstractPartitionPreservingIncrementalJob.Report.html
new file mode 100644
index 0000000..923f7d3
--- /dev/null
+++ b/site/source/docs/hourglass/1.3.0/datafu/hourglass/jobs/AbstractPartitionPreservingIncrementalJob.Report.html
@@ -0,0 +1,362 @@
+<!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.Report (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.Report (datafu-hourglass 1.3.0 API)";
+ }
+ }
+ catch(err) {
+ }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance 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/AbstractPartitionPreservingIncrementalJob.html" title="class in datafu.hourglass.jobs"><span class="typeNameLink">Prev Class</span></a></li>
+<li><a href="../../../datafu/hourglass/jobs/DateRangeConfigurable.html" title="interface in datafu.hourglass.jobs"><span class="typeNameLink">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?datafu/hourglass/jobs/AbstractPartitionPreservingIncrementalJob.Report.html" target="_top">Frames</a></li>
+<li><a href="AbstractPartitionPreservingIncrementalJob.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: </li>
+<li>Nested | </li>
+<li>Field | </li>
+<li><a href="#constructor.summary">Constr</a> | </li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail: </li>
+<li>Field | </li>
+<li><a href="#constructor.detail">Constr</a> | </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.Report" class="title">Class AbstractPartitionPreservingIncrementalJob.Report</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>datafu.hourglass.jobs.AbstractPartitionPreservingIncrementalJob.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/AbstractPartitionPreservingIncrementalJob.html" title="class in datafu.hourglass.jobs">AbstractPartitionPreservingIncrementalJob</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static class <span class="typeNameLabel">AbstractPartitionPreservingIncrementalJob.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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd"> </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.Report.html#Report--">Report</a></span>()</code> </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"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </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>org.apache.hadoop.fs.Path</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../datafu/hourglass/jobs/AbstractPartitionPreservingIncrementalJob.Report.html#getCountersPath--">getCountersPath</a></span>()</code>
+<div class="block">Gets the path to the counters file, if one was written.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>java.util.List<<a href="../../../datafu/hourglass/fs/DatePath.html" title="class in datafu.hourglass.fs">DatePath</a>></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../datafu/hourglass/jobs/AbstractPartitionPreservingIncrementalJob.Report.html#getInputFiles--">getInputFiles</a></span>()</code>
+<div class="block">Gets input files that were processed.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../datafu/hourglass/jobs/AbstractPartitionPreservingIncrementalJob.Report.html#getJobId--">getJobId</a></span>()</code>
+<div class="block">Gets the job ID.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../datafu/hourglass/jobs/AbstractPartitionPreservingIncrementalJob.Report.html#getJobName--">getJobName</a></span>()</code>
+<div class="block">Gets the job name.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>java.util.List<<a href="../../../datafu/hourglass/fs/DatePath.html" title="class in datafu.hourglass.fs">DatePath</a>></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../datafu/hourglass/jobs/AbstractPartitionPreservingIncrementalJob.Report.html#getOutputFiles--">getOutputFiles</a></span>()</code>
+<div class="block">Gets the output files that were produced by the job.</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 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="Report--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Report</h4>
+<pre>public 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 java.lang.String getJobName()</pre>
+<div class="block">Gets the job name.</div>
+<dl>
+<dt><span class="returnLabel">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 java.lang.String getJobId()</pre>
+<div class="block">Gets the job ID.</div>
+<dl>
+<dt><span class="returnLabel">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 org.apache.hadoop.fs.Path getCountersPath()</pre>
+<div class="block">Gets the path to the counters file, if one was written.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>counters path</dd>
+</dl>
+</li>
+</ul>
+<a name="getInputFiles--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInputFiles</h4>
+<pre>public java.util.List<<a href="../../../datafu/hourglass/fs/DatePath.html" title="class in datafu.hourglass.fs">DatePath</a>> getInputFiles()</pre>
+<div class="block">Gets input files that were processed. These are files that are within
+ the desired date range.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>new input files</dd>
+</dl>
+</li>
+</ul>
+<a name="getOutputFiles--">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getOutputFiles</h4>
+<pre>public java.util.List<<a href="../../../datafu/hourglass/fs/DatePath.html" title="class in datafu.hourglass.fs">DatePath</a>> getOutputFiles()</pre>
+<div class="block">Gets the output files that were produced by the job.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>old input 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>
+<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.html" title="class in datafu.hourglass.jobs"><span class="typeNameLink">Prev Class</span></a></li>
+<li><a href="../../../datafu/hourglass/jobs/DateRangeConfigurable.html" title="interface in datafu.hourglass.jobs"><span class="typeNameLink">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../index.html?datafu/hourglass/jobs/AbstractPartitionPreservingIncrementalJob.Report.html" target="_top">Frames</a></li>
+<li><a href="AbstractPartitionPreservingIncrementalJob.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: </li>
+<li>Nested | </li>
+<li>Field | </li>
+<li><a href="#constructor.summary">Constr</a> | </li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail: </li>
+<li>Field | </li>
+<li><a href="#constructor.detail">Constr</a> | </li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>