blob: ed4014972aeb566f710e60ec75778fd5841daf1a [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>TridentKafkaWordCount (Storm 1.0.6 API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="TridentKafkaWordCount (Storm 1.0.6 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/TridentKafkaWordCount.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">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/storm/starter/trident/TridentHBaseWindowingStoreTopology.html" title="class in org.apache.storm.starter.trident"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/storm/starter/trident/TridentMapExample.html" title="class in org.apache.storm.starter.trident"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/storm/starter/trident/TridentKafkaWordCount.html" target="_top">Frames</a></li>
<li><a href="TridentKafkaWordCount.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>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.storm.starter.trident</div>
<h2 title="Class TridentKafkaWordCount" class="title">Class TridentKafkaWordCount</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.storm.starter.trident.TridentKafkaWordCount</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">TridentKafkaWordCount</span>
extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block"><p>A sample word count trident topology using transactional kafka spout that has the following components. <ol> <li> <a href="../../../../../org/apache/storm/kafka/bolt/KafkaBolt.html" title="class in org.apache.storm.kafka.bolt"><code>KafkaBolt</code></a> that receives random sentences from <a href="../../../../../org/apache/storm/starter/spout/RandomSentenceSpout.html" title="class in org.apache.storm.starter.spout"><code>RandomSentenceSpout</code></a> and publishes the sentences to a kafka &ldquo;test&rdquo; topic. </li> <li> <a href="../../../../../org/apache/storm/kafka/trident/TransactionalTridentKafkaSpout.html" title="class in org.apache.storm.kafka.trident"><code>TransactionalTridentKafkaSpout</code></a> that consumes sentences from the &ldquo;test&rdquo; topic, splits it into words, aggregates and stores the word count in a <a href="../../../../../org/apache/storm/trident/testing/MemoryMapState.html" title="class in org.apache.storm.trident.testing"><code>MemoryMapState</code></a>. </li> <li> DRPC query that returns the word counts by querying the trident state (MemoryMapState). </li> </ol> <p> For more background read the <a href="https://storm.apache.org/documentation/Trident-tutorial.html">trident tutorial</a>, <a href="https://storm.apache.org/documentation/Trident-state">trident state</a> and <a href="https://github.com/apache/storm/tree/master/external/storm-kafka"> Storm Kafka </a>. </p></p></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/storm/generated/StormTopology.html" title="class in org.apache.storm.generated">StormTopology</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/storm/starter/trident/TridentKafkaWordCount.html#buildConsumerTopology-org.apache.storm.LocalDRPC-">buildConsumerTopology</a></span>(org.apache.storm.LocalDRPC&nbsp;drpc)</code>
<div class="block">Creates a trident topology that consumes sentences from the kafka &ldquo;test&rdquo; topic using a <a href="../../../../../org/apache/storm/kafka/trident/TransactionalTridentKafkaSpout.html" title="class in org.apache.storm.kafka.trident"><code>TransactionalTridentKafkaSpout</code></a> computes the word count and stores it in a <a href="../../../../../org/apache/storm/trident/testing/MemoryMapState.html" title="class in org.apache.storm.trident.testing"><code>MemoryMapState</code></a>.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/storm/generated/StormTopology.html" title="class in org.apache.storm.generated">StormTopology</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/storm/starter/trident/TridentKafkaWordCount.html#buildProducerTopology-java.util.Properties-">buildProducerTopology</a></span>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;prop)</code>
<div class="block">A topology that produces random sentences using <a href="../../../../../org/apache/storm/starter/spout/RandomSentenceSpout.html" title="class in org.apache.storm.starter.spout"><code>RandomSentenceSpout</code></a> and publishes the sentences using a KafkaBolt to kafka &ldquo;test&rdquo; topic.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/storm/Config.html" title="class in org.apache.storm">Config</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/storm/starter/trident/TridentKafkaWordCount.html#getConsumerConfig--">getConsumerConfig</a></span>()</code>
<div class="block">Return the consumer topology config.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/storm/starter/trident/TridentKafkaWordCount.html#getProducerConfig--">getProducerConfig</a></span>()</code>
<div class="block">Returns the storm config for the topology that publishes sentences to kafka &ldquo;test&rdquo; topic using a kafka bolt.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/storm/starter/trident/TridentKafkaWordCount.html#main-java.lang.String:A-">main</a></span>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)</code>
<div class="block">
To run this topology ensure you have a kafka broker running.</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.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></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="buildConsumerTopology-org.apache.storm.LocalDRPC-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>buildConsumerTopology</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/storm/generated/StormTopology.html" title="class in org.apache.storm.generated">StormTopology</a>&nbsp;buildConsumerTopology(org.apache.storm.LocalDRPC&nbsp;drpc)</pre>
<div class="block"><p>Creates a trident topology that consumes sentences from the kafka &ldquo;test&rdquo; topic using a <a href="../../../../../org/apache/storm/kafka/trident/TransactionalTridentKafkaSpout.html" title="class in org.apache.storm.kafka.trident"><code>TransactionalTridentKafkaSpout</code></a> computes the word count and stores it in a <a href="../../../../../org/apache/storm/trident/testing/MemoryMapState.html" title="class in org.apache.storm.trident.testing"><code>MemoryMapState</code></a>. A DRPC stream is then created to query the word counts.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>drpc</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
</dl>
</li>
</ul>
<a name="getConsumerConfig--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConsumerConfig</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/storm/Config.html" title="class in org.apache.storm">Config</a>&nbsp;getConsumerConfig()</pre>
<div class="block"><p>Return the consumer topology config.</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the topology config</dd>
</dl>
</li>
</ul>
<a name="buildProducerTopology-java.util.Properties-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>buildProducerTopology</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/storm/generated/StormTopology.html" title="class in org.apache.storm.generated">StormTopology</a>&nbsp;buildProducerTopology(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;prop)</pre>
<div class="block"><p>A topology that produces random sentences using <a href="../../../../../org/apache/storm/starter/spout/RandomSentenceSpout.html" title="class in org.apache.storm.starter.spout"><code>RandomSentenceSpout</code></a> and publishes the sentences using a KafkaBolt to kafka &ldquo;test&rdquo; topic.</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the storm topology</dd>
</dl>
</li>
</ul>
<a name="getProducerConfig--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProducerConfig</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;getProducerConfig()</pre>
<div class="block"><p>Returns the storm config for the topology that publishes sentences to kafka &ldquo;test&rdquo; topic using a kafka bolt. The KAFKA_BROKER_PROPERTIES is needed for the KafkaBolt.</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the topology config</dd>
</dl>
</li>
</ul>
<a name="main-java.lang.String:A-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>main</h4>
<pre>public static&nbsp;void&nbsp;main(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block"><p>
To run this topology ensure you have a kafka broker running.
</p><p>Create a topic &lsquo;test&rsquo; with command line, <pre> kafka-topics.sh &ndash;create &ndash;zookeeper localhost:2181 &ndash;replication-factor 1 &ndash;partition 1 &ndash;topic test </pre> To run in local mode, <pre> storm jar storm-starter-topologies-{version}.jar org.apache.storm.starter.trident.TridentKafkaWordCount </pre> This will also run a local DRPC query and print the word counts. <p> To run in distributed mode, run it with a topology name. You will also need to start a drpc server and specify the drpc server details storm.yaml before submitting the topology. </p> <pre> storm jar storm-starter-topologies-{version}.jar org.apache.storm.starter.trident.TridentKafkaWordCount zkhost:port broker:port wordcount </pre> This will submit two topologies, one for the producer and another for the consumer. You can query the results (word counts) by running an external drpc query against the drpc server.</p></div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/TridentKafkaWordCount.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">Help</a></li>
</ul>
<div class="aboutLanguage"><script type="text/javascript" src="../../../../../highlight.pack.js"></script>
<script type="text/javascript"><!--
hljs.initHighlightingOnLoad();
//--></script></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/storm/starter/trident/TridentHBaseWindowingStoreTopology.html" title="class in org.apache.storm.starter.trident"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/storm/starter/trident/TridentMapExample.html" title="class in org.apache.storm.starter.trident"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/storm/starter/trident/TridentKafkaWordCount.html" target="_top">Frames</a></li>
<li><a href="TridentKafkaWordCount.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>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 ======= -->
<p class="legalCopy"><small>Copyright &#169; 2018 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.</small></p>
</body>
</html>