blob: c4467eec512b4d5d2c9289e7cbfd91d297fc9213 [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_181-google-v7) on Mon Jan 27 16:42:30 PST 2020 -->
<title>ApproximateQuantiles.ApproximateQuantilesCombineFn (Apache Beam 2.20.0-SNAPSHOT)</title>
<meta name="date" content="2020-01-27">
<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="ApproximateQuantiles.ApproximateQuantilesCombineFn (Apache Beam 2.20.0-SNAPSHOT)";
}
}
catch(err) {
}
//-->
var methods = {"i0":9,"i1":9,"i2":9,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static 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/ApproximateQuantiles.html" title="class in org.apache.beam.sdk.transforms"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/beam/sdk/transforms/ApproximateUnique.html" title="class in org.apache.beam.sdk.transforms"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html" target="_top">Frames</a></li>
<li><a href="ApproximateQuantiles.ApproximateQuantilesCombineFn.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.classes.inherited.from.class.org.apache.beam.sdk.transforms.Combine.AccumulatingCombineFn">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.beam.sdk.transforms</div>
<h2 title="Class ApproximateQuantiles.ApproximateQuantilesCombineFn" class="title">Class ApproximateQuantiles.ApproximateQuantilesCombineFn&lt;T,ComparatorT extends java.util.Comparator&lt;T&gt; &amp; java.io.Serializable&gt;</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/beam/sdk/transforms/Combine.CombineFn.html" title="class in org.apache.beam.sdk.transforms">org.apache.beam.sdk.transforms.Combine.CombineFn</a>&lt;InputT,AccumT,OutputT&gt;</li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/beam/sdk/transforms/Combine.AccumulatingCombineFn.html" title="class in org.apache.beam.sdk.transforms">org.apache.beam.sdk.transforms.Combine.AccumulatingCombineFn</a>&lt;T,org.apache.beam.sdk.transforms.ApproximateQuantiles.QuantileState&lt;T,ComparatorT&gt;,java.util.List&lt;T&gt;&gt;</li>
<li>
<ul class="inheritance">
<li>org.apache.beam.sdk.transforms.ApproximateQuantiles.ApproximateQuantilesCombineFn&lt;T,ComparatorT&gt;</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - the type of the values being combined</dd>
</dl>
<dl>
<dt>All Implemented Interfaces:</dt>
<dd>java.io.Serializable, <a href="../../../../../org/apache/beam/sdk/transforms/CombineFnBase.GlobalCombineFn.html" title="interface in org.apache.beam.sdk.transforms">CombineFnBase.GlobalCombineFn</a>&lt;T,org.apache.beam.sdk.transforms.ApproximateQuantiles.QuantileState&lt;T,ComparatorT&gt;,java.util.List&lt;T&gt;&gt;, <a href="../../../../../org/apache/beam/sdk/transforms/display/HasDisplayData.html" title="interface in org.apache.beam.sdk.transforms.display">HasDisplayData</a></dd>
</dl>
<dl>
<dt>Enclosing class:</dt>
<dd><a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.html" title="class in org.apache.beam.sdk.transforms">ApproximateQuantiles</a></dd>
</dl>
<hr>
<br>
<pre>public static class <span class="typeNameLabel">ApproximateQuantiles.ApproximateQuantilesCombineFn&lt;T,ComparatorT extends java.util.Comparator&lt;T&gt; &amp; java.io.Serializable&gt;</span>
extends <a href="../../../../../org/apache/beam/sdk/transforms/Combine.AccumulatingCombineFn.html" title="class in org.apache.beam.sdk.transforms">Combine.AccumulatingCombineFn</a>&lt;T,org.apache.beam.sdk.transforms.ApproximateQuantiles.QuantileState&lt;T,ComparatorT&gt;,java.util.List&lt;T&gt;&gt;</pre>
<div class="block">The <code>ApproximateQuantilesCombineFn</code> combiner gives an idea of the distribution of a
collection of values using approximate <code>N</code>-tiles. The output of this combiner is a <code>List</code> of size <code>numQuantiles</code>, containing the input values' minimum value, <code>numQuantiles-2</code> intermediate values, and maximum value, in sorted order, so for traditional
<code>N</code>-tiles, one should use <code>ApproximateQuantilesCombineFn#create(N+1)</code>.
<p>If there are fewer values to combine than <code>numQuantiles</code>, then the result <code>List</code>
will contain all the values being combined, in sorted order.
<p>Values are ordered using either a specified <code>Comparator</code> or the values' natural
ordering.
<p>To evaluate the quantiles we use the "New Algorithm" described here:
<pre>
[MRL98] Manku, Rajagopalan &amp; Lindsay, "Approximate Medians and other
Quantiles in One Pass and with Limited Memory", Proc. 1998 ACM
SIGMOD, Vol 27, No 2, p 426-435, June 1998.
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.6.6513&amp;rep=rep1&amp;type=pdf
</pre>
<p>The default error bound is <code>1 / N</code>, though in practice the accuracy tends to be much
better.
<p>See <a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html#create-int-ComparatorT-long-double-"><code>create(int, Comparator, long, double)</code></a> for more information about the meaning of
<code>epsilon</code>, and <a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html#withEpsilon-double-"><code>withEpsilon(double)</code></a> for a convenient way to adjust it.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../serialized-form.html#org.apache.beam.sdk.transforms.ApproximateQuantiles.ApproximateQuantilesCombineFn">Serialized Form</a></dd>
</dl>
</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>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.beam.sdk.transforms.Combine.AccumulatingCombineFn">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.beam.sdk.transforms.<a href="../../../../../org/apache/beam/sdk/transforms/Combine.AccumulatingCombineFn.html" title="class in org.apache.beam.sdk.transforms">Combine.AccumulatingCombineFn</a></h3>
<code><a href="../../../../../org/apache/beam/sdk/transforms/Combine.AccumulatingCombineFn.Accumulator.html" title="interface in org.apache.beam.sdk.transforms">Combine.AccumulatingCombineFn.Accumulator</a>&lt;<a href="../../../../../org/apache/beam/sdk/transforms/Combine.AccumulatingCombineFn.Accumulator.html" title="type parameter in Combine.AccumulatingCombineFn.Accumulator">InputT</a>,<a href="../../../../../org/apache/beam/sdk/transforms/Combine.AccumulatingCombineFn.Accumulator.html" title="type parameter in Combine.AccumulatingCombineFn.Accumulator">AccumT</a>,<a href="../../../../../org/apache/beam/sdk/transforms/Combine.AccumulatingCombineFn.Accumulator.html" title="type parameter in Combine.AccumulatingCombineFn.Accumulator">OutputT</a>&gt;</code></li>
</ul>
</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">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html#DEFAULT_MAX_NUM_ELEMENTS">DEFAULT_MAX_NUM_ELEMENTS</a></span></code>
<div class="block">The cost (in time and space) to compute quantiles to a given accuracy is a function of the
total number of elements in the data set.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></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>static &lt;T extends java.lang.Comparable&lt;T&gt;&gt;<br><a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html" title="class in org.apache.beam.sdk.transforms">ApproximateQuantiles.ApproximateQuantilesCombineFn</a>&lt;T,<a href="../../../../../org/apache/beam/sdk/transforms/Top.Natural.html" title="class in org.apache.beam.sdk.transforms">Top.Natural</a>&lt;T&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html#create-int-">create</a></span>(int&nbsp;numQuantiles)</code>
<div class="block">Like <a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html#create-int-ComparatorT-"><code>create(int, Comparator)</code></a>, but sorts values using their natural ordering.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static &lt;T,ComparatorT extends java.util.Comparator&lt;T&gt; &amp; java.io.Serializable&gt;<br><a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html" title="class in org.apache.beam.sdk.transforms">ApproximateQuantiles.ApproximateQuantilesCombineFn</a>&lt;T,ComparatorT&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html#create-int-ComparatorT-">create</a></span>(int&nbsp;numQuantiles,
ComparatorT&nbsp;compareFn)</code>
<div class="block">Returns an approximate quantiles combiner with the given <code>compareFn</code> and desired number
of quantiles.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static &lt;T,ComparatorT extends java.util.Comparator&lt;T&gt; &amp; java.io.Serializable&gt;<br><a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html" title="class in org.apache.beam.sdk.transforms">ApproximateQuantiles.ApproximateQuantilesCombineFn</a>&lt;T,ComparatorT&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html#create-int-ComparatorT-long-double-">create</a></span>(int&nbsp;numQuantiles,
ComparatorT&nbsp;compareFn,
long&nbsp;maxNumElements,
double&nbsp;epsilon)</code>
<div class="block">Creates an approximate quantiles combiner with the given <code>compareFn</code> and desired number
of quantiles.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>org.apache.beam.sdk.transforms.ApproximateQuantiles.QuantileState&lt;<a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html" title="type parameter in ApproximateQuantiles.ApproximateQuantilesCombineFn">T</a>,<a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html" title="type parameter in ApproximateQuantiles.ApproximateQuantilesCombineFn">ComparatorT</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html#createAccumulator--">createAccumulator</a></span>()</code>
<div class="block">Returns a new, mutable accumulator value, representing the accumulation of zero input values.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>java.lang.reflect.TypeVariable&lt;?&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html#getAccumTVariable--">getAccumTVariable</a></span>()</code>
<div class="block">Returns the <code>TypeVariable</code> of <code>AccumT</code>.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders">Coder</a>&lt;org.apache.beam.sdk.transforms.ApproximateQuantiles.QuantileState&lt;<a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html" title="type parameter in ApproximateQuantiles.ApproximateQuantilesCombineFn">T</a>,<a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html" title="type parameter in ApproximateQuantiles.ApproximateQuantilesCombineFn">ComparatorT</a>&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html#getAccumulatorCoder-org.apache.beam.sdk.coders.CoderRegistry-org.apache.beam.sdk.coders.Coder-">getAccumulatorCoder</a></span>(<a href="../../../../../org/apache/beam/sdk/coders/CoderRegistry.html" title="class in org.apache.beam.sdk.coders">CoderRegistry</a>&nbsp;registry,
<a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders">Coder</a>&lt;<a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html" title="type parameter in ApproximateQuantiles.ApproximateQuantilesCombineFn">T</a>&gt;&nbsp;elementCoder)</code>
<div class="block">Returns the <code>Coder</code> to use for accumulator <code>AccumT</code> values, or null if it is not
able to be inferred.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders">Coder</a>&lt;OutputT&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html#getDefaultOutputCoder-org.apache.beam.sdk.coders.CoderRegistry-org.apache.beam.sdk.coders.Coder-">getDefaultOutputCoder</a></span>(<a href="../../../../../org/apache/beam/sdk/coders/CoderRegistry.html" title="class in org.apache.beam.sdk.coders">CoderRegistry</a>&nbsp;registry,
<a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders">Coder</a>&lt;InputT&gt;&nbsp;inputCoder)</code>
<div class="block">Returns the <code>Coder</code> to use by default for output <code>OutputT</code> values, or null if it
is not able to be inferred.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html#getIncompatibleGlobalWindowErrorMessage--">getIncompatibleGlobalWindowErrorMessage</a></span>()</code>
<div class="block">Returns the error message for not supported default values in Combine.globally().</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>java.lang.reflect.TypeVariable&lt;?&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html#getInputTVariable--">getInputTVariable</a></span>()</code>
<div class="block">Returns the <code>TypeVariable</code> of <code>InputT</code>.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>java.lang.reflect.TypeVariable&lt;?&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html#getOutputTVariable--">getOutputTVariable</a></span>()</code>
<div class="block">Returns the <code>TypeVariable</code> of <code>OutputT</code>.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html#populateDisplayData-org.apache.beam.sdk.transforms.display.DisplayData.Builder-">populateDisplayData</a></span>(<a href="../../../../../org/apache/beam/sdk/transforms/display/DisplayData.Builder.html" title="interface in org.apache.beam.sdk.transforms.display">DisplayData.Builder</a>&nbsp;builder)</code>
<div class="block">Register display data for the given transform or component.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html" title="class in org.apache.beam.sdk.transforms">ApproximateQuantiles.ApproximateQuantilesCombineFn</a>&lt;<a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html" title="type parameter in ApproximateQuantiles.ApproximateQuantilesCombineFn">T</a>,<a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html" title="type parameter in ApproximateQuantiles.ApproximateQuantilesCombineFn">ComparatorT</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html#withEpsilon-double-">withEpsilon</a></span>(double&nbsp;epsilon)</code>
<div class="block">Returns an <code>ApproximateQuantilesCombineFn</code> that's like this one except that it uses the
specified <code>epsilon</code> value.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html" title="class in org.apache.beam.sdk.transforms">ApproximateQuantiles.ApproximateQuantilesCombineFn</a>&lt;<a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html" title="type parameter in ApproximateQuantiles.ApproximateQuantilesCombineFn">T</a>,<a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html" title="type parameter in ApproximateQuantiles.ApproximateQuantilesCombineFn">ComparatorT</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html#withMaxInputSize-long-">withMaxInputSize</a></span>(long&nbsp;maxNumElements)</code>
<div class="block">Returns an <code>ApproximateQuantilesCombineFn</code> that's like this one except that it uses the
specified <code>maxNumElements</code> value.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.beam.sdk.transforms.Combine.AccumulatingCombineFn">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.beam.sdk.transforms.<a href="../../../../../org/apache/beam/sdk/transforms/Combine.AccumulatingCombineFn.html" title="class in org.apache.beam.sdk.transforms">Combine.AccumulatingCombineFn</a></h3>
<code><a href="../../../../../org/apache/beam/sdk/transforms/Combine.AccumulatingCombineFn.html#addInput-AccumT-InputT-">addInput</a>, <a href="../../../../../org/apache/beam/sdk/transforms/Combine.AccumulatingCombineFn.html#extractOutput-AccumT-">extractOutput</a>, <a href="../../../../../org/apache/beam/sdk/transforms/Combine.AccumulatingCombineFn.html#mergeAccumulators-java.lang.Iterable-">mergeAccumulators</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.beam.sdk.transforms.Combine.CombineFn">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.beam.sdk.transforms.<a href="../../../../../org/apache/beam/sdk/transforms/Combine.CombineFn.html" title="class in org.apache.beam.sdk.transforms">Combine.CombineFn</a></h3>
<code><a href="../../../../../org/apache/beam/sdk/transforms/Combine.CombineFn.html#apply-java.lang.Iterable-">apply</a>, <a href="../../../../../org/apache/beam/sdk/transforms/Combine.CombineFn.html#compact-AccumT-">compact</a>, <a href="../../../../../org/apache/beam/sdk/transforms/Combine.CombineFn.html#defaultValue--">defaultValue</a>, <a href="../../../../../org/apache/beam/sdk/transforms/Combine.CombineFn.html#getInputType--">getInputType</a>, <a href="../../../../../org/apache/beam/sdk/transforms/Combine.CombineFn.html#getOutputType--">getOutputType</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="DEFAULT_MAX_NUM_ELEMENTS">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DEFAULT_MAX_NUM_ELEMENTS</h4>
<pre>public static final&nbsp;long DEFAULT_MAX_NUM_ELEMENTS</pre>
<div class="block">The cost (in time and space) to compute quantiles to a given accuracy is a function of the
total number of elements in the data set. If an estimate is not known or specified, we use
this as an upper bound. If this is too low, errors may exceed the requested tolerance; if too
high, efficiency may be non-optimal. The impact is logarithmic with respect to this value, so
this default should be fine for most uses.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.beam.sdk.transforms.ApproximateQuantiles.ApproximateQuantilesCombineFn.DEFAULT_MAX_NUM_ELEMENTS">Constant Field Values</a></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="create-int-java.util.Comparator-">
<!-- -->
</a><a name="create-int-ComparatorT-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>create</h4>
<pre>public static&nbsp;&lt;T,ComparatorT extends java.util.Comparator&lt;T&gt; &amp; java.io.Serializable&gt;&nbsp;<a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html" title="class in org.apache.beam.sdk.transforms">ApproximateQuantiles.ApproximateQuantilesCombineFn</a>&lt;T,ComparatorT&gt;&nbsp;create(int&nbsp;numQuantiles,
ComparatorT&nbsp;compareFn)</pre>
<div class="block">Returns an approximate quantiles combiner with the given <code>compareFn</code> and desired number
of quantiles. A total of <code>numQuantiles</code> elements will appear in the output list,
including the minimum and maximum.
<p>The <code>Comparator</code> must be <code>Serializable</code>.
<p>The default error bound is <code>1 / numQuantiles</code>, which holds as long as the number of
elements is less than <a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html#DEFAULT_MAX_NUM_ELEMENTS"><code>DEFAULT_MAX_NUM_ELEMENTS</code></a>.</div>
</li>
</ul>
<a name="create-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>create</h4>
<pre>public static&nbsp;&lt;T extends java.lang.Comparable&lt;T&gt;&gt;&nbsp;<a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html" title="class in org.apache.beam.sdk.transforms">ApproximateQuantiles.ApproximateQuantilesCombineFn</a>&lt;T,<a href="../../../../../org/apache/beam/sdk/transforms/Top.Natural.html" title="class in org.apache.beam.sdk.transforms">Top.Natural</a>&lt;T&gt;&gt;&nbsp;create(int&nbsp;numQuantiles)</pre>
<div class="block">Like <a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html#create-int-ComparatorT-"><code>create(int, Comparator)</code></a>, but sorts values using their natural ordering.</div>
</li>
</ul>
<a name="withEpsilon-double-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withEpsilon</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html" title="class in org.apache.beam.sdk.transforms">ApproximateQuantiles.ApproximateQuantilesCombineFn</a>&lt;<a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html" title="type parameter in ApproximateQuantiles.ApproximateQuantilesCombineFn">T</a>,<a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html" title="type parameter in ApproximateQuantiles.ApproximateQuantilesCombineFn">ComparatorT</a>&gt;&nbsp;withEpsilon(double&nbsp;epsilon)</pre>
<div class="block">Returns an <code>ApproximateQuantilesCombineFn</code> that's like this one except that it uses the
specified <code>epsilon</code> value. Does not modify this combiner.
<p>See <a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html#create-int-ComparatorT-long-double-"><code>create(int, Comparator, long, double)</code></a> for more information about the meaning
of <code>epsilon</code>.</div>
</li>
</ul>
<a name="withMaxInputSize-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withMaxInputSize</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html" title="class in org.apache.beam.sdk.transforms">ApproximateQuantiles.ApproximateQuantilesCombineFn</a>&lt;<a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html" title="type parameter in ApproximateQuantiles.ApproximateQuantilesCombineFn">T</a>,<a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html" title="type parameter in ApproximateQuantiles.ApproximateQuantilesCombineFn">ComparatorT</a>&gt;&nbsp;withMaxInputSize(long&nbsp;maxNumElements)</pre>
<div class="block">Returns an <code>ApproximateQuantilesCombineFn</code> that's like this one except that it uses the
specified <code>maxNumElements</code> value. Does not modify this combiner.
<p>See <a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html#create-int-ComparatorT-long-double-"><code>create(int, Comparator, long, double)</code></a> for more information about the meaning
of <code>maxNumElements</code>.</div>
</li>
</ul>
<a name="create-int-java.util.Comparator-long-double-">
<!-- -->
</a><a name="create-int-ComparatorT-long-double-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>create</h4>
<pre>public static&nbsp;&lt;T,ComparatorT extends java.util.Comparator&lt;T&gt; &amp; java.io.Serializable&gt;&nbsp;<a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html" title="class in org.apache.beam.sdk.transforms">ApproximateQuantiles.ApproximateQuantilesCombineFn</a>&lt;T,ComparatorT&gt;&nbsp;create(int&nbsp;numQuantiles,
ComparatorT&nbsp;compareFn,
long&nbsp;maxNumElements,
double&nbsp;epsilon)</pre>
<div class="block">Creates an approximate quantiles combiner with the given <code>compareFn</code> and desired number
of quantiles. A total of <code>numQuantiles</code> elements will appear in the output list,
including the minimum and maximum.
<p>The <code>Comparator</code> must be <code>Serializable</code>.
<p>The default error bound is <code>epsilon</code>, which holds as long as the number of elements
is less than <code>maxNumElements</code>. Specifically, if one considers the input as a sorted
list x_1, ..., x_N, then the distance between the each exact quantile x_c and its
approximation x_c' is bounded by <code>|c - c'| &lt; epsilon * N</code>. Note that these errors are
worst-case scenarios; in practice the accuracy tends to be much better.</div>
</li>
</ul>
<a name="createAccumulator--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createAccumulator</h4>
<pre>public&nbsp;org.apache.beam.sdk.transforms.ApproximateQuantiles.QuantileState&lt;<a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html" title="type parameter in ApproximateQuantiles.ApproximateQuantilesCombineFn">T</a>,<a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html" title="type parameter in ApproximateQuantiles.ApproximateQuantilesCombineFn">ComparatorT</a>&gt;&nbsp;createAccumulator()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/beam/sdk/transforms/Combine.CombineFn.html#createAccumulator--">Combine.CombineFn</a></code></span></div>
<div class="block">Returns a new, mutable accumulator value, representing the accumulation of zero input values.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/beam/sdk/transforms/Combine.CombineFn.html#createAccumulator--">createAccumulator</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/beam/sdk/transforms/Combine.CombineFn.html" title="class in org.apache.beam.sdk.transforms">Combine.CombineFn</a>&lt;<a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html" title="type parameter in ApproximateQuantiles.ApproximateQuantilesCombineFn">T</a>,org.apache.beam.sdk.transforms.ApproximateQuantiles.QuantileState&lt;<a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html" title="type parameter in ApproximateQuantiles.ApproximateQuantilesCombineFn">T</a>,<a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html" title="type parameter in ApproximateQuantiles.ApproximateQuantilesCombineFn">ComparatorT</a> extends java.util.Comparator&lt;<a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html" title="type parameter in ApproximateQuantiles.ApproximateQuantilesCombineFn">T</a>&gt; &amp; java.io.Serializable&gt;,java.util.List&lt;<a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html" title="type parameter in ApproximateQuantiles.ApproximateQuantilesCombineFn">T</a>&gt;&gt;</code></dd>
</dl>
</li>
</ul>
<a name="getAccumulatorCoder-org.apache.beam.sdk.coders.CoderRegistry-org.apache.beam.sdk.coders.Coder-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAccumulatorCoder</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders">Coder</a>&lt;org.apache.beam.sdk.transforms.ApproximateQuantiles.QuantileState&lt;<a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html" title="type parameter in ApproximateQuantiles.ApproximateQuantilesCombineFn">T</a>,<a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html" title="type parameter in ApproximateQuantiles.ApproximateQuantilesCombineFn">ComparatorT</a>&gt;&gt;&nbsp;getAccumulatorCoder(<a href="../../../../../org/apache/beam/sdk/coders/CoderRegistry.html" title="class in org.apache.beam.sdk.coders">CoderRegistry</a>&nbsp;registry,
<a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders">Coder</a>&lt;<a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html" title="type parameter in ApproximateQuantiles.ApproximateQuantilesCombineFn">T</a>&gt;&nbsp;elementCoder)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/beam/sdk/transforms/CombineFnBase.GlobalCombineFn.html#getAccumulatorCoder-org.apache.beam.sdk.coders.CoderRegistry-org.apache.beam.sdk.coders.Coder-">CombineFnBase.GlobalCombineFn</a></code></span></div>
<div class="block">Returns the <code>Coder</code> to use for accumulator <code>AccumT</code> values, or null if it is not
able to be inferred.
<p>By default, uses the knowledge of the <code>Coder</code> being used for <code>InputT</code> values
and the enclosing <code>Pipeline</code>'s <code>CoderRegistry</code> to try to infer the Coder for
<code>AccumT</code> values.
<p>This is the Coder used to send data through a communication-intensive shuffle step, so a
compact and efficient representation may have significant performance benefits.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/beam/sdk/transforms/CombineFnBase.GlobalCombineFn.html#getAccumulatorCoder-org.apache.beam.sdk.coders.CoderRegistry-org.apache.beam.sdk.coders.Coder-">getAccumulatorCoder</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/beam/sdk/transforms/CombineFnBase.GlobalCombineFn.html" title="interface in org.apache.beam.sdk.transforms">CombineFnBase.GlobalCombineFn</a>&lt;<a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html" title="type parameter in ApproximateQuantiles.ApproximateQuantilesCombineFn">T</a>,org.apache.beam.sdk.transforms.ApproximateQuantiles.QuantileState&lt;<a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html" title="type parameter in ApproximateQuantiles.ApproximateQuantilesCombineFn">T</a>,<a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html" title="type parameter in ApproximateQuantiles.ApproximateQuantilesCombineFn">ComparatorT</a> extends java.util.Comparator&lt;<a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html" title="type parameter in ApproximateQuantiles.ApproximateQuantilesCombineFn">T</a>&gt; &amp; java.io.Serializable&gt;,java.util.List&lt;<a href="../../../../../org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html" title="type parameter in ApproximateQuantiles.ApproximateQuantilesCombineFn">T</a>&gt;&gt;</code></dd>
</dl>
</li>
</ul>
<a name="populateDisplayData-org.apache.beam.sdk.transforms.display.DisplayData.Builder-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>populateDisplayData</h4>
<pre>public&nbsp;void&nbsp;populateDisplayData(<a href="../../../../../org/apache/beam/sdk/transforms/display/DisplayData.Builder.html" title="interface in org.apache.beam.sdk.transforms.display">DisplayData.Builder</a>&nbsp;builder)</pre>
<div class="block">Register display data for the given transform or component.
<p><code>populateDisplayData(DisplayData.Builder)</code> is invoked by Pipeline runners to collect
display data via <a href="../../../../../org/apache/beam/sdk/transforms/display/DisplayData.html#from-org.apache.beam.sdk.transforms.display.HasDisplayData-"><code>DisplayData.from(HasDisplayData)</code></a>. Implementations may call <code>super.populateDisplayData(builder)</code> in order to register display data in the current namespace,
but should otherwise use <code>subcomponent.populateDisplayData(builder)</code> to use the namespace
of the subcomponent.
<p>By default, does not register any display data. Implementors may override this method to
provide their own display data.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/beam/sdk/transforms/display/HasDisplayData.html#populateDisplayData-org.apache.beam.sdk.transforms.display.DisplayData.Builder-">populateDisplayData</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/beam/sdk/transforms/display/HasDisplayData.html" title="interface in org.apache.beam.sdk.transforms.display">HasDisplayData</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>builder</code> - The builder to populate with display data.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/apache/beam/sdk/transforms/display/HasDisplayData.html" title="interface in org.apache.beam.sdk.transforms.display"><code>HasDisplayData</code></a></dd>
</dl>
</li>
</ul>
<a name="getDefaultOutputCoder-org.apache.beam.sdk.coders.CoderRegistry-org.apache.beam.sdk.coders.Coder-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDefaultOutputCoder</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders">Coder</a>&lt;OutputT&gt;&nbsp;getDefaultOutputCoder(<a href="../../../../../org/apache/beam/sdk/coders/CoderRegistry.html" title="class in org.apache.beam.sdk.coders">CoderRegistry</a>&nbsp;registry,
<a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders">Coder</a>&lt;InputT&gt;&nbsp;inputCoder)
throws <a href="../../../../../org/apache/beam/sdk/coders/CannotProvideCoderException.html" title="class in org.apache.beam.sdk.coders">CannotProvideCoderException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/beam/sdk/transforms/CombineFnBase.GlobalCombineFn.html#getDefaultOutputCoder-org.apache.beam.sdk.coders.CoderRegistry-org.apache.beam.sdk.coders.Coder-">CombineFnBase.GlobalCombineFn</a></code></span></div>
<div class="block">Returns the <code>Coder</code> to use by default for output <code>OutputT</code> values, or null if it
is not able to be inferred.
<p>By default, uses the knowledge of the <code>Coder</code> being used for input <code>InputT</code>
values and the enclosing <code>Pipeline</code>'s <code>CoderRegistry</code> to try to infer the Coder
for <code>OutputT</code> values.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/beam/sdk/transforms/CombineFnBase.GlobalCombineFn.html#getDefaultOutputCoder-org.apache.beam.sdk.coders.CoderRegistry-org.apache.beam.sdk.coders.Coder-">getDefaultOutputCoder</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/beam/sdk/transforms/CombineFnBase.GlobalCombineFn.html" title="interface in org.apache.beam.sdk.transforms">CombineFnBase.GlobalCombineFn</a>&lt;InputT,AccumT,OutputT&gt;</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/beam/sdk/coders/CannotProvideCoderException.html" title="class in org.apache.beam.sdk.coders">CannotProvideCoderException</a></code></dd>
</dl>
</li>
</ul>
<a name="getIncompatibleGlobalWindowErrorMessage--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIncompatibleGlobalWindowErrorMessage</h4>
<pre>public&nbsp;java.lang.String&nbsp;getIncompatibleGlobalWindowErrorMessage()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/beam/sdk/transforms/CombineFnBase.GlobalCombineFn.html#getIncompatibleGlobalWindowErrorMessage--">CombineFnBase.GlobalCombineFn</a></code></span></div>
<div class="block">Returns the error message for not supported default values in Combine.globally().</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/beam/sdk/transforms/CombineFnBase.GlobalCombineFn.html#getIncompatibleGlobalWindowErrorMessage--">getIncompatibleGlobalWindowErrorMessage</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/beam/sdk/transforms/CombineFnBase.GlobalCombineFn.html" title="interface in org.apache.beam.sdk.transforms">CombineFnBase.GlobalCombineFn</a>&lt;InputT,AccumT,OutputT&gt;</code></dd>
</dl>
</li>
</ul>
<a name="getInputTVariable--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInputTVariable</h4>
<pre>public&nbsp;java.lang.reflect.TypeVariable&lt;?&gt;&nbsp;getInputTVariable()</pre>
<div class="block">Returns the <code>TypeVariable</code> of <code>InputT</code>.</div>
</li>
</ul>
<a name="getAccumTVariable--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAccumTVariable</h4>
<pre>public&nbsp;java.lang.reflect.TypeVariable&lt;?&gt;&nbsp;getAccumTVariable()</pre>
<div class="block">Returns the <code>TypeVariable</code> of <code>AccumT</code>.</div>
</li>
</ul>
<a name="getOutputTVariable--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getOutputTVariable</h4>
<pre>public&nbsp;java.lang.reflect.TypeVariable&lt;?&gt;&nbsp;getOutputTVariable()</pre>
<div class="block">Returns the <code>TypeVariable</code> of <code>OutputT</code>.</div>
</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/ApproximateQuantiles.html" title="class in org.apache.beam.sdk.transforms"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/beam/sdk/transforms/ApproximateUnique.html" title="class in org.apache.beam.sdk.transforms"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/beam/sdk/transforms/ApproximateQuantiles.ApproximateQuantilesCombineFn.html" target="_top">Frames</a></li>
<li><a href="ApproximateQuantiles.ApproximateQuantilesCombineFn.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.classes.inherited.from.class.org.apache.beam.sdk.transforms.Combine.AccumulatingCombineFn">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>