blob: d5dee86cc790a5fcf9872f3cbb61bea16af18e17 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="de">
<head>
<!-- Generated by javadoc (17) -->
<title>PairStream (Storm 2.6.2 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: org.apache.storm.streams, class: PairStream">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="class-use/PairStream.html">Use</a></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#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&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="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.storm.streams</a></div>
<h1 title="Class PairStream" class="title">Class PairStream&lt;K,<wbr>V&gt;</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance"><a href="Stream.html" title="class in org.apache.storm.streams">org.apache.storm.streams.Stream</a>&lt;<a href="Pair.html" title="class in org.apache.storm.streams">Pair</a>&lt;K,<wbr>V&gt;&gt;
<div class="inheritance">org.apache.storm.streams.PairStream&lt;K,<wbr>V&gt;</div>
</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>Type Parameters:</dt>
<dd><code>K</code> - the key type</dd>
<dd><code>V</code> - the value type</dd>
</dl>
<hr>
<div class="type-signature"><span class="annotations"><a href="../annotation/InterfaceStability.Unstable.html" title="annotation in org.apache.storm.annotation">@Unstable</a>
</span><span class="modifiers">public class </span><span class="element-name type-name-label">PairStream&lt;K,<wbr>V&gt;</span>
<span class="extends-implements">extends <a href="Stream.html" title="class in org.apache.storm.streams">Stream</a>&lt;<a href="Pair.html" title="class in org.apache.storm.streams">Pair</a>&lt;K,<wbr>V&gt;&gt;</span></div>
<div class="block">Represents a stream of key-value pairs.</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="inherited-list">
<h3 id="fields-inherited-from-class-org.apache.storm.streams.Stream">Fields inherited from class&nbsp;org.apache.storm.streams.<a href="Stream.html" title="class in org.apache.storm.streams">Stream</a></h3>
<code><a href="Stream.html#KEY">KEY</a>, <a href="Stream.html#KEY_VALUE">KEY_VALUE</a>, <a href="Stream.html#node">node</a>, <a href="Stream.html#stream">stream</a>, <a href="Stream.html#streamBuilder">streamBuilder</a>, <a href="Stream.html#VALUE">VALUE</a></code></div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>&lt;A,<wbr>
R&gt;&nbsp;<a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr>R&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#aggregateByKey(org.apache.storm.streams.operations.CombinerAggregator)" class="member-name-link">aggregateByKey</a><wbr>(<a href="operations/CombinerAggregator.html" title="interface in org.apache.storm.streams.operations">CombinerAggregator</a>&lt;? super <a href="PairStream.html" title="type parameter in PairStream">V</a>,<wbr>A,<wbr>? extends R&gt;&nbsp;aggregator)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Aggregates the values for each key of this stream using the given <a href="operations/CombinerAggregator.html" title="interface in org.apache.storm.streams.operations"><code>CombinerAggregator</code></a>.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>&lt;R&gt;&nbsp;<a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr>R&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#aggregateByKey(R,org.apache.storm.streams.operations.BiFunction,org.apache.storm.streams.operations.BiFunction)" class="member-name-link">aggregateByKey</a><wbr>(R&nbsp;initialValue,
<a href="operations/BiFunction.html" title="interface in org.apache.storm.streams.operations">BiFunction</a>&lt;? super R,<wbr>? super <a href="PairStream.html" title="type parameter in PairStream">V</a>,<wbr>? extends R&gt;&nbsp;accumulator,
<a href="operations/BiFunction.html" title="interface in org.apache.storm.streams.operations">BiFunction</a>&lt;? super R,<wbr>? super R,<wbr>? extends R&gt;&nbsp;combiner)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Aggregates the values for each key of this stream using the given initial value, accumulator and combiner.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr><a href="PairStream.html" title="type parameter in PairStream">V</a>&gt;[]</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#branch(org.apache.storm.streams.operations.Predicate...)" class="member-name-link">branch</a><wbr>(<a href="operations/Predicate.html" title="interface in org.apache.storm.streams.operations">Predicate</a>&lt;? super <a href="Pair.html" title="class in org.apache.storm.streams">Pair</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr><a href="PairStream.html" title="type parameter in PairStream">V</a>&gt;&gt;...&nbsp;predicates)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns an array of streams by splitting the given stream into multiple branches based on the given predicates.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>&lt;V1&gt;&nbsp;<a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr><a href="Pair.html" title="class in org.apache.storm.streams">Pair</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">V</a>&gt;,<wbr><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;V1&gt;&gt;&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#coGroupByKey(org.apache.storm.streams.PairStream)" class="member-name-link">coGroupByKey</a><wbr>(<a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr>V1&gt;&nbsp;otherStream)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Groups the values of this stream with the values having the same key from the other stream.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Long.html" title="class or interface in java.lang" class="external-link">Long</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#countByKey()" class="member-name-link">countByKey</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Counts the values for each key of this stream.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr><a href="PairStream.html" title="type parameter in PairStream">V</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#filter(org.apache.storm.streams.operations.Predicate)" class="member-name-link">filter</a><wbr>(<a href="operations/Predicate.html" title="interface in org.apache.storm.streams.operations">Predicate</a>&lt;? super <a href="Pair.html" title="class in org.apache.storm.streams">Pair</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr><a href="PairStream.html" title="type parameter in PairStream">V</a>&gt;&gt;&nbsp;predicate)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns a stream consisting of the elements of this stream that matches the given filter.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>&lt;R&gt;&nbsp;<a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr>R&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#flatMapValues(org.apache.storm.streams.operations.FlatMapFunction)" class="member-name-link">flatMapValues</a><wbr>(<a href="operations/FlatMapFunction.html" title="interface in org.apache.storm.streams.operations">FlatMapFunction</a>&lt;? super <a href="PairStream.html" title="type parameter in PairStream">V</a>,<wbr>? extends R&gt;&nbsp;function)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Return a new stream by applying a <a href="operations/FlatMapFunction.html" title="interface in org.apache.storm.streams.operations"><code>FlatMapFunction</code></a> function to the value of each key-value pairs in this stream.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>&lt;V1&gt;&nbsp;<a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr><a href="Pair.html" title="class in org.apache.storm.streams">Pair</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">V</a>,<wbr>V1&gt;&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#fullOuterJoin(org.apache.storm.streams.PairStream)" class="member-name-link">fullOuterJoin</a><wbr>(<a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr>V1&gt;&nbsp;otherStream)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Does a full outer join of the values of this stream with the values having the same key from the other stream.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>&lt;R,<wbr>
V1&gt;&nbsp;<a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr>R&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#fullOuterJoin(org.apache.storm.streams.PairStream,org.apache.storm.streams.operations.ValueJoiner)" class="member-name-link">fullOuterJoin</a><wbr>(<a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr>V1&gt;&nbsp;otherStream,
<a href="operations/ValueJoiner.html" title="interface in org.apache.storm.streams.operations">ValueJoiner</a>&lt;? super <a href="PairStream.html" title="type parameter in PairStream">V</a>,<wbr>? super V1,<wbr>? extends R&gt;&nbsp;valueJoiner)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Does a full outer join of the values of this stream with the values having the same key from the other stream.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">V</a>&gt;&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#groupByKey()" class="member-name-link">groupByKey</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns a new stream where the values are grouped by the keys.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">V</a>&gt;&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#groupByKeyAndWindow(org.apache.storm.streams.windowing.Window)" class="member-name-link">groupByKeyAndWindow</a><wbr>(<a href="windowing/Window.html" title="interface in org.apache.storm.streams.windowing">Window</a>&lt;?,<wbr>?&gt;&nbsp;window)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns a new stream where the values are grouped by keys and the given window.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>&lt;V1&gt;&nbsp;<a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr><a href="Pair.html" title="class in org.apache.storm.streams">Pair</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">V</a>,<wbr>V1&gt;&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#join(org.apache.storm.streams.PairStream)" class="member-name-link">join</a><wbr>(<a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr>V1&gt;&nbsp;otherStream)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Join the values of this stream with the values having the same key from the other stream.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>&lt;R,<wbr>
V1&gt;&nbsp;<a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr>R&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#join(org.apache.storm.streams.PairStream,org.apache.storm.streams.operations.ValueJoiner)" class="member-name-link">join</a><wbr>(<a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr>V1&gt;&nbsp;otherStream,
<a href="operations/ValueJoiner.html" title="interface in org.apache.storm.streams.operations">ValueJoiner</a>&lt;? super <a href="PairStream.html" title="type parameter in PairStream">V</a>,<wbr>? super V1,<wbr>? extends R&gt;&nbsp;valueJoiner)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Join the values of this stream with the values having the same key from the other stream.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>&lt;V1&gt;&nbsp;<a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr><a href="Pair.html" title="class in org.apache.storm.streams">Pair</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">V</a>,<wbr>V1&gt;&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#leftOuterJoin(org.apache.storm.streams.PairStream)" class="member-name-link">leftOuterJoin</a><wbr>(<a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr>V1&gt;&nbsp;otherStream)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Does a left outer join of the values of this stream with the values having the same key from the other stream.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>&lt;R,<wbr>
V1&gt;&nbsp;<a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr>R&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#leftOuterJoin(org.apache.storm.streams.PairStream,org.apache.storm.streams.operations.ValueJoiner)" class="member-name-link">leftOuterJoin</a><wbr>(<a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr>V1&gt;&nbsp;otherStream,
<a href="operations/ValueJoiner.html" title="interface in org.apache.storm.streams.operations">ValueJoiner</a>&lt;? super <a href="PairStream.html" title="type parameter in PairStream">V</a>,<wbr>? super V1,<wbr>? extends R&gt;&nbsp;valueJoiner)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Does a left outer join of the values of this stream with the values having the same key from the other stream.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>&lt;R&gt;&nbsp;<a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr>R&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#mapValues(org.apache.storm.streams.operations.Function)" class="member-name-link">mapValues</a><wbr>(<a href="operations/Function.html" title="interface in org.apache.storm.streams.operations">Function</a>&lt;? super <a href="PairStream.html" title="type parameter in PairStream">V</a>,<wbr>? extends R&gt;&nbsp;function)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns a new stream by applying a <a href="operations/Function.html" title="interface in org.apache.storm.streams.operations"><code>Function</code></a> to the value of each key-value pairs in this stream.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr><a href="PairStream.html" title="type parameter in PairStream">V</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#peek(org.apache.storm.streams.operations.Consumer)" class="member-name-link">peek</a><wbr>(<a href="operations/Consumer.html" title="interface in org.apache.storm.streams.operations">Consumer</a>&lt;? super <a href="Pair.html" title="class in org.apache.storm.streams">Pair</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr><a href="PairStream.html" title="type parameter in PairStream">V</a>&gt;&gt;&nbsp;action)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns a stream consisting of the elements of this stream, additionally performing the provided action on each element as they are
consumed from the resulting stream.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr><a href="PairStream.html" title="type parameter in PairStream">V</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#reduceByKey(org.apache.storm.streams.operations.Reducer)" class="member-name-link">reduceByKey</a><wbr>(<a href="operations/Reducer.html" title="interface in org.apache.storm.streams.operations">Reducer</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">V</a>&gt;&nbsp;reducer)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Performs a reduction on the values for each key of this stream by repeatedly applying the reducer.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr><a href="PairStream.html" title="type parameter in PairStream">V</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#reduceByKeyAndWindow(org.apache.storm.streams.operations.Reducer,org.apache.storm.streams.windowing.Window)" class="member-name-link">reduceByKeyAndWindow</a><wbr>(<a href="operations/Reducer.html" title="interface in org.apache.storm.streams.operations">Reducer</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">V</a>&gt;&nbsp;reducer,
<a href="windowing/Window.html" title="interface in org.apache.storm.streams.windowing">Window</a>&lt;?,<wbr>?&gt;&nbsp;window)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns a new stream where the values that arrive within a window having the same key will be reduced by repeatedly applying the
reducer.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr><a href="PairStream.html" title="type parameter in PairStream">V</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#repartition(int)" class="member-name-link">repartition</a><wbr>(int&nbsp;parallelism)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns a new stream with the given value of parallelism.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>&lt;V1&gt;&nbsp;<a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr><a href="Pair.html" title="class in org.apache.storm.streams">Pair</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">V</a>,<wbr>V1&gt;&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#rightOuterJoin(org.apache.storm.streams.PairStream)" class="member-name-link">rightOuterJoin</a><wbr>(<a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr>V1&gt;&nbsp;otherStream)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Does a right outer join of the values of this stream with the values having the same key from the other stream.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>&lt;R,<wbr>
V1&gt;&nbsp;<a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr>R&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#rightOuterJoin(org.apache.storm.streams.PairStream,org.apache.storm.streams.operations.ValueJoiner)" class="member-name-link">rightOuterJoin</a><wbr>(<a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr>V1&gt;&nbsp;otherStream,
<a href="operations/ValueJoiner.html" title="interface in org.apache.storm.streams.operations">ValueJoiner</a>&lt;? super <a href="PairStream.html" title="type parameter in PairStream">V</a>,<wbr>? super V1,<wbr>? extends R&gt;&nbsp;valueJoiner)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Does a right outer join of the values of this stream with the values having the same key from the other stream.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>&lt;R&gt;&nbsp;<a href="StreamState.html" title="class in org.apache.storm.streams">StreamState</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr>R&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#updateStateByKey(org.apache.storm.streams.operations.StateUpdater)" class="member-name-link">updateStateByKey</a><wbr>(<a href="operations/StateUpdater.html" title="interface in org.apache.storm.streams.operations">StateUpdater</a>&lt;? super <a href="PairStream.html" title="type parameter in PairStream">V</a>,<wbr>? extends R&gt;&nbsp;stateUpdater)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Update the state by applying the given state update function to the previous state of the key and the new value for the key.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>&lt;R&gt;&nbsp;<a href="StreamState.html" title="class in org.apache.storm.streams">StreamState</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr>R&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#updateStateByKey(R,org.apache.storm.streams.operations.BiFunction)" class="member-name-link">updateStateByKey</a><wbr>(R&nbsp;initialValue,
<a href="operations/BiFunction.html" title="interface in org.apache.storm.streams.operations">BiFunction</a>&lt;? super R,<wbr>? super <a href="PairStream.html" title="type parameter in PairStream">V</a>,<wbr>? extends R&gt;&nbsp;stateUpdateFn)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Update the state by applying the given state update function to the previous state of the key and the new value for the key.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr><a href="PairStream.html" title="type parameter in PairStream">V</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#window(org.apache.storm.streams.windowing.Window)" class="member-name-link">window</a><wbr>(<a href="windowing/Window.html" title="interface in org.apache.storm.streams.windowing">Window</a>&lt;?,<wbr>?&gt;&nbsp;window)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns a new stream consisting of the elements that fall within the window as specified by the window parameter.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.apache.storm.streams.Stream">Methods inherited from class&nbsp;org.apache.storm.streams.<a href="Stream.html" title="class in org.apache.storm.streams">Stream</a></h3>
<code><a href="Stream.html#aggregate(org.apache.storm.streams.operations.CombinerAggregator)">aggregate</a>, <a href="Stream.html#aggregate(R,org.apache.storm.streams.operations.BiFunction,org.apache.storm.streams.operations.BiFunction)">aggregate</a>, <a href="Stream.html#count()">count</a>, <a href="Stream.html#flatMap(org.apache.storm.streams.operations.FlatMapFunction)">flatMap</a>, <a href="Stream.html#flatMapToPair(org.apache.storm.streams.operations.PairFlatMapFunction)">flatMapToPair</a>, <a href="Stream.html#forEach(org.apache.storm.streams.operations.Consumer)">forEach</a>, <a href="Stream.html#map(org.apache.storm.streams.operations.Function)">map</a>, <a href="Stream.html#mapToPair(org.apache.storm.streams.operations.PairFunction)">mapToPair</a>, <a href="Stream.html#partitionBy(org.apache.storm.tuple.Fields,int)">partitionBy</a>, <a href="Stream.html#print()">print</a>, <a href="Stream.html#reduce(org.apache.storm.streams.operations.Reducer)">reduce</a>, <a href="Stream.html#stateQuery(org.apache.storm.streams.StreamState)">stateQuery</a>, <a href="Stream.html#to(org.apache.storm.topology.IBasicBolt)">to</a>, <a href="Stream.html#to(org.apache.storm.topology.IBasicBolt,int)">to</a>, <a href="Stream.html#to(org.apache.storm.topology.IRichBolt)">to</a>, <a href="Stream.html#to(org.apache.storm.topology.IRichBolt,int)">to</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="mapValues(org.apache.storm.streams.operations.Function)">
<h3>mapValues</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="type-parameters">&lt;R&gt;</span>&nbsp;<span class="return-type"><a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr>R&gt;</span>&nbsp;<span class="element-name">mapValues</span><wbr><span class="parameters">(<a href="operations/Function.html" title="interface in org.apache.storm.streams.operations">Function</a>&lt;? super <a href="PairStream.html" title="type parameter in PairStream">V</a>,<wbr>? extends R&gt;&nbsp;function)</span></div>
<div class="block">Returns a new stream by applying a <a href="operations/Function.html" title="interface in org.apache.storm.streams.operations"><code>Function</code></a> to the value of each key-value pairs in this stream.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>function</code> - the mapping function</dd>
<dt>Returns:</dt>
<dd>the new stream</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="flatMapValues(org.apache.storm.streams.operations.FlatMapFunction)">
<h3>flatMapValues</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="type-parameters">&lt;R&gt;</span>&nbsp;<span class="return-type"><a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr>R&gt;</span>&nbsp;<span class="element-name">flatMapValues</span><wbr><span class="parameters">(<a href="operations/FlatMapFunction.html" title="interface in org.apache.storm.streams.operations">FlatMapFunction</a>&lt;? super <a href="PairStream.html" title="type parameter in PairStream">V</a>,<wbr>? extends R&gt;&nbsp;function)</span></div>
<div class="block">Return a new stream by applying a <a href="operations/FlatMapFunction.html" title="interface in org.apache.storm.streams.operations"><code>FlatMapFunction</code></a> function to the value of each key-value pairs in this stream.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>function</code> - the flatmap function</dd>
<dt>Returns:</dt>
<dd>the new stream</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="aggregateByKey(R,org.apache.storm.streams.operations.BiFunction,org.apache.storm.streams.operations.BiFunction)">
<h3 id="aggregateByKey(java.lang.Object,org.apache.storm.streams.operations.BiFunction,org.apache.storm.streams.operations.BiFunction)">aggregateByKey</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="type-parameters">&lt;R&gt;</span>&nbsp;<span class="return-type"><a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr>R&gt;</span>&nbsp;<span class="element-name">aggregateByKey</span><wbr><span class="parameters">(R&nbsp;initialValue,
<a href="operations/BiFunction.html" title="interface in org.apache.storm.streams.operations">BiFunction</a>&lt;? super R,<wbr>? super <a href="PairStream.html" title="type parameter in PairStream">V</a>,<wbr>? extends R&gt;&nbsp;accumulator,
<a href="operations/BiFunction.html" title="interface in org.apache.storm.streams.operations">BiFunction</a>&lt;? super R,<wbr>? super R,<wbr>? extends R&gt;&nbsp;combiner)</span></div>
<div class="block">Aggregates the values for each key of this stream using the given initial value, accumulator and combiner.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>initialValue</code> - the initial value of the result</dd>
<dd><code>accumulator</code> - the accumulator</dd>
<dd><code>combiner</code> - the combiner</dd>
<dt>Returns:</dt>
<dd>the new stream</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="aggregateByKey(org.apache.storm.streams.operations.CombinerAggregator)">
<h3>aggregateByKey</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="type-parameters">&lt;A,<wbr>
R&gt;</span>&nbsp;<span class="return-type"><a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr>R&gt;</span>&nbsp;<span class="element-name">aggregateByKey</span><wbr><span class="parameters">(<a href="operations/CombinerAggregator.html" title="interface in org.apache.storm.streams.operations">CombinerAggregator</a>&lt;? super <a href="PairStream.html" title="type parameter in PairStream">V</a>,<wbr>A,<wbr>? extends R&gt;&nbsp;aggregator)</span></div>
<div class="block">Aggregates the values for each key of this stream using the given <a href="operations/CombinerAggregator.html" title="interface in org.apache.storm.streams.operations"><code>CombinerAggregator</code></a>.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>aggregator</code> - the combiner aggregator</dd>
<dt>Returns:</dt>
<dd>the new stream</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="countByKey()">
<h3>countByKey</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Long.html" title="class or interface in java.lang" class="external-link">Long</a>&gt;</span>&nbsp;<span class="element-name">countByKey</span>()</div>
<div class="block">Counts the values for each key of this stream.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the new stream</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="reduceByKey(org.apache.storm.streams.operations.Reducer)">
<h3>reduceByKey</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr><a href="PairStream.html" title="type parameter in PairStream">V</a>&gt;</span>&nbsp;<span class="element-name">reduceByKey</span><wbr><span class="parameters">(<a href="operations/Reducer.html" title="interface in org.apache.storm.streams.operations">Reducer</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">V</a>&gt;&nbsp;reducer)</span></div>
<div class="block">Performs a reduction on the values for each key of this stream by repeatedly applying the reducer.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>reducer</code> - the reducer</dd>
<dt>Returns:</dt>
<dd>the new stream</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="groupByKey()">
<h3>groupByKey</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">V</a>&gt;&gt;</span>&nbsp;<span class="element-name">groupByKey</span>()</div>
<div class="block">Returns a new stream where the values are grouped by the keys.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the new stream</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="groupByKeyAndWindow(org.apache.storm.streams.windowing.Window)">
<h3>groupByKeyAndWindow</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">V</a>&gt;&gt;</span>&nbsp;<span class="element-name">groupByKeyAndWindow</span><wbr><span class="parameters">(<a href="windowing/Window.html" title="interface in org.apache.storm.streams.windowing">Window</a>&lt;?,<wbr>?&gt;&nbsp;window)</span></div>
<div class="block">Returns a new stream where the values are grouped by keys and the given window. The values that arrive within a window having the
same key will be merged together and returned as an Iterable of values mapped to the key.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>window</code> - the window configuration</dd>
<dt>Returns:</dt>
<dd>the new stream</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="reduceByKeyAndWindow(org.apache.storm.streams.operations.Reducer,org.apache.storm.streams.windowing.Window)">
<h3>reduceByKeyAndWindow</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr><a href="PairStream.html" title="type parameter in PairStream">V</a>&gt;</span>&nbsp;<span class="element-name">reduceByKeyAndWindow</span><wbr><span class="parameters">(<a href="operations/Reducer.html" title="interface in org.apache.storm.streams.operations">Reducer</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">V</a>&gt;&nbsp;reducer,
<a href="windowing/Window.html" title="interface in org.apache.storm.streams.windowing">Window</a>&lt;?,<wbr>?&gt;&nbsp;window)</span></div>
<div class="block">Returns a new stream where the values that arrive within a window having the same key will be reduced by repeatedly applying the
reducer.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>reducer</code> - the reducer</dd>
<dd><code>window</code> - the window configuration</dd>
<dt>Returns:</dt>
<dd>the new stream</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="peek(org.apache.storm.streams.operations.Consumer)">
<h3>peek</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr><a href="PairStream.html" title="type parameter in PairStream">V</a>&gt;</span>&nbsp;<span class="element-name">peek</span><wbr><span class="parameters">(<a href="operations/Consumer.html" title="interface in org.apache.storm.streams.operations">Consumer</a>&lt;? super <a href="Pair.html" title="class in org.apache.storm.streams">Pair</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr><a href="PairStream.html" title="type parameter in PairStream">V</a>&gt;&gt;&nbsp;action)</span></div>
<div class="block">Returns a stream consisting of the elements of this stream, additionally performing the provided action on each element as they are
consumed from the resulting stream.</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="Stream.html#peek(org.apache.storm.streams.operations.Consumer)">peek</a></code>&nbsp;in class&nbsp;<code><a href="Stream.html" title="class in org.apache.storm.streams">Stream</a>&lt;<a href="Pair.html" title="class in org.apache.storm.streams">Pair</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr><a href="PairStream.html" title="type parameter in PairStream">V</a>&gt;&gt;</code></dd>
<dt>Parameters:</dt>
<dd><code>action</code> - the action to perform on the element as they are consumed from the stream</dd>
<dt>Returns:</dt>
<dd>the new stream</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="filter(org.apache.storm.streams.operations.Predicate)">
<h3>filter</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr><a href="PairStream.html" title="type parameter in PairStream">V</a>&gt;</span>&nbsp;<span class="element-name">filter</span><wbr><span class="parameters">(<a href="operations/Predicate.html" title="interface in org.apache.storm.streams.operations">Predicate</a>&lt;? super <a href="Pair.html" title="class in org.apache.storm.streams">Pair</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr><a href="PairStream.html" title="type parameter in PairStream">V</a>&gt;&gt;&nbsp;predicate)</span></div>
<div class="block">Returns a stream consisting of the elements of this stream that matches the given filter.</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="Stream.html#filter(org.apache.storm.streams.operations.Predicate)">filter</a></code>&nbsp;in class&nbsp;<code><a href="Stream.html" title="class in org.apache.storm.streams">Stream</a>&lt;<a href="Pair.html" title="class in org.apache.storm.streams">Pair</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr><a href="PairStream.html" title="type parameter in PairStream">V</a>&gt;&gt;</code></dd>
<dt>Parameters:</dt>
<dd><code>predicate</code> - the predicate to apply to each element to determine if it should be included</dd>
<dt>Returns:</dt>
<dd>the new stream</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="join(org.apache.storm.streams.PairStream)">
<h3>join</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="type-parameters">&lt;V1&gt;</span>&nbsp;<span class="return-type"><a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr><a href="Pair.html" title="class in org.apache.storm.streams">Pair</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">V</a>,<wbr>V1&gt;&gt;</span>&nbsp;<span class="element-name">join</span><wbr><span class="parameters">(<a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr>V1&gt;&nbsp;otherStream)</span></div>
<div class="block">Join the values of this stream with the values having the same key from the other stream.
<p>
Note: The parallelism of this stream is carried forward to the joined stream.
</p></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>otherStream</code> - the other stream</dd>
<dt>Returns:</dt>
<dd>the new stream</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="join(org.apache.storm.streams.PairStream,org.apache.storm.streams.operations.ValueJoiner)">
<h3>join</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="type-parameters">&lt;R,<wbr>
V1&gt;</span>&nbsp;<span class="return-type"><a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr>R&gt;</span>&nbsp;<span class="element-name">join</span><wbr><span class="parameters">(<a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr>V1&gt;&nbsp;otherStream,
<a href="operations/ValueJoiner.html" title="interface in org.apache.storm.streams.operations">ValueJoiner</a>&lt;? super <a href="PairStream.html" title="type parameter in PairStream">V</a>,<wbr>? super V1,<wbr>? extends R&gt;&nbsp;valueJoiner)</span></div>
<div class="block">Join the values of this stream with the values having the same key from the other stream.
<p>
Note: The parallelism of this stream is carried forward to the joined stream.
</p></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>otherStream</code> - the other stream</dd>
<dd><code>valueJoiner</code> - the <a href="operations/ValueJoiner.html" title="interface in org.apache.storm.streams.operations"><code>ValueJoiner</code></a></dd>
<dt>Returns:</dt>
<dd>the new stream</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="leftOuterJoin(org.apache.storm.streams.PairStream)">
<h3>leftOuterJoin</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="type-parameters">&lt;V1&gt;</span>&nbsp;<span class="return-type"><a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr><a href="Pair.html" title="class in org.apache.storm.streams">Pair</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">V</a>,<wbr>V1&gt;&gt;</span>&nbsp;<span class="element-name">leftOuterJoin</span><wbr><span class="parameters">(<a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr>V1&gt;&nbsp;otherStream)</span></div>
<div class="block">Does a left outer join of the values of this stream with the values having the same key from the other stream.
<p>
Note: The parallelism of this stream is carried forward to the joined stream.
</p></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>otherStream</code> - the other stream</dd>
<dt>Returns:</dt>
<dd>the new stream</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="leftOuterJoin(org.apache.storm.streams.PairStream,org.apache.storm.streams.operations.ValueJoiner)">
<h3>leftOuterJoin</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="type-parameters">&lt;R,<wbr>
V1&gt;</span>&nbsp;<span class="return-type"><a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr>R&gt;</span>&nbsp;<span class="element-name">leftOuterJoin</span><wbr><span class="parameters">(<a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr>V1&gt;&nbsp;otherStream,
<a href="operations/ValueJoiner.html" title="interface in org.apache.storm.streams.operations">ValueJoiner</a>&lt;? super <a href="PairStream.html" title="type parameter in PairStream">V</a>,<wbr>? super V1,<wbr>? extends R&gt;&nbsp;valueJoiner)</span></div>
<div class="block">Does a left outer join of the values of this stream with the values having the same key from the other stream.
<p>
Note: The parallelism of this stream is carried forward to the joined stream.
</p></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>otherStream</code> - the other stream</dd>
<dd><code>valueJoiner</code> - the <a href="operations/ValueJoiner.html" title="interface in org.apache.storm.streams.operations"><code>ValueJoiner</code></a></dd>
<dt>Returns:</dt>
<dd>the new stream</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="rightOuterJoin(org.apache.storm.streams.PairStream)">
<h3>rightOuterJoin</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="type-parameters">&lt;V1&gt;</span>&nbsp;<span class="return-type"><a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr><a href="Pair.html" title="class in org.apache.storm.streams">Pair</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">V</a>,<wbr>V1&gt;&gt;</span>&nbsp;<span class="element-name">rightOuterJoin</span><wbr><span class="parameters">(<a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr>V1&gt;&nbsp;otherStream)</span></div>
<div class="block">Does a right outer join of the values of this stream with the values having the same key from the other stream.
<p>
Note: The parallelism of this stream is carried forward to the joined stream.
</p></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>otherStream</code> - the other stream</dd>
<dt>Returns:</dt>
<dd>the new stream</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="rightOuterJoin(org.apache.storm.streams.PairStream,org.apache.storm.streams.operations.ValueJoiner)">
<h3>rightOuterJoin</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="type-parameters">&lt;R,<wbr>
V1&gt;</span>&nbsp;<span class="return-type"><a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr>R&gt;</span>&nbsp;<span class="element-name">rightOuterJoin</span><wbr><span class="parameters">(<a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr>V1&gt;&nbsp;otherStream,
<a href="operations/ValueJoiner.html" title="interface in org.apache.storm.streams.operations">ValueJoiner</a>&lt;? super <a href="PairStream.html" title="type parameter in PairStream">V</a>,<wbr>? super V1,<wbr>? extends R&gt;&nbsp;valueJoiner)</span></div>
<div class="block">Does a right outer join of the values of this stream with the values having the same key from the other stream.
<p>
Note: The parallelism of this stream is carried forward to the joined stream.
</p></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>otherStream</code> - the other stream</dd>
<dd><code>valueJoiner</code> - the <a href="operations/ValueJoiner.html" title="interface in org.apache.storm.streams.operations"><code>ValueJoiner</code></a></dd>
<dt>Returns:</dt>
<dd>the new stream</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="fullOuterJoin(org.apache.storm.streams.PairStream)">
<h3>fullOuterJoin</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="type-parameters">&lt;V1&gt;</span>&nbsp;<span class="return-type"><a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr><a href="Pair.html" title="class in org.apache.storm.streams">Pair</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">V</a>,<wbr>V1&gt;&gt;</span>&nbsp;<span class="element-name">fullOuterJoin</span><wbr><span class="parameters">(<a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr>V1&gt;&nbsp;otherStream)</span></div>
<div class="block">Does a full outer join of the values of this stream with the values having the same key from the other stream.
<p>
Note: The parallelism of this stream is carried forward to the joined stream.
</p></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>otherStream</code> - the other stream</dd>
<dt>Returns:</dt>
<dd>the new stream</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="fullOuterJoin(org.apache.storm.streams.PairStream,org.apache.storm.streams.operations.ValueJoiner)">
<h3>fullOuterJoin</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="type-parameters">&lt;R,<wbr>
V1&gt;</span>&nbsp;<span class="return-type"><a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr>R&gt;</span>&nbsp;<span class="element-name">fullOuterJoin</span><wbr><span class="parameters">(<a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr>V1&gt;&nbsp;otherStream,
<a href="operations/ValueJoiner.html" title="interface in org.apache.storm.streams.operations">ValueJoiner</a>&lt;? super <a href="PairStream.html" title="type parameter in PairStream">V</a>,<wbr>? super V1,<wbr>? extends R&gt;&nbsp;valueJoiner)</span></div>
<div class="block">Does a full outer join of the values of this stream with the values having the same key from the other stream.
<p>
Note: The parallelism of this stream is carried forward to the joined stream.
</p></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>otherStream</code> - the other stream</dd>
<dd><code>valueJoiner</code> - the <a href="operations/ValueJoiner.html" title="interface in org.apache.storm.streams.operations"><code>ValueJoiner</code></a></dd>
<dt>Returns:</dt>
<dd>the new stream</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="window(org.apache.storm.streams.windowing.Window)">
<h3>window</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr><a href="PairStream.html" title="type parameter in PairStream">V</a>&gt;</span>&nbsp;<span class="element-name">window</span><wbr><span class="parameters">(<a href="windowing/Window.html" title="interface in org.apache.storm.streams.windowing">Window</a>&lt;?,<wbr>?&gt;&nbsp;window)</span></div>
<div class="block">Returns a new stream consisting of the elements that fall within the window as specified by the window parameter. The <a href="windowing/Window.html" title="interface in org.apache.storm.streams.windowing"><code>Window</code></a>
specification could be used to specify sliding or tumbling windows based on time duration or event count. For example,
<pre>
// time duration based sliding window
stream.window(SlidingWindows.of(Duration.minutes(10), Duration.minutes(1));
// count based sliding window
stream.window(SlidingWindows.of(Count.(10), Count.of(2)));
// time duration based tumbling window
stream.window(TumblingWindows.of(Duration.seconds(10));
</pre></div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="Stream.html#window(org.apache.storm.streams.windowing.Window)">window</a></code>&nbsp;in class&nbsp;<code><a href="Stream.html" title="class in org.apache.storm.streams">Stream</a>&lt;<a href="Pair.html" title="class in org.apache.storm.streams">Pair</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr><a href="PairStream.html" title="type parameter in PairStream">V</a>&gt;&gt;</code></dd>
<dt>Parameters:</dt>
<dd><code>window</code> - the window configuration</dd>
<dt>Returns:</dt>
<dd>the new stream</dd>
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="windowing/SlidingWindows.html" title="class in org.apache.storm.streams.windowing"><code>SlidingWindows</code></a></li>
<li><a href="windowing/TumblingWindows.html" title="class in org.apache.storm.streams.windowing"><code>TumblingWindows</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="repartition(int)">
<h3>repartition</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr><a href="PairStream.html" title="type parameter in PairStream">V</a>&gt;</span>&nbsp;<span class="element-name">repartition</span><wbr><span class="parameters">(int&nbsp;parallelism)</span></div>
<div class="block">Returns a new stream with the given value of parallelism. Further operations on this stream would execute at this level of
parallelism.</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="Stream.html#repartition(int)">repartition</a></code>&nbsp;in class&nbsp;<code><a href="Stream.html" title="class in org.apache.storm.streams">Stream</a>&lt;<a href="Pair.html" title="class in org.apache.storm.streams">Pair</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr><a href="PairStream.html" title="type parameter in PairStream">V</a>&gt;&gt;</code></dd>
<dt>Parameters:</dt>
<dd><code>parallelism</code> - the parallelism value</dd>
<dt>Returns:</dt>
<dd>the new stream</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="branch(org.apache.storm.streams.operations.Predicate...)">
<h3>branch</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr><a href="PairStream.html" title="type parameter in PairStream">V</a>&gt;[]</span>&nbsp;<span class="element-name">branch</span><wbr><span class="parameters">(<a href="operations/Predicate.html" title="interface in org.apache.storm.streams.operations">Predicate</a>&lt;? super <a href="Pair.html" title="class in org.apache.storm.streams">Pair</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr><a href="PairStream.html" title="type parameter in PairStream">V</a>&gt;&gt;...&nbsp;predicates)</span></div>
<div class="block">Returns an array of streams by splitting the given stream into multiple branches based on the given predicates. The predicates are
applied in the given order to the values of this stream and the result is forwarded to the corresponding (index based) result stream
based on the (index of) predicate that matches.
<p>
<b>Note:</b> If none of the predicates match a value, that value is dropped.
</p></div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="Stream.html#branch(org.apache.storm.streams.operations.Predicate...)">branch</a></code>&nbsp;in class&nbsp;<code><a href="Stream.html" title="class in org.apache.storm.streams">Stream</a>&lt;<a href="Pair.html" title="class in org.apache.storm.streams">Pair</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr><a href="PairStream.html" title="type parameter in PairStream">V</a>&gt;&gt;</code></dd>
<dt>Parameters:</dt>
<dd><code>predicates</code> - the predicates</dd>
<dt>Returns:</dt>
<dd>an array of result streams (branches) corresponding to the given predicates</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="updateStateByKey(R,org.apache.storm.streams.operations.BiFunction)">
<h3 id="updateStateByKey(java.lang.Object,org.apache.storm.streams.operations.BiFunction)">updateStateByKey</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="type-parameters">&lt;R&gt;</span>&nbsp;<span class="return-type"><a href="StreamState.html" title="class in org.apache.storm.streams">StreamState</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr>R&gt;</span>&nbsp;<span class="element-name">updateStateByKey</span><wbr><span class="parameters">(R&nbsp;initialValue,
<a href="operations/BiFunction.html" title="interface in org.apache.storm.streams.operations">BiFunction</a>&lt;? super R,<wbr>? super <a href="PairStream.html" title="type parameter in PairStream">V</a>,<wbr>? extends R&gt;&nbsp;stateUpdateFn)</span></div>
<div class="block">Update the state by applying the given state update function to the previous state of the key and the new value for the key. This
internally uses <a href="../topology/IStatefulBolt.html" title="interface in org.apache.storm.topology"><code>IStatefulBolt</code></a> to save the state. Use <a href="../Config.html#TOPOLOGY_STATE_PROVIDER"><code>Config.TOPOLOGY_STATE_PROVIDER</code></a> to
choose the state implementation.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>stateUpdateFn</code> - the state update function</dd>
<dt>Returns:</dt>
<dd>the <a href="StreamState.html" title="class in org.apache.storm.streams"><code>StreamState</code></a> which can be used to query the state</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="updateStateByKey(org.apache.storm.streams.operations.StateUpdater)">
<h3>updateStateByKey</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="type-parameters">&lt;R&gt;</span>&nbsp;<span class="return-type"><a href="StreamState.html" title="class in org.apache.storm.streams">StreamState</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr>R&gt;</span>&nbsp;<span class="element-name">updateStateByKey</span><wbr><span class="parameters">(<a href="operations/StateUpdater.html" title="interface in org.apache.storm.streams.operations">StateUpdater</a>&lt;? super <a href="PairStream.html" title="type parameter in PairStream">V</a>,<wbr>? extends R&gt;&nbsp;stateUpdater)</span></div>
<div class="block">Update the state by applying the given state update function to the previous state of the key and the new value for the key. This
internally uses <a href="../topology/IStatefulBolt.html" title="interface in org.apache.storm.topology"><code>IStatefulBolt</code></a> to save the state. Use <a href="../Config.html#TOPOLOGY_STATE_PROVIDER"><code>Config.TOPOLOGY_STATE_PROVIDER</code></a> to
choose the state implementation.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>stateUpdater</code> - the state updater</dd>
<dt>Returns:</dt>
<dd>the <a href="StreamState.html" title="class in org.apache.storm.streams"><code>StreamState</code></a> which can be used to query the state</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="coGroupByKey(org.apache.storm.streams.PairStream)">
<h3>coGroupByKey</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="type-parameters">&lt;V1&gt;</span>
<span class="return-type"><a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr><a href="Pair.html" title="class in org.apache.storm.streams">Pair</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">V</a>&gt;,<wbr><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Iterable.html" title="class or interface in java.lang" class="external-link">Iterable</a>&lt;V1&gt;&gt;&gt;</span>&nbsp;<span class="element-name">coGroupByKey</span><wbr><span class="parameters">(<a href="PairStream.html" title="class in org.apache.storm.streams">PairStream</a>&lt;<a href="PairStream.html" title="type parameter in PairStream">K</a>,<wbr>V1&gt;&nbsp;otherStream)</span></div>
<div class="block">Groups the values of this stream with the values having the same key from the other stream.
<p>
If stream1 has values - (k1, v1), (k2, v2), (k2, v3) <br/> and stream2 has values - (k1, x1), (k1, x2), (k3, x3) <br/> The the
co-grouped stream would contain - (k1, ([v1], [x1, x2]), (k2, ([v2, v3], [])), (k3, ([], [x3]))
</p>
<p>
Note: The parallelism of this stream is carried forward to the co-grouped stream.
</p></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>otherStream</code> - the other stream</dd>
<dt>Returns:</dt>
<dd>the new stream</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>Copyright &#169; 2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>