blob: e725091bb4a390d0b0c3a2544d1985da56c69e4e [file] [log] [blame]
<!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 -->
<title>WatermarkEstimators.MonotonicallyIncreasing (Apache Beam 2.47.0)</title>
<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="WatermarkEstimators.MonotonicallyIncreasing (Apache Beam 2.47.0)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":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="../../../../../../org/apache/beam/sdk/transforms/splittabledofn/WatermarkEstimators.Manual.html" title="class in org.apache.beam.sdk.transforms.splittabledofn"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/beam/sdk/transforms/splittabledofn/WatermarkEstimators.WallTime.html" title="class in org.apache.beam.sdk.transforms.splittabledofn"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/beam/sdk/transforms/splittabledofn/WatermarkEstimators.MonotonicallyIncreasing.html" target="_top">Frames</a></li>
<li><a href="WatermarkEstimators.MonotonicallyIncreasing.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.beam.sdk.transforms.splittabledofn</div>
<h2 title="Class WatermarkEstimators.MonotonicallyIncreasing" class="title">Class WatermarkEstimators.MonotonicallyIncreasing</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.beam.sdk.transforms.splittabledofn.WatermarkEstimators.MonotonicallyIncreasing</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../../org/apache/beam/sdk/transforms/splittabledofn/TimestampObservingWatermarkEstimator.html" title="interface in org.apache.beam.sdk.transforms.splittabledofn">TimestampObservingWatermarkEstimator</a>&lt;<a href="https://static.javadoc.io/joda-time/joda-time/2.10.10/org/joda/time/Instant.html?is-external=true" title="class or interface in org.joda.time">Instant</a>&gt;, <a href="../../../../../../org/apache/beam/sdk/transforms/splittabledofn/WatermarkEstimator.html" title="interface in org.apache.beam.sdk.transforms.splittabledofn">WatermarkEstimator</a>&lt;<a href="https://static.javadoc.io/joda-time/joda-time/2.10.10/org/joda/time/Instant.html?is-external=true" title="class or interface in org.joda.time">Instant</a>&gt;</dd>
</dl>
<dl>
<dt>Enclosing class:</dt>
<dd><a href="../../../../../../org/apache/beam/sdk/transforms/splittabledofn/WatermarkEstimators.html" title="class in org.apache.beam.sdk.transforms.splittabledofn">WatermarkEstimators</a></dd>
</dl>
<hr>
<br>
<pre>public static class <span class="typeNameLabel">WatermarkEstimators.MonotonicallyIncreasing</span>
extends java.lang.Object
implements <a href="../../../../../../org/apache/beam/sdk/transforms/splittabledofn/TimestampObservingWatermarkEstimator.html" title="interface in org.apache.beam.sdk.transforms.splittabledofn">TimestampObservingWatermarkEstimator</a>&lt;<a href="https://static.javadoc.io/joda-time/joda-time/2.10.10/org/joda/time/Instant.html?is-external=true" title="class or interface in org.joda.time">Instant</a>&gt;</pre>
<div class="block">A watermark estimator that observes timestamps of records output from a DoFn reporting the
timestamp of the last element seen as the current watermark.
<p>Note that this watermark estimator expects output timestamps in monotonically increasing
order. If they are not, then the watermark will advance based upon the last observed timestamp
as long as it is greater then any previously reported watermark.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/sdk/transforms/splittabledofn/WatermarkEstimators.MonotonicallyIncreasing.html#MonotonicallyIncreasing-org.joda.time.Instant-">MonotonicallyIncreasing</a></span>(<a href="https://static.javadoc.io/joda-time/joda-time/2.10.10/org/joda/time/Instant.html?is-external=true" title="class or interface in org.joda.time">Instant</a>&nbsp;watermark)</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="https://static.javadoc.io/joda-time/joda-time/2.10.10/org/joda/time/Instant.html?is-external=true" title="class or interface in org.joda.time">Instant</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/sdk/transforms/splittabledofn/WatermarkEstimators.MonotonicallyIncreasing.html#currentWatermark--">currentWatermark</a></span>()</code>
<div class="block">Return estimated output watermark.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="https://static.javadoc.io/joda-time/joda-time/2.10.10/org/joda/time/Instant.html?is-external=true" title="class or interface in org.joda.time">Instant</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/sdk/transforms/splittabledofn/WatermarkEstimators.MonotonicallyIncreasing.html#getState--">getState</a></span>()</code>
<div class="block">Get current state of the <a href="../../../../../../org/apache/beam/sdk/transforms/splittabledofn/WatermarkEstimator.html" title="interface in org.apache.beam.sdk.transforms.splittabledofn"><code>WatermarkEstimator</code></a> instance, which can be used to recreate the
<a href="../../../../../../org/apache/beam/sdk/transforms/splittabledofn/WatermarkEstimator.html" title="interface in org.apache.beam.sdk.transforms.splittabledofn"><code>WatermarkEstimator</code></a> when processing the restriction.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/beam/sdk/transforms/splittabledofn/WatermarkEstimators.MonotonicallyIncreasing.html#observeTimestamp-org.joda.time.Instant-">observeTimestamp</a></span>(<a href="https://static.javadoc.io/joda-time/joda-time/2.10.10/org/joda/time/Instant.html?is-external=true" title="class or interface in org.joda.time">Instant</a>&nbsp;timestamp)</code>
<div class="block">Update watermark estimate with latest output timestamp.</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="MonotonicallyIncreasing-org.joda.time.Instant-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>MonotonicallyIncreasing</h4>
<pre>public&nbsp;MonotonicallyIncreasing(<a href="https://static.javadoc.io/joda-time/joda-time/2.10.10/org/joda/time/Instant.html?is-external=true" title="class or interface in org.joda.time">Instant</a>&nbsp;watermark)</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="observeTimestamp-org.joda.time.Instant-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>observeTimestamp</h4>
<pre>public&nbsp;void&nbsp;observeTimestamp(<a href="https://static.javadoc.io/joda-time/joda-time/2.10.10/org/joda/time/Instant.html?is-external=true" title="class or interface in org.joda.time">Instant</a>&nbsp;timestamp)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/beam/sdk/transforms/splittabledofn/TimestampObservingWatermarkEstimator.html#observeTimestamp-org.joda.time.Instant-">TimestampObservingWatermarkEstimator</a></code></span></div>
<div class="block">Update watermark estimate with latest output timestamp. This is called with the timestamp of
every element output from the DoFn.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/beam/sdk/transforms/splittabledofn/TimestampObservingWatermarkEstimator.html#observeTimestamp-org.joda.time.Instant-">observeTimestamp</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/beam/sdk/transforms/splittabledofn/TimestampObservingWatermarkEstimator.html" title="interface in org.apache.beam.sdk.transforms.splittabledofn">TimestampObservingWatermarkEstimator</a>&lt;<a href="https://static.javadoc.io/joda-time/joda-time/2.10.10/org/joda/time/Instant.html?is-external=true" title="class or interface in org.joda.time">Instant</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a name="currentWatermark--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>currentWatermark</h4>
<pre>public&nbsp;<a href="https://static.javadoc.io/joda-time/joda-time/2.10.10/org/joda/time/Instant.html?is-external=true" title="class or interface in org.joda.time">Instant</a>&nbsp;currentWatermark()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/beam/sdk/transforms/splittabledofn/WatermarkEstimator.html#currentWatermark--">WatermarkEstimator</a></code></span></div>
<div class="block">Return estimated output watermark. This method must return monotonically increasing watermarks
across instances that are constructed from prior state.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/beam/sdk/transforms/splittabledofn/WatermarkEstimator.html#currentWatermark--">currentWatermark</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/beam/sdk/transforms/splittabledofn/WatermarkEstimator.html" title="interface in org.apache.beam.sdk.transforms.splittabledofn">WatermarkEstimator</a>&lt;<a href="https://static.javadoc.io/joda-time/joda-time/2.10.10/org/joda/time/Instant.html?is-external=true" title="class or interface in org.joda.time">Instant</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a name="getState--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getState</h4>
<pre>public&nbsp;<a href="https://static.javadoc.io/joda-time/joda-time/2.10.10/org/joda/time/Instant.html?is-external=true" title="class or interface in org.joda.time">Instant</a>&nbsp;getState()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/beam/sdk/transforms/splittabledofn/WatermarkEstimator.html#getState--">WatermarkEstimator</a></code></span></div>
<div class="block">Get current state of the <a href="../../../../../../org/apache/beam/sdk/transforms/splittabledofn/WatermarkEstimator.html" title="interface in org.apache.beam.sdk.transforms.splittabledofn"><code>WatermarkEstimator</code></a> instance, which can be used to recreate the
<a href="../../../../../../org/apache/beam/sdk/transforms/splittabledofn/WatermarkEstimator.html" title="interface in org.apache.beam.sdk.transforms.splittabledofn"><code>WatermarkEstimator</code></a> when processing the restriction. See <code>DoFn.NewWatermarkEstimator</code> for additional details.
<p>The internal state of the estimator must not be mutated by this method.
<p>The state returned must not be mutated.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/beam/sdk/transforms/splittabledofn/WatermarkEstimator.html#getState--">getState</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/beam/sdk/transforms/splittabledofn/WatermarkEstimator.html" title="interface in org.apache.beam.sdk.transforms.splittabledofn">WatermarkEstimator</a>&lt;<a href="https://static.javadoc.io/joda-time/joda-time/2.10.10/org/joda/time/Instant.html?is-external=true" title="class or interface in org.joda.time">Instant</a>&gt;</code></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="../../../../../../org/apache/beam/sdk/transforms/splittabledofn/WatermarkEstimators.Manual.html" title="class in org.apache.beam.sdk.transforms.splittabledofn"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/beam/sdk/transforms/splittabledofn/WatermarkEstimators.WallTime.html" title="class in org.apache.beam.sdk.transforms.splittabledofn"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/beam/sdk/transforms/splittabledofn/WatermarkEstimators.MonotonicallyIncreasing.html" target="_top">Frames</a></li>
<li><a href="WatermarkEstimators.MonotonicallyIncreasing.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>