blob: 18ff6df120e32d83bfbfdbb98b3c72a0b9bb14a4 [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 (1.8.0_161-google-v7) on Thu Oct 18 16:14:38 PDT 2018 -->
<title>org.apache.beam.sdk.transforms.windowing (Apache Beam 2.8.0-SNAPSHOT)</title>
<meta name="date" content="2018-10-18">
<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="org.apache.beam.sdk.transforms.windowing (Apache Beam 2.8.0-SNAPSHOT)";
}
}
catch(err) {
}
//-->
</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 class="navBarCell1Rev">Package</li>
<li>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/package-summary.html">Prev&nbsp;Package</a></li>
<li><a href="../../../../../../org/apache/beam/sdk/values/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/beam/sdk/transforms/windowing/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.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>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<p>@DefaultAnnotation(value=edu.umd.cs.findbugs.annotations.NonNull.class)
</p>
<h1 title="Package" class="title">Package&nbsp;org.apache.beam.sdk.transforms.windowing</h1>
<div class="docSummary">
<div class="block">Defines the <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/Window.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>Window</code></a> transform for dividing the
elements in a PCollection into windows, and the <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/Trigger.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>Trigger</code></a> for controlling when those elements are output.</div>
</div>
<p>See:&nbsp;<a href="#package.description">Description</a></p>
</div>
<div class="contentContainer">
<ul class="blockList">
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/AfterAll.html" title="class in org.apache.beam.sdk.transforms.windowing">AfterAll</a></td>
<td class="colLast">
<div class="block">A composite <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/Trigger.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>Trigger</code></a> that fires when all of its sub-triggers are ready.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/AfterEach.html" title="class in org.apache.beam.sdk.transforms.windowing">AfterEach</a></td>
<td class="colLast">
<div class="block">A composite <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/Trigger.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>Trigger</code></a> that executes its sub-triggers in order.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/AfterFirst.html" title="class in org.apache.beam.sdk.transforms.windowing">AfterFirst</a></td>
<td class="colLast">
<div class="block">A composite <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/Trigger.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>Trigger</code></a> that fires once after at least one of its sub-triggers have fired.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/AfterPane.html" title="class in org.apache.beam.sdk.transforms.windowing">AfterPane</a></td>
<td class="colLast">
<div class="block">A <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/Trigger.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>Trigger</code></a> that fires at some point after a specified number of input elements have
arrived.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/AfterProcessingTime.html" title="class in org.apache.beam.sdk.transforms.windowing">AfterProcessingTime</a></td>
<td class="colLast">
<div class="block">A <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/Trigger.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>Trigger</code></a> trigger that fires at a specified point in processing time, relative to when
input first arrives.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/AfterSynchronizedProcessingTime.html" title="class in org.apache.beam.sdk.transforms.windowing">AfterSynchronizedProcessingTime</a></td>
<td class="colLast">
<div class="block"><i><b>FOR INTERNAL USE ONLY</b></i>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/AfterWatermark.html" title="class in org.apache.beam.sdk.transforms.windowing">AfterWatermark</a></td>
<td class="colLast">
<div class="block"><code>AfterWatermark</code> triggers fire based on progress of the system watermark.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/AfterWatermark.AfterWatermarkEarlyAndLate.html" title="class in org.apache.beam.sdk.transforms.windowing">AfterWatermark.AfterWatermarkEarlyAndLate</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/AfterWatermark.FromEndOfWindow.html" title="class in org.apache.beam.sdk.transforms.windowing">AfterWatermark.FromEndOfWindow</a></td>
<td class="colLast">
<div class="block">A watermark trigger targeted relative to the end of the window.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/BoundedWindow.html" title="class in org.apache.beam.sdk.transforms.windowing">BoundedWindow</a></td>
<td class="colLast">
<div class="block">A <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/BoundedWindow.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>BoundedWindow</code></a> represents window information assigned to data elements.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/CalendarWindows.html" title="class in org.apache.beam.sdk.transforms.windowing">CalendarWindows</a></td>
<td class="colLast">
<div class="block">A collection of <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/WindowFn.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>WindowFn</code></a>s that windows values into calendar-based windows such as spans
of days, months, or years.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/CalendarWindows.DaysWindows.html" title="class in org.apache.beam.sdk.transforms.windowing">CalendarWindows.DaysWindows</a></td>
<td class="colLast">
<div class="block">A <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/WindowFn.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>WindowFn</code></a> that windows elements into periods measured by days.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/CalendarWindows.MonthsWindows.html" title="class in org.apache.beam.sdk.transforms.windowing">CalendarWindows.MonthsWindows</a></td>
<td class="colLast">
<div class="block">A <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/WindowFn.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>WindowFn</code></a> that windows elements into periods measured by months.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/CalendarWindows.YearsWindows.html" title="class in org.apache.beam.sdk.transforms.windowing">CalendarWindows.YearsWindows</a></td>
<td class="colLast">
<div class="block">A <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/WindowFn.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>WindowFn</code></a> that windows elements into periods measured by years.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/DefaultTrigger.html" title="class in org.apache.beam.sdk.transforms.windowing">DefaultTrigger</a></td>
<td class="colLast">
<div class="block">A trigger that is equivalent to <code>Repeatedly.forever(AfterWatermark.pastEndOfWindow())</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/FixedWindows.html" title="class in org.apache.beam.sdk.transforms.windowing">FixedWindows</a></td>
<td class="colLast">
<div class="block">A <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/WindowFn.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>WindowFn</code></a> that windows values into fixed-size timestamp-based windows.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/GlobalWindow.html" title="class in org.apache.beam.sdk.transforms.windowing">GlobalWindow</a></td>
<td class="colLast">
<div class="block">The default window into which all data is placed (via <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/GlobalWindows.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>GlobalWindows</code></a>).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/GlobalWindow.Coder.html" title="class in org.apache.beam.sdk.transforms.windowing">GlobalWindow.Coder</a></td>
<td class="colLast">
<div class="block"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/GlobalWindow.Coder.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>GlobalWindow.Coder</code></a> for encoding and decoding <code>GlobalWindow</code>s.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/GlobalWindows.html" title="class in org.apache.beam.sdk.transforms.windowing">GlobalWindows</a></td>
<td class="colLast">
<div class="block">A <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/WindowFn.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>WindowFn</code></a> that assigns all data to the same window.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/IntervalWindow.html" title="class in org.apache.beam.sdk.transforms.windowing">IntervalWindow</a></td>
<td class="colLast">
<div class="block">An implementation of <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/BoundedWindow.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>BoundedWindow</code></a> that represents an interval from <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/IntervalWindow.html#start"><code>IntervalWindow.start</code></a>
(inclusive) to <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/IntervalWindow.html#end"><code>IntervalWindow.end</code></a> (exclusive).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/IntervalWindow.IntervalWindowCoder.html" title="class in org.apache.beam.sdk.transforms.windowing">IntervalWindow.IntervalWindowCoder</a></td>
<td class="colLast">
<div class="block">Encodes an <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/IntervalWindow.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>IntervalWindow</code></a> as a pair of its upper bound and duration.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/InvalidWindows.html" title="class in org.apache.beam.sdk.transforms.windowing">InvalidWindows</a>&lt;W extends <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/BoundedWindow.html" title="class in org.apache.beam.sdk.transforms.windowing">BoundedWindow</a>&gt;</td>
<td class="colLast">
<div class="block">A <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/WindowFn.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>WindowFn</code></a> that represents an invalid pipeline state.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/MergeOverlappingIntervalWindows.html" title="class in org.apache.beam.sdk.transforms.windowing">MergeOverlappingIntervalWindows</a></td>
<td class="colLast">
<div class="block"><b>For internal use only; no backwards compatibility guarantees.</b></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/Never.html" title="class in org.apache.beam.sdk.transforms.windowing">Never</a></td>
<td class="colLast">
<div class="block">A <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/Trigger.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>Trigger</code></a> which never fires.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/Never.NeverTrigger.html" title="class in org.apache.beam.sdk.transforms.windowing">Never.NeverTrigger</a></td>
<td class="colLast">
<div class="block">The actual trigger class for <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/Never.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>Never</code></a> triggers.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/NonMergingWindowFn.html" title="class in org.apache.beam.sdk.transforms.windowing">NonMergingWindowFn</a>&lt;T,W extends <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/BoundedWindow.html" title="class in org.apache.beam.sdk.transforms.windowing">BoundedWindow</a>&gt;</td>
<td class="colLast">
<div class="block">Abstract base class for <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/WindowFn.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>WindowFns</code></a> that do not merge windows.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/OrFinallyTrigger.html" title="class in org.apache.beam.sdk.transforms.windowing">OrFinallyTrigger</a></td>
<td class="colLast">
<div class="block">A <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/Trigger.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>Trigger</code></a> that executes according to its main trigger until its "finally" trigger fires.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/PaneInfo.html" title="class in org.apache.beam.sdk.transforms.windowing">PaneInfo</a></td>
<td class="colLast">
<div class="block">Provides information about the pane an element belongs to.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/PaneInfo.PaneInfoCoder.html" title="class in org.apache.beam.sdk.transforms.windowing">PaneInfo.PaneInfoCoder</a></td>
<td class="colLast">
<div class="block">A Coder for encoding PaneInfo instances.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/PartitioningWindowFn.html" title="class in org.apache.beam.sdk.transforms.windowing">PartitioningWindowFn</a>&lt;T,W extends <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/BoundedWindow.html" title="class in org.apache.beam.sdk.transforms.windowing">BoundedWindow</a>&gt;</td>
<td class="colLast">
<div class="block">A <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/WindowFn.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>WindowFn</code></a> that places each value into exactly one window based on its timestamp and
never merges windows.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/Repeatedly.html" title="class in org.apache.beam.sdk.transforms.windowing">Repeatedly</a></td>
<td class="colLast">
<div class="block">A <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/Trigger.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>Trigger</code></a> that fires according to its subtrigger forever.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/ReshuffleTrigger.html" title="class in org.apache.beam.sdk.transforms.windowing">ReshuffleTrigger</a>&lt;W extends <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/BoundedWindow.html" title="class in org.apache.beam.sdk.transforms.windowing">BoundedWindow</a>&gt;</td>
<td class="colLast">Deprecated
<div class="block"><span class="deprecationComment">The intended side effect of <a href="../../../../../../org/apache/beam/sdk/transforms/Reshuffle.html" title="class in org.apache.beam.sdk.transforms"><code>Reshuffle</code></a> is not portable; it will likely be
removed</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/Sessions.html" title="class in org.apache.beam.sdk.transforms.windowing">Sessions</a></td>
<td class="colLast">
<div class="block">A <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/WindowFn.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>WindowFn</code></a> that windows values into sessions separated by periods with no input for at
least the duration specified by <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/Sessions.html#getGapDuration--"><code>Sessions.getGapDuration()</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/SlidingWindows.html" title="class in org.apache.beam.sdk.transforms.windowing">SlidingWindows</a></td>
<td class="colLast">
<div class="block">A <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/WindowFn.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>WindowFn</code></a> that windows values into possibly overlapping fixed-size timestamp-based
windows.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/TimestampTransform.html" title="class in org.apache.beam.sdk.transforms.windowing">TimestampTransform</a></td>
<td class="colLast">
<div class="block"><b><i>For internal use only; no backwards-compatibility guarantees.</i></b></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/TimestampTransform.AlignTo.html" title="class in org.apache.beam.sdk.transforms.windowing">TimestampTransform.AlignTo</a></td>
<td class="colLast">
<div class="block"><b><i>For internal use only; no backwards-compatibility guarantees.</i></b></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/TimestampTransform.Delay.html" title="class in org.apache.beam.sdk.transforms.windowing">TimestampTransform.Delay</a></td>
<td class="colLast">
<div class="block"><b><i>For internal use only; no backwards-compatibility guarantees.</i></b></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/Trigger.html" title="class in org.apache.beam.sdk.transforms.windowing">Trigger</a></td>
<td class="colLast">
<div class="block">Triggers control when the elements for a specific key and window are output.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/Trigger.OnceTrigger.html" title="class in org.apache.beam.sdk.transforms.windowing">Trigger.OnceTrigger</a></td>
<td class="colLast">
<div class="block"><b><i>For internal use only; no backwards-compatibility guarantees.</i></b></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/Window.html" title="class in org.apache.beam.sdk.transforms.windowing">Window</a>&lt;T&gt;</td>
<td class="colLast">
<div class="block"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/Window.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>Window</code></a> logically divides up or groups the elements of a <a href="../../../../../../org/apache/beam/sdk/values/PCollection.html" title="class in org.apache.beam.sdk.values"><code>PCollection</code></a> into finite
windows according to a <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/WindowFn.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>WindowFn</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/Window.Assign.html" title="class in org.apache.beam.sdk.transforms.windowing">Window.Assign</a>&lt;T&gt;</td>
<td class="colLast">
<div class="block">A Primitive <a href="../../../../../../org/apache/beam/sdk/transforms/PTransform.html" title="class in org.apache.beam.sdk.transforms"><code>PTransform</code></a> that assigns windows to elements based on a <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/WindowFn.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>WindowFn</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/WindowFn.html" title="class in org.apache.beam.sdk.transforms.windowing">WindowFn</a>&lt;T,W extends <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/BoundedWindow.html" title="class in org.apache.beam.sdk.transforms.windowing">BoundedWindow</a>&gt;</td>
<td class="colLast">
<div class="block">The argument to the <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/Window.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>Window</code></a> transform used to assign elements into windows and to
determine how windows are merged.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/WindowMappingFn.html" title="class in org.apache.beam.sdk.transforms.windowing">WindowMappingFn</a>&lt;TargetWindowT extends <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/BoundedWindow.html" title="class in org.apache.beam.sdk.transforms.windowing">BoundedWindow</a>&gt;</td>
<td class="colLast">
<div class="block"><b>Experimental! This will be ready for users eventually, but should be considered internal for
now.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Summary table, listing enums, and an explanation">
<caption><span>Enum Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Enum</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/PaneInfo.Timing.html" title="enum in org.apache.beam.sdk.transforms.windowing">PaneInfo.Timing</a></td>
<td class="colLast">
<div class="block">Enumerates the possibilities for the timing of this pane firing related to the input and output
watermarks for its computation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/TimestampCombiner.html" title="enum in org.apache.beam.sdk.transforms.windowing">TimestampCombiner</a></td>
<td class="colLast">
<div class="block">Policies for combining timestamps that occur within a window.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/Window.ClosingBehavior.html" title="enum in org.apache.beam.sdk.transforms.windowing">Window.ClosingBehavior</a></td>
<td class="colLast">
<div class="block">Specifies the conditions under which a final pane will be created when a window is permanently
closed.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/Window.OnTimeBehavior.html" title="enum in org.apache.beam.sdk.transforms.windowing">Window.OnTimeBehavior</a></td>
<td class="colLast">
<div class="block">Specifies the conditions under which an on-time pane will be created when a window is closed.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Exception Summary table, listing exceptions, and an explanation">
<caption><span>Exception Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Exception</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../org/apache/beam/sdk/transforms/windowing/IncompatibleWindowException.html" title="class in org.apache.beam.sdk.transforms.windowing">IncompatibleWindowException</a></td>
<td class="colLast">
<div class="block">Exception thrown by <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/WindowFn.html#verifyCompatibility-org.apache.beam.sdk.transforms.windowing.WindowFn-"><code>WindowFn.verifyCompatibility(WindowFn)</code></a> if two compared WindowFns are
not compatible, including the explanation of incompatibility.</div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="package.description">
<!-- -->
</a>
<h2 title="Package org.apache.beam.sdk.transforms.windowing Description">Package org.apache.beam.sdk.transforms.windowing Description</h2>
<div class="block">Defines the <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/Window.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>Window</code></a> transform for dividing the
elements in a PCollection into windows, and the <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/Trigger.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>Trigger</code></a> for controlling when those elements are output.
<p><code>Window</code> logically divides up or groups the elements of a <a href="../../../../../../org/apache/beam/sdk/values/PCollection.html" title="class in org.apache.beam.sdk.values"><code>PCollection</code></a> into finite windows according to a <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/WindowFn.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>WindowFn</code></a>. The output of <code>Window</code> contains the
same elements as input, but they have been logically assigned to windows. The next <a href="../../../../../../org/apache/beam/sdk/transforms/GroupByKey.html" title="class in org.apache.beam.sdk.transforms"><code>GroupByKey</code></a>s, including one within composite transforms, will
group by the combination of keys and windows.
<p>Windowing a <code>PCollection</code> allows chunks of it to be processed individually, before the
entire <code>PCollection</code> is available. This is especially important for <code>PCollection</code>s
with unbounded size, since the full <code>PCollection</code> is never available at once.
<p>For <code>PCollection</code>s with a bounded size, by default, all data is implicitly in a single
window, and this replicates conventional batch mode. However, windowing can still be a convenient
way to express time-sliced algorithms over bounded <code>PCollection</code>s.
<p>As elements are assigned to a window, they are are placed into a pane. When the trigger fires
all of the elements in the current pane are output.
<p>The <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/DefaultTrigger.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>DefaultTrigger</code></a> will output a window when
the system watermark passes the end of the window. See <a href="../../../../../../org/apache/beam/sdk/transforms/windowing/AfterWatermark.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>AfterWatermark</code></a> for details on the watermark.</div>
</div>
<!-- ======= 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 class="navBarCell1Rev">Package</li>
<li>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/package-summary.html">Prev&nbsp;Package</a></li>
<li><a href="../../../../../../org/apache/beam/sdk/values/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/beam/sdk/transforms/windowing/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.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>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>