<!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>Combine (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="Combine (Apache Beam 2.20.0-SNAPSHOT)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static 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/ApproximateUnique.PerKey.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/Combine.AccumulatingCombineFn.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/Combine.html" target="_top">Frames</a></li>
<li><a href="Combine.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.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&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>Field&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 Combine" class="title">Class Combine</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.beam.sdk.transforms.Combine</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">Combine</span>
extends java.lang.Object</pre>
<div class="block"><code>PTransform</code>s for combining <code>PCollection</code> elements globally and per-key.

 <p>See the <a
 href="https://beam.apache.org/documentation/programming-guide/#transforms-combine">documentation</a>
 for how to use the operations in this class.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!--   -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/Combine.AccumulatingCombineFn.html" title="class in org.apache.beam.sdk.transforms">Combine.AccumulatingCombineFn</a>&lt;<a href="../../../../../org/apache/beam/sdk/transforms/Combine.AccumulatingCombineFn.html" title="type parameter in Combine.AccumulatingCombineFn">InputT</a>,<a href="../../../../../org/apache/beam/sdk/transforms/Combine.AccumulatingCombineFn.html" title="type parameter in Combine.AccumulatingCombineFn">AccumT</a> extends <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.html" title="type parameter in Combine.AccumulatingCombineFn">InputT</a>,<a href="../../../../../org/apache/beam/sdk/transforms/Combine.AccumulatingCombineFn.html" title="type parameter in Combine.AccumulatingCombineFn">AccumT</a>,<a href="../../../../../org/apache/beam/sdk/transforms/Combine.AccumulatingCombineFn.html" title="type parameter in Combine.AccumulatingCombineFn">OutputT</a>&gt;,<a href="../../../../../org/apache/beam/sdk/transforms/Combine.AccumulatingCombineFn.html" title="type parameter in Combine.AccumulatingCombineFn">OutputT</a>&gt;</span></code>
<div class="block">A <code>CombineFn</code> that uses a subclass of <a href="../../../../../org/apache/beam/sdk/transforms/Combine.AccumulatingCombineFn.Accumulator.html" title="interface in org.apache.beam.sdk.transforms"><code>Combine.AccumulatingCombineFn.Accumulator</code></a> as its
 accumulator type.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/Combine.BinaryCombineDoubleFn.html" title="class in org.apache.beam.sdk.transforms">Combine.BinaryCombineDoubleFn</a></span></code>
<div class="block">An abstract subclass of <a href="../../../../../org/apache/beam/sdk/transforms/Combine.CombineFn.html" title="class in org.apache.beam.sdk.transforms"><code>Combine.CombineFn</code></a> for implementing combiners that are more easily and
 efficiently expressed as binary operations on <code>double</code>s.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/Combine.BinaryCombineFn.html" title="class in org.apache.beam.sdk.transforms">Combine.BinaryCombineFn</a>&lt;<a href="../../../../../org/apache/beam/sdk/transforms/Combine.BinaryCombineFn.html" title="type parameter in Combine.BinaryCombineFn">V</a>&gt;</span></code>
<div class="block">An abstract subclass of <a href="../../../../../org/apache/beam/sdk/transforms/Combine.CombineFn.html" title="class in org.apache.beam.sdk.transforms"><code>Combine.CombineFn</code></a> for implementing combiners that are more easily
 expressed as binary operations.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/Combine.BinaryCombineIntegerFn.html" title="class in org.apache.beam.sdk.transforms">Combine.BinaryCombineIntegerFn</a></span></code>
<div class="block">An abstract subclass of <a href="../../../../../org/apache/beam/sdk/transforms/Combine.CombineFn.html" title="class in org.apache.beam.sdk.transforms"><code>Combine.CombineFn</code></a> for implementing combiners that are more easily and
 efficiently expressed as binary operations on <code>int</code>s</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/Combine.BinaryCombineLongFn.html" title="class in org.apache.beam.sdk.transforms">Combine.BinaryCombineLongFn</a></span></code>
<div class="block">An abstract subclass of <a href="../../../../../org/apache/beam/sdk/transforms/Combine.CombineFn.html" title="class in org.apache.beam.sdk.transforms"><code>Combine.CombineFn</code></a> for implementing combiners that are more easily and
 efficiently expressed as binary operations on <code>long</code>s.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><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/Combine.CombineFn.html" title="type parameter in Combine.CombineFn">InputT</a>,<a href="../../../../../org/apache/beam/sdk/transforms/Combine.CombineFn.html" title="type parameter in Combine.CombineFn">AccumT</a>,<a href="../../../../../org/apache/beam/sdk/transforms/Combine.CombineFn.html" title="type parameter in Combine.CombineFn">OutputT</a>&gt;</span></code>
<div class="block">A <code>CombineFn&lt;InputT, AccumT, OutputT&gt;</code> specifies how to combine a collection of input
 values of type <code>InputT</code> into a single output value of type <code>OutputT</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/Combine.Globally.html" title="class in org.apache.beam.sdk.transforms">Combine.Globally</a>&lt;<a href="../../../../../org/apache/beam/sdk/transforms/Combine.Globally.html" title="type parameter in Combine.Globally">InputT</a>,<a href="../../../../../org/apache/beam/sdk/transforms/Combine.Globally.html" title="type parameter in Combine.Globally">OutputT</a>&gt;</span></code>
<div class="block"><code>Combine.Globally&lt;InputT, OutputT&gt;</code> takes a <code>PCollection&lt;InputT&gt;</code> and returns a
 <code>PCollection&lt;OutputT&gt;</code> whose elements are the result of combining all the elements in
 each window of the input <code>PCollection</code>, using a specified <a href="../../../../../org/apache/beam/sdk/transforms/Combine.CombineFn.html" title="class in org.apache.beam.sdk.transforms"><code>CombineFn&lt;InputT, AccumT, OutputT&gt;</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/Combine.GloballyAsSingletonView.html" title="class in org.apache.beam.sdk.transforms">Combine.GloballyAsSingletonView</a>&lt;<a href="../../../../../org/apache/beam/sdk/transforms/Combine.GloballyAsSingletonView.html" title="type parameter in Combine.GloballyAsSingletonView">InputT</a>,<a href="../../../../../org/apache/beam/sdk/transforms/Combine.GloballyAsSingletonView.html" title="type parameter in Combine.GloballyAsSingletonView">OutputT</a>&gt;</span></code>
<div class="block"><code>Combine.GloballyAsSingletonView&lt;InputT, OutputT&gt;</code> takes a <code>PCollection&lt;InputT&gt;</code>
 and returns a <code>PCollectionView&lt;OutputT&gt;</code> whose elements are the result of combining all
 the elements in each window of the input <code>PCollection</code>, using a specified <a href="../../../../../org/apache/beam/sdk/transforms/Combine.CombineFn.html" title="class in org.apache.beam.sdk.transforms"><code>CombineFn&lt;InputT, AccumT, OutputT&gt;</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/Combine.GroupedValues.html" title="class in org.apache.beam.sdk.transforms">Combine.GroupedValues</a>&lt;<a href="../../../../../org/apache/beam/sdk/transforms/Combine.GroupedValues.html" title="type parameter in Combine.GroupedValues">K</a>,<a href="../../../../../org/apache/beam/sdk/transforms/Combine.GroupedValues.html" title="type parameter in Combine.GroupedValues">InputT</a>,<a href="../../../../../org/apache/beam/sdk/transforms/Combine.GroupedValues.html" title="type parameter in Combine.GroupedValues">OutputT</a>&gt;</span></code>
<div class="block"><code>GroupedValues&lt;K, InputT, OutputT&gt;</code> takes a <code>PCollection&lt;KV&lt;K, Iterable&lt;InputT&gt;&gt;&gt;</code>,
 such as the result of <a href="../../../../../org/apache/beam/sdk/transforms/GroupByKey.html" title="class in org.apache.beam.sdk.transforms"><code>GroupByKey</code></a>, applies a specified <a href="../../../../../org/apache/beam/sdk/transforms/Combine.CombineFn.html" title="class in org.apache.beam.sdk.transforms"><code>CombineFn&lt;InputT, AccumT, OutputT&gt;</code></a> to each of the input <code>KV&lt;K, Iterable&lt;InputT&gt;&gt;</code>
 elements to produce a combined output <code>KV&lt;K, OutputT&gt;</code> element, and returns a <code>PCollection&lt;KV&lt;K, OutputT&gt;&gt;</code> containing all the combined output elements.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/Combine.Holder.html" title="class in org.apache.beam.sdk.transforms">Combine.Holder</a>&lt;<a href="../../../../../org/apache/beam/sdk/transforms/Combine.Holder.html" title="type parameter in Combine.Holder">V</a>&gt;</span></code>
<div class="block">Holds a single value value of type <code>V</code> which may or may not be present.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/Combine.IterableCombineFn.html" title="class in org.apache.beam.sdk.transforms">Combine.IterableCombineFn</a>&lt;<a href="../../../../../org/apache/beam/sdk/transforms/Combine.IterableCombineFn.html" title="type parameter in Combine.IterableCombineFn">V</a>&gt;</span></code>
<div class="block">Converts a <a href="../../../../../org/apache/beam/sdk/transforms/SerializableFunction.html" title="interface in org.apache.beam.sdk.transforms"><code>SerializableFunction</code></a> from <code>Iterable&lt;V&gt;</code>s to <code>V</code>s into a simple
 <a href="../../../../../org/apache/beam/sdk/transforms/Combine.CombineFn.html" title="class in org.apache.beam.sdk.transforms"><code>Combine.CombineFn</code></a> over <code>V</code>s.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/Combine.PerKey.html" title="class in org.apache.beam.sdk.transforms">Combine.PerKey</a>&lt;<a href="../../../../../org/apache/beam/sdk/transforms/Combine.PerKey.html" title="type parameter in Combine.PerKey">K</a>,<a href="../../../../../org/apache/beam/sdk/transforms/Combine.PerKey.html" title="type parameter in Combine.PerKey">InputT</a>,<a href="../../../../../org/apache/beam/sdk/transforms/Combine.PerKey.html" title="type parameter in Combine.PerKey">OutputT</a>&gt;</span></code>
<div class="block"><code>PerKey&lt;K, InputT, OutputT&gt;</code> takes a <code>PCollection&lt;KV&lt;K, InputT&gt;&gt;</code>, groups it by
 key, applies a combining function to the <code>InputT</code> values associated with each key to
 produce a combined <code>OutputT</code> value, and returns a <code>PCollection&lt;KV&lt;K, OutputT&gt;&gt;</code>
 representing a map from each distinct key of the input <code>PCollection</code> to the corresponding
 combined value.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/Combine.PerKeyWithHotKeyFanout.html" title="class in org.apache.beam.sdk.transforms">Combine.PerKeyWithHotKeyFanout</a>&lt;<a href="../../../../../org/apache/beam/sdk/transforms/Combine.PerKeyWithHotKeyFanout.html" title="type parameter in Combine.PerKeyWithHotKeyFanout">K</a>,<a href="../../../../../org/apache/beam/sdk/transforms/Combine.PerKeyWithHotKeyFanout.html" title="type parameter in Combine.PerKeyWithHotKeyFanout">InputT</a>,<a href="../../../../../org/apache/beam/sdk/transforms/Combine.PerKeyWithHotKeyFanout.html" title="type parameter in Combine.PerKeyWithHotKeyFanout">OutputT</a>&gt;</span></code>
<div class="block">Like <a href="../../../../../org/apache/beam/sdk/transforms/Combine.PerKey.html" title="class in org.apache.beam.sdk.transforms"><code>Combine.PerKey</code></a>, but sharding the combining of hot keys.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/Combine.SimpleCombineFn.html" title="class in org.apache.beam.sdk.transforms">Combine.SimpleCombineFn</a>&lt;<a href="../../../../../org/apache/beam/sdk/transforms/Combine.SimpleCombineFn.html" title="type parameter in Combine.SimpleCombineFn">V</a>&gt;</span></code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</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="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;InputT,OutputT&gt;<br><a href="../../../../../org/apache/beam/sdk/transforms/Combine.Globally.html" title="class in org.apache.beam.sdk.transforms">Combine.Globally</a>&lt;InputT,OutputT&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/Combine.html#globally-org.apache.beam.sdk.transforms.CombineFnBase.GlobalCombineFn-">globally</a></span>(<a href="../../../../../org/apache/beam/sdk/transforms/CombineFnBase.GlobalCombineFn.html" title="interface in org.apache.beam.sdk.transforms">CombineFnBase.GlobalCombineFn</a>&lt;? super InputT,?,OutputT&gt;&nbsp;fn)</code>
<div class="block">Returns a <a href="../../../../../org/apache/beam/sdk/transforms/Combine.Globally.html" title="class in org.apache.beam.sdk.transforms"><code>Combine.Globally</code></a> <code>PTransform</code> that uses the given <code>GloballyCombineFn</code> to combine all the elements in each window of the input <code>PCollection</code>
 into a single value in the output <code>PCollection</code>.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static &lt;V&gt;&nbsp;<a href="../../../../../org/apache/beam/sdk/transforms/Combine.Globally.html" title="class in org.apache.beam.sdk.transforms">Combine.Globally</a>&lt;V,V&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/Combine.html#globally-org.apache.beam.sdk.transforms.SerializableBiFunction-">globally</a></span>(<a href="../../../../../org/apache/beam/sdk/transforms/SerializableBiFunction.html" title="interface in org.apache.beam.sdk.transforms">SerializableBiFunction</a>&lt;V,V,V&gt;&nbsp;combiner)</code>
<div class="block">Returns a <a href="../../../../../org/apache/beam/sdk/transforms/Combine.Globally.html" title="class in org.apache.beam.sdk.transforms"><code>Combine.Globally</code></a> <code>PTransform</code> that uses the given <code>SerializableBiFunction</code> to combine all the elements in each window of the input <code>PCollection</code> into a single value in the output <code>PCollection</code>.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static &lt;V&gt;&nbsp;<a href="../../../../../org/apache/beam/sdk/transforms/Combine.Globally.html" title="class in org.apache.beam.sdk.transforms">Combine.Globally</a>&lt;V,V&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/Combine.html#globally-org.apache.beam.sdk.transforms.SerializableFunction-">globally</a></span>(<a href="../../../../../org/apache/beam/sdk/transforms/SerializableFunction.html" title="interface in org.apache.beam.sdk.transforms">SerializableFunction</a>&lt;java.lang.Iterable&lt;V&gt;,V&gt;&nbsp;combiner)</code>
<div class="block">Returns a <a href="../../../../../org/apache/beam/sdk/transforms/Combine.Globally.html" title="class in org.apache.beam.sdk.transforms"><code>Combine.Globally</code></a> <code>PTransform</code> that uses the given <code>SerializableFunction</code> to combine all the elements in each window of the input <code>PCollection</code> into a single value in the output <code>PCollection</code>.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static &lt;K,InputT,OutputT&gt;<br><a href="../../../../../org/apache/beam/sdk/transforms/Combine.GroupedValues.html" title="class in org.apache.beam.sdk.transforms">Combine.GroupedValues</a>&lt;K,InputT,OutputT&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/Combine.html#groupedValues-org.apache.beam.sdk.transforms.CombineFnBase.GlobalCombineFn-">groupedValues</a></span>(<a href="../../../../../org/apache/beam/sdk/transforms/CombineFnBase.GlobalCombineFn.html" title="interface in org.apache.beam.sdk.transforms">CombineFnBase.GlobalCombineFn</a>&lt;? super InputT,?,OutputT&gt;&nbsp;fn)</code>
<div class="block">Returns a <a href="../../../../../org/apache/beam/sdk/transforms/Combine.GroupedValues.html" title="class in org.apache.beam.sdk.transforms"><code>Combine.GroupedValues</code></a> <code>PTransform</code> that takes a <code>PCollection</code> of <code>KV</code>s where a key maps to an <code>Iterable</code> of values, e.g., the result
 of a <code>GroupByKey</code>, then uses the given <code>CombineFn</code> to combine all the values
 associated with a key, ignoring the key.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>static &lt;K,V&gt;&nbsp;<a href="../../../../../org/apache/beam/sdk/transforms/Combine.GroupedValues.html" title="class in org.apache.beam.sdk.transforms">Combine.GroupedValues</a>&lt;K,V,V&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/Combine.html#groupedValues-org.apache.beam.sdk.transforms.SerializableBiFunction-">groupedValues</a></span>(<a href="../../../../../org/apache/beam/sdk/transforms/SerializableBiFunction.html" title="interface in org.apache.beam.sdk.transforms">SerializableBiFunction</a>&lt;V,V,V&gt;&nbsp;fn)</code>
<div class="block">Returns a <a href="../../../../../org/apache/beam/sdk/transforms/Combine.GroupedValues.html" title="class in org.apache.beam.sdk.transforms"><code>Combine.GroupedValues</code></a> <code>PTransform</code> that takes a <code>PCollection</code> of <code>KV</code>s where a key maps to an <code>Iterable</code> of values, e.g., the result
 of a <code>GroupByKey</code>, then uses the given <code>SerializableFunction</code> to combine all the
 values associated with a key, ignoring the key.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>static &lt;K,V&gt;&nbsp;<a href="../../../../../org/apache/beam/sdk/transforms/Combine.GroupedValues.html" title="class in org.apache.beam.sdk.transforms">Combine.GroupedValues</a>&lt;K,V,V&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/Combine.html#groupedValues-org.apache.beam.sdk.transforms.SerializableFunction-">groupedValues</a></span>(<a href="../../../../../org/apache/beam/sdk/transforms/SerializableFunction.html" title="interface in org.apache.beam.sdk.transforms">SerializableFunction</a>&lt;java.lang.Iterable&lt;V&gt;,V&gt;&nbsp;fn)</code>
<div class="block">Returns a <a href="../../../../../org/apache/beam/sdk/transforms/Combine.GroupedValues.html" title="class in org.apache.beam.sdk.transforms"><code>Combine.GroupedValues</code></a> <code>PTransform</code> that takes a <code>PCollection</code> of <code>KV</code>s where a key maps to an <code>Iterable</code> of values, e.g., the result
 of a <code>GroupByKey</code>, then uses the given <code>SerializableFunction</code> to combine all the
 values associated with a key, ignoring the key.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>static &lt;K,InputT,OutputT&gt;<br><a href="../../../../../org/apache/beam/sdk/transforms/Combine.PerKey.html" title="class in org.apache.beam.sdk.transforms">Combine.PerKey</a>&lt;K,InputT,OutputT&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/Combine.html#perKey-org.apache.beam.sdk.transforms.CombineFnBase.GlobalCombineFn-">perKey</a></span>(<a href="../../../../../org/apache/beam/sdk/transforms/CombineFnBase.GlobalCombineFn.html" title="interface in org.apache.beam.sdk.transforms">CombineFnBase.GlobalCombineFn</a>&lt;? super InputT,?,OutputT&gt;&nbsp;fn)</code>
<div class="block">Returns a <a href="../../../../../org/apache/beam/sdk/transforms/Combine.PerKey.html" title="class in org.apache.beam.sdk.transforms"><code>Combine.PerKey</code></a> <code>PTransform</code> that first groups its input <code>PCollection</code> of <code>KV</code>s by keys and windows, then invokes the given function on each of the
 values lists to produce a combined value, and then returns a <code>PCollection</code> of <code>KV</code>s
 mapping each distinct key to its combined value for each window.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>static &lt;K,V&gt;&nbsp;<a href="../../../../../org/apache/beam/sdk/transforms/Combine.PerKey.html" title="class in org.apache.beam.sdk.transforms">Combine.PerKey</a>&lt;K,V,V&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/Combine.html#perKey-org.apache.beam.sdk.transforms.SerializableBiFunction-">perKey</a></span>(<a href="../../../../../org/apache/beam/sdk/transforms/SerializableBiFunction.html" title="interface in org.apache.beam.sdk.transforms">SerializableBiFunction</a>&lt;V,V,V&gt;&nbsp;fn)</code>
<div class="block">Returns a <a href="../../../../../org/apache/beam/sdk/transforms/Combine.PerKey.html" title="class in org.apache.beam.sdk.transforms"><code>Combine.PerKey</code></a> <code>PTransform</code> that first groups its input <code>PCollection</code> of <code>KV</code>s by keys and windows, then invokes the given function on each of the
 values lists to produce a combined value, and then returns a <code>PCollection</code> of <code>KV</code>s
 mapping each distinct key to its combined value for each window.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>static &lt;K,V&gt;&nbsp;<a href="../../../../../org/apache/beam/sdk/transforms/Combine.PerKey.html" title="class in org.apache.beam.sdk.transforms">Combine.PerKey</a>&lt;K,V,V&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/transforms/Combine.html#perKey-org.apache.beam.sdk.transforms.SerializableFunction-">perKey</a></span>(<a href="../../../../../org/apache/beam/sdk/transforms/SerializableFunction.html" title="interface in org.apache.beam.sdk.transforms">SerializableFunction</a>&lt;java.lang.Iterable&lt;V&gt;,V&gt;&nbsp;fn)</code>
<div class="block">Returns a <a href="../../../../../org/apache/beam/sdk/transforms/Combine.PerKey.html" title="class in org.apache.beam.sdk.transforms"><code>Combine.PerKey</code></a> <code>PTransform</code> that first groups its input <code>PCollection</code> of <code>KV</code>s by keys and windows, then invokes the given function on each of the
 values lists to produce a combined value, and then returns a <code>PCollection</code> of <code>KV</code>s
 mapping each distinct key to its combined value for each window.</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">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="globally-org.apache.beam.sdk.transforms.SerializableFunction-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>globally</h4>
<pre>public static&nbsp;&lt;V&gt;&nbsp;<a href="../../../../../org/apache/beam/sdk/transforms/Combine.Globally.html" title="class in org.apache.beam.sdk.transforms">Combine.Globally</a>&lt;V,V&gt;&nbsp;globally(<a href="../../../../../org/apache/beam/sdk/transforms/SerializableFunction.html" title="interface in org.apache.beam.sdk.transforms">SerializableFunction</a>&lt;java.lang.Iterable&lt;V&gt;,V&gt;&nbsp;combiner)</pre>
<div class="block">Returns a <a href="../../../../../org/apache/beam/sdk/transforms/Combine.Globally.html" title="class in org.apache.beam.sdk.transforms"><code>Combine.Globally</code></a> <code>PTransform</code> that uses the given <code>SerializableFunction</code> to combine all the elements in each window of the input <code>PCollection</code> into a single value in the output <code>PCollection</code>. The types of the input
 elements and the output elements must be the same.

 <p>If the input <code>PCollection</code> is windowed into <a href="../../../../../org/apache/beam/sdk/transforms/windowing/GlobalWindows.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>GlobalWindows</code></a>, a default value in
 the <a href="../../../../../org/apache/beam/sdk/transforms/windowing/GlobalWindow.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>GlobalWindow</code></a> will be output if the input <code>PCollection</code> is empty. To use this
 with inputs with other windowing, either <a href="../../../../../org/apache/beam/sdk/transforms/Combine.Globally.html#withoutDefaults--"><code>Combine.Globally.withoutDefaults()</code></a> or <a href="../../../../../org/apache/beam/sdk/transforms/Combine.Globally.html#asSingletonView--"><code>Combine.Globally.asSingletonView()</code></a> must be called.

 <p>See <a href="../../../../../org/apache/beam/sdk/transforms/Combine.Globally.html" title="class in org.apache.beam.sdk.transforms"><code>Combine.Globally</code></a> for more information.</div>
</li>
</ul>
<a name="globally-org.apache.beam.sdk.transforms.SerializableBiFunction-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>globally</h4>
<pre>public static&nbsp;&lt;V&gt;&nbsp;<a href="../../../../../org/apache/beam/sdk/transforms/Combine.Globally.html" title="class in org.apache.beam.sdk.transforms">Combine.Globally</a>&lt;V,V&gt;&nbsp;globally(<a href="../../../../../org/apache/beam/sdk/transforms/SerializableBiFunction.html" title="interface in org.apache.beam.sdk.transforms">SerializableBiFunction</a>&lt;V,V,V&gt;&nbsp;combiner)</pre>
<div class="block">Returns a <a href="../../../../../org/apache/beam/sdk/transforms/Combine.Globally.html" title="class in org.apache.beam.sdk.transforms"><code>Combine.Globally</code></a> <code>PTransform</code> that uses the given <code>SerializableBiFunction</code> to combine all the elements in each window of the input <code>PCollection</code> into a single value in the output <code>PCollection</code>. The types of the input
 elements and the output elements must be the same.

 <p>If the input <code>PCollection</code> is windowed into <a href="../../../../../org/apache/beam/sdk/transforms/windowing/GlobalWindows.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>GlobalWindows</code></a>, a default value in
 the <a href="../../../../../org/apache/beam/sdk/transforms/windowing/GlobalWindow.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>GlobalWindow</code></a> will be output if the input <code>PCollection</code> is empty. To use this
 with inputs with other windowing, either <a href="../../../../../org/apache/beam/sdk/transforms/Combine.Globally.html#withoutDefaults--"><code>Combine.Globally.withoutDefaults()</code></a> or <a href="../../../../../org/apache/beam/sdk/transforms/Combine.Globally.html#asSingletonView--"><code>Combine.Globally.asSingletonView()</code></a> must be called.

 <p>See <a href="../../../../../org/apache/beam/sdk/transforms/Combine.Globally.html" title="class in org.apache.beam.sdk.transforms"><code>Combine.Globally</code></a> for more information.</div>
</li>
</ul>
<a name="globally-org.apache.beam.sdk.transforms.CombineFnBase.GlobalCombineFn-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>globally</h4>
<pre>public static&nbsp;&lt;InputT,OutputT&gt;&nbsp;<a href="../../../../../org/apache/beam/sdk/transforms/Combine.Globally.html" title="class in org.apache.beam.sdk.transforms">Combine.Globally</a>&lt;InputT,OutputT&gt;&nbsp;globally(<a href="../../../../../org/apache/beam/sdk/transforms/CombineFnBase.GlobalCombineFn.html" title="interface in org.apache.beam.sdk.transforms">CombineFnBase.GlobalCombineFn</a>&lt;? super InputT,?,OutputT&gt;&nbsp;fn)</pre>
<div class="block">Returns a <a href="../../../../../org/apache/beam/sdk/transforms/Combine.Globally.html" title="class in org.apache.beam.sdk.transforms"><code>Combine.Globally</code></a> <code>PTransform</code> that uses the given <code>GloballyCombineFn</code> to combine all the elements in each window of the input <code>PCollection</code>
 into a single value in the output <code>PCollection</code>. The types of the input elements and the
 output elements can differ.

 <p>If the input <code>PCollection</code> is windowed into <a href="../../../../../org/apache/beam/sdk/transforms/windowing/GlobalWindows.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>GlobalWindows</code></a>, a default value in
 the <a href="../../../../../org/apache/beam/sdk/transforms/windowing/GlobalWindow.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>GlobalWindow</code></a> will be output if the input <code>PCollection</code> is empty. To use this
 with inputs with other windowing, either <a href="../../../../../org/apache/beam/sdk/transforms/Combine.Globally.html#withoutDefaults--"><code>Combine.Globally.withoutDefaults()</code></a> or <a href="../../../../../org/apache/beam/sdk/transforms/Combine.Globally.html#asSingletonView--"><code>Combine.Globally.asSingletonView()</code></a> must be called.

 <p>See <a href="../../../../../org/apache/beam/sdk/transforms/Combine.Globally.html" title="class in org.apache.beam.sdk.transforms"><code>Combine.Globally</code></a> for more information.</div>
</li>
</ul>
<a name="perKey-org.apache.beam.sdk.transforms.SerializableFunction-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>perKey</h4>
<pre>public static&nbsp;&lt;K,V&gt;&nbsp;<a href="../../../../../org/apache/beam/sdk/transforms/Combine.PerKey.html" title="class in org.apache.beam.sdk.transforms">Combine.PerKey</a>&lt;K,V,V&gt;&nbsp;perKey(<a href="../../../../../org/apache/beam/sdk/transforms/SerializableFunction.html" title="interface in org.apache.beam.sdk.transforms">SerializableFunction</a>&lt;java.lang.Iterable&lt;V&gt;,V&gt;&nbsp;fn)</pre>
<div class="block">Returns a <a href="../../../../../org/apache/beam/sdk/transforms/Combine.PerKey.html" title="class in org.apache.beam.sdk.transforms"><code>Combine.PerKey</code></a> <code>PTransform</code> that first groups its input <code>PCollection</code> of <code>KV</code>s by keys and windows, then invokes the given function on each of the
 values lists to produce a combined value, and then returns a <code>PCollection</code> of <code>KV</code>s
 mapping each distinct key to its combined value for each window.

 <p>Each output element is in the window by which its corresponding input was grouped, and has
 the timestamp of the end of that window. The output <code>PCollection</code> has the same <a href="../../../../../org/apache/beam/sdk/transforms/windowing/WindowFn.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>WindowFn</code></a> as the input.

 <p>See <a href="../../../../../org/apache/beam/sdk/transforms/Combine.PerKey.html" title="class in org.apache.beam.sdk.transforms"><code>Combine.PerKey</code></a> for more information.</div>
</li>
</ul>
<a name="perKey-org.apache.beam.sdk.transforms.SerializableBiFunction-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>perKey</h4>
<pre>public static&nbsp;&lt;K,V&gt;&nbsp;<a href="../../../../../org/apache/beam/sdk/transforms/Combine.PerKey.html" title="class in org.apache.beam.sdk.transforms">Combine.PerKey</a>&lt;K,V,V&gt;&nbsp;perKey(<a href="../../../../../org/apache/beam/sdk/transforms/SerializableBiFunction.html" title="interface in org.apache.beam.sdk.transforms">SerializableBiFunction</a>&lt;V,V,V&gt;&nbsp;fn)</pre>
<div class="block">Returns a <a href="../../../../../org/apache/beam/sdk/transforms/Combine.PerKey.html" title="class in org.apache.beam.sdk.transforms"><code>Combine.PerKey</code></a> <code>PTransform</code> that first groups its input <code>PCollection</code> of <code>KV</code>s by keys and windows, then invokes the given function on each of the
 values lists to produce a combined value, and then returns a <code>PCollection</code> of <code>KV</code>s
 mapping each distinct key to its combined value for each window.

 <p>Each output element is in the window by which its corresponding input was grouped, and has
 the timestamp of the end of that window. The output <code>PCollection</code> has the same <a href="../../../../../org/apache/beam/sdk/transforms/windowing/WindowFn.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>WindowFn</code></a> as the input.

 <p>See <a href="../../../../../org/apache/beam/sdk/transforms/Combine.PerKey.html" title="class in org.apache.beam.sdk.transforms"><code>Combine.PerKey</code></a> for more information.</div>
</li>
</ul>
<a name="perKey-org.apache.beam.sdk.transforms.CombineFnBase.GlobalCombineFn-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>perKey</h4>
<pre>public static&nbsp;&lt;K,InputT,OutputT&gt;&nbsp;<a href="../../../../../org/apache/beam/sdk/transforms/Combine.PerKey.html" title="class in org.apache.beam.sdk.transforms">Combine.PerKey</a>&lt;K,InputT,OutputT&gt;&nbsp;perKey(<a href="../../../../../org/apache/beam/sdk/transforms/CombineFnBase.GlobalCombineFn.html" title="interface in org.apache.beam.sdk.transforms">CombineFnBase.GlobalCombineFn</a>&lt;? super InputT,?,OutputT&gt;&nbsp;fn)</pre>
<div class="block">Returns a <a href="../../../../../org/apache/beam/sdk/transforms/Combine.PerKey.html" title="class in org.apache.beam.sdk.transforms"><code>Combine.PerKey</code></a> <code>PTransform</code> that first groups its input <code>PCollection</code> of <code>KV</code>s by keys and windows, then invokes the given function on each of the
 values lists to produce a combined value, and then returns a <code>PCollection</code> of <code>KV</code>s
 mapping each distinct key to its combined value for each window.

 <p>Each output element is in the window by which its corresponding input was grouped, and has
 the timestamp of the end of that window. The output <code>PCollection</code> has the same <a href="../../../../../org/apache/beam/sdk/transforms/windowing/WindowFn.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>WindowFn</code></a> as the input.

 <p>See <a href="../../../../../org/apache/beam/sdk/transforms/Combine.PerKey.html" title="class in org.apache.beam.sdk.transforms"><code>Combine.PerKey</code></a> for more information.</div>
</li>
</ul>
<a name="groupedValues-org.apache.beam.sdk.transforms.SerializableFunction-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>groupedValues</h4>
<pre>public static&nbsp;&lt;K,V&gt;&nbsp;<a href="../../../../../org/apache/beam/sdk/transforms/Combine.GroupedValues.html" title="class in org.apache.beam.sdk.transforms">Combine.GroupedValues</a>&lt;K,V,V&gt;&nbsp;groupedValues(<a href="../../../../../org/apache/beam/sdk/transforms/SerializableFunction.html" title="interface in org.apache.beam.sdk.transforms">SerializableFunction</a>&lt;java.lang.Iterable&lt;V&gt;,V&gt;&nbsp;fn)</pre>
<div class="block">Returns a <a href="../../../../../org/apache/beam/sdk/transforms/Combine.GroupedValues.html" title="class in org.apache.beam.sdk.transforms"><code>Combine.GroupedValues</code></a> <code>PTransform</code> that takes a <code>PCollection</code> of <code>KV</code>s where a key maps to an <code>Iterable</code> of values, e.g., the result
 of a <code>GroupByKey</code>, then uses the given <code>SerializableFunction</code> to combine all the
 values associated with a key, ignoring the key. The type of the input and output values must be
 the same.

 <p>Each output element has the same timestamp and is in the same window as its corresponding
 input element, and the output <code>PCollection</code> has the same <a href="../../../../../org/apache/beam/sdk/transforms/windowing/WindowFn.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>WindowFn</code></a> associated with it as the input.

 <p>See <a href="../../../../../org/apache/beam/sdk/transforms/Combine.GroupedValues.html" title="class in org.apache.beam.sdk.transforms"><code>Combine.GroupedValues</code></a> for more information.

 <p>Note that <a href="../../../../../org/apache/beam/sdk/transforms/Combine.html#perKey-org.apache.beam.sdk.transforms.SerializableFunction-"><code>perKey(SerializableFunction)</code></a> is typically more convenient to use than
 <a href="../../../../../org/apache/beam/sdk/transforms/GroupByKey.html" title="class in org.apache.beam.sdk.transforms"><code>GroupByKey</code></a> followed by <code>groupedValues(...)</code>.</div>
</li>
</ul>
<a name="groupedValues-org.apache.beam.sdk.transforms.SerializableBiFunction-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>groupedValues</h4>
<pre>public static&nbsp;&lt;K,V&gt;&nbsp;<a href="../../../../../org/apache/beam/sdk/transforms/Combine.GroupedValues.html" title="class in org.apache.beam.sdk.transforms">Combine.GroupedValues</a>&lt;K,V,V&gt;&nbsp;groupedValues(<a href="../../../../../org/apache/beam/sdk/transforms/SerializableBiFunction.html" title="interface in org.apache.beam.sdk.transforms">SerializableBiFunction</a>&lt;V,V,V&gt;&nbsp;fn)</pre>
<div class="block">Returns a <a href="../../../../../org/apache/beam/sdk/transforms/Combine.GroupedValues.html" title="class in org.apache.beam.sdk.transforms"><code>Combine.GroupedValues</code></a> <code>PTransform</code> that takes a <code>PCollection</code> of <code>KV</code>s where a key maps to an <code>Iterable</code> of values, e.g., the result
 of a <code>GroupByKey</code>, then uses the given <code>SerializableFunction</code> to combine all the
 values associated with a key, ignoring the key. The type of the input and output values must be
 the same.

 <p>Each output element has the same timestamp and is in the same window as its corresponding
 input element, and the output <code>PCollection</code> has the same <a href="../../../../../org/apache/beam/sdk/transforms/windowing/WindowFn.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>WindowFn</code></a> associated with it as the input.

 <p>See <a href="../../../../../org/apache/beam/sdk/transforms/Combine.GroupedValues.html" title="class in org.apache.beam.sdk.transforms"><code>Combine.GroupedValues</code></a> for more information.

 <p>Note that <a href="../../../../../org/apache/beam/sdk/transforms/Combine.html#perKey-org.apache.beam.sdk.transforms.SerializableBiFunction-"><code>perKey(SerializableBiFunction)</code></a> is typically more convenient to use than
 <a href="../../../../../org/apache/beam/sdk/transforms/GroupByKey.html" title="class in org.apache.beam.sdk.transforms"><code>GroupByKey</code></a> followed by <code>groupedValues(...)</code>.</div>
</li>
</ul>
<a name="groupedValues-org.apache.beam.sdk.transforms.CombineFnBase.GlobalCombineFn-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>groupedValues</h4>
<pre>public static&nbsp;&lt;K,InputT,OutputT&gt;&nbsp;<a href="../../../../../org/apache/beam/sdk/transforms/Combine.GroupedValues.html" title="class in org.apache.beam.sdk.transforms">Combine.GroupedValues</a>&lt;K,InputT,OutputT&gt;&nbsp;groupedValues(<a href="../../../../../org/apache/beam/sdk/transforms/CombineFnBase.GlobalCombineFn.html" title="interface in org.apache.beam.sdk.transforms">CombineFnBase.GlobalCombineFn</a>&lt;? super InputT,?,OutputT&gt;&nbsp;fn)</pre>
<div class="block">Returns a <a href="../../../../../org/apache/beam/sdk/transforms/Combine.GroupedValues.html" title="class in org.apache.beam.sdk.transforms"><code>Combine.GroupedValues</code></a> <code>PTransform</code> that takes a <code>PCollection</code> of <code>KV</code>s where a key maps to an <code>Iterable</code> of values, e.g., the result
 of a <code>GroupByKey</code>, then uses the given <code>CombineFn</code> to combine all the values
 associated with a key, ignoring the key. The types of the input and output values can differ.

 <p>Each output element has the same timestamp and is in the same window as its corresponding
 input element, and the output <code>PCollection</code> has the same <a href="../../../../../org/apache/beam/sdk/transforms/windowing/WindowFn.html" title="class in org.apache.beam.sdk.transforms.windowing"><code>WindowFn</code></a> associated with it as the input.

 <p>See <a href="../../../../../org/apache/beam/sdk/transforms/Combine.GroupedValues.html" title="class in org.apache.beam.sdk.transforms"><code>Combine.GroupedValues</code></a> for more information.

 <p>Note that <a href="../../../../../org/apache/beam/sdk/transforms/Combine.html#perKey-org.apache.beam.sdk.transforms.CombineFnBase.GlobalCombineFn-"><code>perKey(CombineFnBase.GlobalCombineFn)</code></a> is typically more convenient to use
 than <a href="../../../../../org/apache/beam/sdk/transforms/GroupByKey.html" title="class in org.apache.beam.sdk.transforms"><code>GroupByKey</code></a> followed by <code>groupedValues(...)</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/ApproximateUnique.PerKey.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/Combine.AccumulatingCombineFn.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/Combine.html" target="_top">Frames</a></li>
<li><a href="Combine.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.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&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>Field&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>
