You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@storm.apache.org by pt...@apache.org on 2018/02/14 20:57:49 UTC
[25/51] [partial] storm-site git commit: regenerate site for download
page changes
http://git-wip-us.apache.org/repos/asf/storm-site/blob/a7a19afb/content/releases/0.9.6/Trident-tutorial.html
----------------------------------------------------------------------
diff --git a/content/releases/0.9.6/Trident-tutorial.html b/content/releases/0.9.6/Trident-tutorial.html
index dc8ef30..6ba2fae 100644
--- a/content/releases/0.9.6/Trident-tutorial.html
+++ b/content/releases/0.9.6/Trident-tutorial.html
@@ -82,18 +82,16 @@
- <li><a href="/releases/1.1.0/index.html">1.1.0</a></li>
-
+ <li><a href="/releases/1.1.0/index.html">1.1.0</a></li>
+
<li><a href="/releases/1.0.4/index.html">1.0.4</a></li>
-
-
<li><a href="/releases/1.0.3/index.html">1.0.3</a></li>
@@ -104,6 +102,8 @@
+
+
<li><a href="/releases/0.10.2/index.html">0.10.2</a></li>
@@ -144,7 +144,7 @@
<li><a href="/contribute/BYLAWS.html">ByLaws</a></li>
</ul>
</li>
- <li><a href="/2017/09/15/storm105-released.html" id="news">News</a></li>
+ <li><a href="/2018/02/14/storm106-released.html" id="news">News</a></li>
</ul>
</nav>
</div>
@@ -175,10 +175,10 @@
<p>For the purposes of illustration, this example will read an infinite stream of sentences from the following source:</p>
<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">FixedBatchSpout</span> <span class="n">spout</span> <span class="o">=</span> <span class="k">new</span> <span class="n">FixedBatchSpout</span><span class="o">(</span><span class="k">new</span> <span class="n">Fields</span><span class="o">(</span><span class="s">"sentence"</span><span class="o">),</span> <span class="mi">3</span><span class="o">,</span>
- <span class="k">new</span> <span class="n">Values</span><span class="o">(</span><span class="s">"the cow jumped over the moon"</span><span class="o">),</span>
- <span class="k">new</span> <span class="n">Values</span><span class="o">(</span><span class="s">"the man went to the store and bought some candy"</span><span class="o">),</span>
- <span class="k">new</span> <span class="n">Values</span><span class="o">(</span><span class="s">"four score and seven years ago"</span><span class="o">),</span>
- <span class="k">new</span> <span class="n">Values</span><span class="o">(</span><span class="s">"how many apples can you eat"</span><span class="o">));</span>
+ <span class="k">new</span> <span class="nf">Values</span><span class="o">(</span><span class="s">"the cow jumped over the moon"</span><span class="o">),</span>
+ <span class="k">new</span> <span class="nf">Values</span><span class="o">(</span><span class="s">"the man went to the store and bought some candy"</span><span class="o">),</span>
+ <span class="k">new</span> <span class="nf">Values</span><span class="o">(</span><span class="s">"four score and seven years ago"</span><span class="o">),</span>
+ <span class="k">new</span> <span class="nf">Values</span><span class="o">(</span><span class="s">"how many apples can you eat"</span><span class="o">));</span>
<span class="n">spout</span><span class="o">.</span><span class="na">setCycle</span><span class="o">(</span><span class="kc">true</span><span class="o">);</span>
</code></pre></div>
<p>This spout cycles through that set of sentences over and over to produce the sentence stream. Here's the code to do the streaming word count part of the computation:</p>
@@ -202,7 +202,7 @@
<p>Back to the example, the spout emits a stream containing one field called "sentence". The next line of the topology definition applies the Split function to each tuple in the stream, taking the "sentence" field and splitting it into words. Each sentence tuple creates potentially many word tuples – for instance, the sentence "the cow jumped over the moon" creates six "word" tuples. Here's the definition of Split:</p>
<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">class</span> <span class="nc">Split</span> <span class="kd">extends</span> <span class="n">BaseFunction</span> <span class="o">{</span>
- <span class="kd">public</span> <span class="kt">void</span> <span class="n">execute</span><span class="o">(</span><span class="n">TridentTuple</span> <span class="n">tuple</span><span class="o">,</span> <span class="n">TridentCollector</span> <span class="n">collector</span><span class="o">)</span> <span class="o">{</span>
+ <span class="kd">public</span> <span class="kt">void</span> <span class="nf">execute</span><span class="o">(</span><span class="n">TridentTuple</span> <span class="n">tuple</span><span class="o">,</span> <span class="n">TridentCollector</span> <span class="n">collector</span><span class="o">)</span> <span class="o">{</span>
<span class="n">String</span> <span class="n">sentence</span> <span class="o">=</span> <span class="n">tuple</span><span class="o">.</span><span class="na">getString</span><span class="o">(</span><span class="mi">0</span><span class="o">);</span>
<span class="k">for</span><span class="o">(</span><span class="n">String</span> <span class="nl">word:</span> <span class="n">sentence</span><span class="o">.</span><span class="na">split</span><span class="o">(</span><span class="s">" "</span><span class="o">))</span> <span class="o">{</span>
<span class="n">collector</span><span class="o">.</span><span class="na">emit</span><span class="o">(</span><span class="k">new</span> <span class="n">Values</span><span class="o">(</span><span class="n">word</span><span class="o">));</span>
@@ -284,15 +284,15 @@
<p>Next, the set of followers is uniqued and counted. This is done in two steps. First a "group by" is done on the batch by "follower", running the "One" aggregator on each group. The "One" aggregator simply emits a single tuple containing the number one for each group. Then, the ones are summed together to get the unique count of the followers set. Here's the definition of the "One" aggregator:</p>
<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">class</span> <span class="nc">One</span> <span class="kd">implements</span> <span class="n">CombinerAggregator</span><span class="o"><</span><span class="n">Integer</span><span class="o">></span> <span class="o">{</span>
- <span class="kd">public</span> <span class="n">Integer</span> <span class="n">init</span><span class="o">(</span><span class="n">TridentTuple</span> <span class="n">tuple</span><span class="o">)</span> <span class="o">{</span>
+ <span class="kd">public</span> <span class="n">Integer</span> <span class="nf">init</span><span class="o">(</span><span class="n">TridentTuple</span> <span class="n">tuple</span><span class="o">)</span> <span class="o">{</span>
<span class="k">return</span> <span class="mi">1</span><span class="o">;</span>
<span class="o">}</span>
- <span class="kd">public</span> <span class="n">Integer</span> <span class="n">combine</span><span class="o">(</span><span class="n">Integer</span> <span class="n">val1</span><span class="o">,</span> <span class="n">Integer</span> <span class="n">val2</span><span class="o">)</span> <span class="o">{</span>
+ <span class="kd">public</span> <span class="n">Integer</span> <span class="nf">combine</span><span class="o">(</span><span class="n">Integer</span> <span class="n">val1</span><span class="o">,</span> <span class="n">Integer</span> <span class="n">val2</span><span class="o">)</span> <span class="o">{</span>
<span class="k">return</span> <span class="mi">1</span><span class="o">;</span>
<span class="o">}</span>
- <span class="kd">public</span> <span class="n">Integer</span> <span class="n">zero</span><span class="o">()</span> <span class="o">{</span>
+ <span class="kd">public</span> <span class="n">Integer</span> <span class="nf">zero</span><span class="o">()</span> <span class="o">{</span>
<span class="k">return</span> <span class="mi">1</span><span class="o">;</span>
<span class="o">}</span>
<span class="o">}</span>
@@ -310,7 +310,7 @@
</code></pre></div>
<p>Suppose the implementation of MyFilter is this:</p>
<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">class</span> <span class="nc">MyFilter</span> <span class="kd">extends</span> <span class="n">BaseFilter</span> <span class="o">{</span>
- <span class="kd">public</span> <span class="kt">boolean</span> <span class="n">isKeep</span><span class="o">(</span><span class="n">TridentTuple</span> <span class="n">tuple</span><span class="o">)</span> <span class="o">{</span>
+ <span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">isKeep</span><span class="o">(</span><span class="n">TridentTuple</span> <span class="n">tuple</span><span class="o">)</span> <span class="o">{</span>
<span class="k">return</span> <span class="n">tuple</span><span class="o">.</span><span class="na">getInteger</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span> <span class="o"><</span> <span class="mi">10</span><span class="o">;</span>
<span class="o">}</span>
<span class="o">}</span>
@@ -319,7 +319,7 @@
<p>Let's now look at how "function fields" work. Suppose you had this function:</p>
<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">class</span> <span class="nc">AddAndMultiply</span> <span class="kd">extends</span> <span class="n">BaseFunction</span> <span class="o">{</span>
- <span class="kd">public</span> <span class="kt">void</span> <span class="n">execute</span><span class="o">(</span><span class="n">TridentTuple</span> <span class="n">tuple</span><span class="o">,</span> <span class="n">TridentCollector</span> <span class="n">collector</span><span class="o">)</span> <span class="o">{</span>
+ <span class="kd">public</span> <span class="kt">void</span> <span class="nf">execute</span><span class="o">(</span><span class="n">TridentTuple</span> <span class="n">tuple</span><span class="o">,</span> <span class="n">TridentCollector</span> <span class="n">collector</span><span class="o">)</span> <span class="o">{</span>
<span class="kt">int</span> <span class="n">i1</span> <span class="o">=</span> <span class="n">tuple</span><span class="o">.</span><span class="na">getInteger</span><span class="o">(</span><span class="mi">0</span><span class="o">);</span>
<span class="kt">int</span> <span class="n">i2</span> <span class="o">=</span> <span class="n">tuple</span><span class="o">.</span><span class="na">getInteger</span><span class="o">(</span><span class="mi">1</span><span class="o">);</span>
<span class="n">collector</span><span class="o">.</span><span class="na">emit</span><span class="o">(</span><span class="k">new</span> <span class="n">Values</span><span class="o">(</span><span class="n">i1</span> <span class="o">+</span> <span class="n">i2</span><span class="o">,</span> <span class="n">i1</span> <span class="o">*</span> <span class="n">i2</span><span class="o">));</span>
http://git-wip-us.apache.org/repos/asf/storm-site/blob/a7a19afb/content/releases/0.9.6/Troubleshooting.html
----------------------------------------------------------------------
diff --git a/content/releases/0.9.6/Troubleshooting.html b/content/releases/0.9.6/Troubleshooting.html
index a0eb818..b994723 100644
--- a/content/releases/0.9.6/Troubleshooting.html
+++ b/content/releases/0.9.6/Troubleshooting.html
@@ -82,18 +82,16 @@
- <li><a href="/releases/1.1.0/index.html">1.1.0</a></li>
-
+ <li><a href="/releases/1.1.0/index.html">1.1.0</a></li>
+
<li><a href="/releases/1.0.4/index.html">1.0.4</a></li>
-
-
<li><a href="/releases/1.0.3/index.html">1.0.3</a></li>
@@ -104,6 +102,8 @@
+
+
<li><a href="/releases/0.10.2/index.html">0.10.2</a></li>
@@ -144,7 +144,7 @@
<li><a href="/contribute/BYLAWS.html">ByLaws</a></li>
</ul>
</li>
- <li><a href="/2017/09/15/storm105-released.html" id="news">News</a></li>
+ <li><a href="/2018/02/14/storm106-released.html" id="news">News</a></li>
</ul>
</nav>
</div>
@@ -229,7 +229,7 @@
<li>Try deleting the local dirs for the supervisors and restarting the daemons. Supervisors create a unique id for themselves and store it locally. When that id is copied to other nodes, Storm gets confused. </li>
</ul>
-<h3 id="quot-multiple-defaults-yaml-found-quot-error">"Multiple defaults.yaml found" error</h3>
+<h3 id="multiple-defaults-yaml-found-error">"Multiple defaults.yaml found" error</h3>
<p>Symptoms:</p>
@@ -243,7 +243,7 @@
<li>You're most likely including the Storm jars inside your topology jar. When packaging your topology jar, don't include the Storm jars as Storm will put those on the classpath for you.</li>
</ul>
-<h3 id="quot-nosuchmethoderror-quot-when-running-storm-jar">"NoSuchMethodError" when running storm jar</h3>
+<h3 id="nosuchmethoderror-when-running-storm-jar">"NoSuchMethodError" when running storm jar</h3>
<p>Symptoms:</p>
http://git-wip-us.apache.org/repos/asf/storm-site/blob/a7a19afb/content/releases/0.9.6/Tutorial.html
----------------------------------------------------------------------
diff --git a/content/releases/0.9.6/Tutorial.html b/content/releases/0.9.6/Tutorial.html
index 0f37368..5a73f37 100644
--- a/content/releases/0.9.6/Tutorial.html
+++ b/content/releases/0.9.6/Tutorial.html
@@ -82,18 +82,16 @@
- <li><a href="/releases/1.1.0/index.html">1.1.0</a></li>
-
+ <li><a href="/releases/1.1.0/index.html">1.1.0</a></li>
+
<li><a href="/releases/1.0.4/index.html">1.0.4</a></li>
-
-
<li><a href="/releases/1.0.3/index.html">1.0.3</a></li>
@@ -104,6 +102,8 @@
+
+
<li><a href="/releases/0.10.2/index.html">0.10.2</a></li>
@@ -144,7 +144,7 @@
<li><a href="/contribute/BYLAWS.html">ByLaws</a></li>
</ul>
</li>
- <li><a href="/2017/09/15/storm105-released.html" id="news">News</a></li>
+ <li><a href="/2018/02/14/storm106-released.html" id="news">News</a></li>
</ul>
</nav>
</div>
@@ -218,19 +218,19 @@
<span class="kd">private</span> <span class="n">OutputCollectorBase</span> <span class="n">_collector</span><span class="o">;</span>
<span class="nd">@Override</span>
- <span class="kd">public</span> <span class="kt">void</span> <span class="n">prepare</span><span class="o">(</span><span class="n">Map</span> <span class="n">conf</span><span class="o">,</span> <span class="n">TopologyContext</span> <span class="n">context</span><span class="o">,</span> <span class="n">OutputCollectorBase</span> <span class="n">collector</span><span class="o">)</span> <span class="o">{</span>
+ <span class="kd">public</span> <span class="kt">void</span> <span class="nf">prepare</span><span class="o">(</span><span class="n">Map</span> <span class="n">conf</span><span class="o">,</span> <span class="n">TopologyContext</span> <span class="n">context</span><span class="o">,</span> <span class="n">OutputCollectorBase</span> <span class="n">collector</span><span class="o">)</span> <span class="o">{</span>
<span class="n">_collector</span> <span class="o">=</span> <span class="n">collector</span><span class="o">;</span>
<span class="o">}</span>
<span class="nd">@Override</span>
- <span class="kd">public</span> <span class="kt">void</span> <span class="n">execute</span><span class="o">(</span><span class="n">Tuple</span> <span class="n">input</span><span class="o">)</span> <span class="o">{</span>
+ <span class="kd">public</span> <span class="kt">void</span> <span class="nf">execute</span><span class="o">(</span><span class="n">Tuple</span> <span class="n">input</span><span class="o">)</span> <span class="o">{</span>
<span class="kt">int</span> <span class="n">val</span> <span class="o">=</span> <span class="n">input</span><span class="o">.</span><span class="na">getInteger</span><span class="o">(</span><span class="mi">0</span><span class="o">);</span>
<span class="n">_collector</span><span class="o">.</span><span class="na">emit</span><span class="o">(</span><span class="n">input</span><span class="o">,</span> <span class="k">new</span> <span class="n">Values</span><span class="o">(</span><span class="n">val</span><span class="o">*</span><span class="mi">2</span><span class="o">,</span> <span class="n">val</span><span class="o">*</span><span class="mi">3</span><span class="o">));</span>
<span class="n">_collector</span><span class="o">.</span><span class="na">ack</span><span class="o">(</span><span class="n">input</span><span class="o">);</span>
<span class="o">}</span>
<span class="nd">@Override</span>
- <span class="kd">public</span> <span class="kt">void</span> <span class="n">declareOutputFields</span><span class="o">(</span><span class="n">OutputFieldsDeclarer</span> <span class="n">declarer</span><span class="o">)</span> <span class="o">{</span>
+ <span class="kd">public</span> <span class="kt">void</span> <span class="nf">declareOutputFields</span><span class="o">(</span><span class="n">OutputFieldsDeclarer</span> <span class="n">declarer</span><span class="o">)</span> <span class="o">{</span>
<span class="n">declarer</span><span class="o">.</span><span class="na">declare</span><span class="o">(</span><span class="k">new</span> <span class="n">Fields</span><span class="o">(</span><span class="s">"double"</span><span class="o">,</span> <span class="s">"triple"</span><span class="o">));</span>
<span class="o">}</span>
<span class="o">}</span>
@@ -265,7 +265,7 @@
<p>As you can see, input declarations can be chained to specify multiple sources for the Bolt.</p>
<p>Let's dig into the implementations of the spouts and bolts in this topology. Spouts are responsible for emitting new messages into the topology. <code>TestWordSpout</code> in this topology emits a random word from the list ["nathan", "mike", "jackson", "golda", "bertels"] as a 1-tuple every 100ms. The implementation of <code>nextTuple()</code> in TestWordSpout looks like this:</p>
-<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kt">void</span> <span class="nf">nextTuple</span><span class="p">(</span><span class="o">)</span> <span class="o">{</span>
+<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kt">void</span> <span class="nf">nextTuple</span><span class="o">()</span> <span class="o">{</span>
<span class="n">Utils</span><span class="o">.</span><span class="na">sleep</span><span class="o">(</span><span class="mi">100</span><span class="o">);</span>
<span class="kd">final</span> <span class="n">String</span><span class="o">[]</span> <span class="n">words</span> <span class="o">=</span> <span class="k">new</span> <span class="n">String</span><span class="o">[]</span> <span class="o">{</span><span class="s">"nathan"</span><span class="o">,</span> <span class="s">"mike"</span><span class="o">,</span> <span class="s">"jackson"</span><span class="o">,</span> <span class="s">"golda"</span><span class="o">,</span> <span class="s">"bertels"</span><span class="o">};</span>
<span class="kd">final</span> <span class="n">Random</span> <span class="n">rand</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Random</span><span class="o">();</span>
@@ -279,23 +279,23 @@
<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">static</span> <span class="kd">class</span> <span class="nc">ExclamationBolt</span> <span class="kd">implements</span> <span class="n">IRichBolt</span> <span class="o">{</span>
<span class="n">OutputCollector</span> <span class="n">_collector</span><span class="o">;</span>
- <span class="kd">public</span> <span class="kt">void</span> <span class="n">prepare</span><span class="o">(</span><span class="n">Map</span> <span class="n">conf</span><span class="o">,</span> <span class="n">TopologyContext</span> <span class="n">context</span><span class="o">,</span> <span class="n">OutputCollector</span> <span class="n">collector</span><span class="o">)</span> <span class="o">{</span>
+ <span class="kd">public</span> <span class="kt">void</span> <span class="nf">prepare</span><span class="o">(</span><span class="n">Map</span> <span class="n">conf</span><span class="o">,</span> <span class="n">TopologyContext</span> <span class="n">context</span><span class="o">,</span> <span class="n">OutputCollector</span> <span class="n">collector</span><span class="o">)</span> <span class="o">{</span>
<span class="n">_collector</span> <span class="o">=</span> <span class="n">collector</span><span class="o">;</span>
<span class="o">}</span>
- <span class="kd">public</span> <span class="kt">void</span> <span class="n">execute</span><span class="o">(</span><span class="n">Tuple</span> <span class="n">tuple</span><span class="o">)</span> <span class="o">{</span>
+ <span class="kd">public</span> <span class="kt">void</span> <span class="nf">execute</span><span class="o">(</span><span class="n">Tuple</span> <span class="n">tuple</span><span class="o">)</span> <span class="o">{</span>
<span class="n">_collector</span><span class="o">.</span><span class="na">emit</span><span class="o">(</span><span class="n">tuple</span><span class="o">,</span> <span class="k">new</span> <span class="n">Values</span><span class="o">(</span><span class="n">tuple</span><span class="o">.</span><span class="na">getString</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span> <span class="o">+</span> <span class="s">"!!!"</span><span class="o">));</span>
<span class="n">_collector</span><span class="o">.</span><span class="na">ack</span><span class="o">(</span><span class="n">tuple</span><span class="o">);</span>
<span class="o">}</span>
- <span class="kd">public</span> <span class="kt">void</span> <span class="n">cleanup</span><span class="o">()</span> <span class="o">{</span>
+ <span class="kd">public</span> <span class="kt">void</span> <span class="nf">cleanup</span><span class="o">()</span> <span class="o">{</span>
<span class="o">}</span>
- <span class="kd">public</span> <span class="kt">void</span> <span class="n">declareOutputFields</span><span class="o">(</span><span class="n">OutputFieldsDeclarer</span> <span class="n">declarer</span><span class="o">)</span> <span class="o">{</span>
+ <span class="kd">public</span> <span class="kt">void</span> <span class="nf">declareOutputFields</span><span class="o">(</span><span class="n">OutputFieldsDeclarer</span> <span class="n">declarer</span><span class="o">)</span> <span class="o">{</span>
<span class="n">declarer</span><span class="o">.</span><span class="na">declare</span><span class="o">(</span><span class="k">new</span> <span class="n">Fields</span><span class="o">(</span><span class="s">"word"</span><span class="o">));</span>
<span class="o">}</span>
- <span class="kd">public</span> <span class="n">Map</span> <span class="n">getComponentConfiguration</span><span class="o">()</span> <span class="o">{</span>
+ <span class="kd">public</span> <span class="n">Map</span> <span class="nf">getComponentConfiguration</span><span class="o">()</span> <span class="o">{</span>
<span class="k">return</span> <span class="kc">null</span><span class="o">;</span>
<span class="o">}</span>
<span class="o">}</span>
@@ -316,16 +316,16 @@
<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">static</span> <span class="kd">class</span> <span class="nc">ExclamationBolt</span> <span class="kd">extends</span> <span class="n">BaseRichBolt</span> <span class="o">{</span>
<span class="n">OutputCollector</span> <span class="n">_collector</span><span class="o">;</span>
- <span class="kd">public</span> <span class="kt">void</span> <span class="n">prepare</span><span class="o">(</span><span class="n">Map</span> <span class="n">conf</span><span class="o">,</span> <span class="n">TopologyContext</span> <span class="n">context</span><span class="o">,</span> <span class="n">OutputCollector</span> <span class="n">collector</span><span class="o">)</span> <span class="o">{</span>
+ <span class="kd">public</span> <span class="kt">void</span> <span class="nf">prepare</span><span class="o">(</span><span class="n">Map</span> <span class="n">conf</span><span class="o">,</span> <span class="n">TopologyContext</span> <span class="n">context</span><span class="o">,</span> <span class="n">OutputCollector</span> <span class="n">collector</span><span class="o">)</span> <span class="o">{</span>
<span class="n">_collector</span> <span class="o">=</span> <span class="n">collector</span><span class="o">;</span>
<span class="o">}</span>
- <span class="kd">public</span> <span class="kt">void</span> <span class="n">execute</span><span class="o">(</span><span class="n">Tuple</span> <span class="n">tuple</span><span class="o">)</span> <span class="o">{</span>
+ <span class="kd">public</span> <span class="kt">void</span> <span class="nf">execute</span><span class="o">(</span><span class="n">Tuple</span> <span class="n">tuple</span><span class="o">)</span> <span class="o">{</span>
<span class="n">_collector</span><span class="o">.</span><span class="na">emit</span><span class="o">(</span><span class="n">tuple</span><span class="o">,</span> <span class="k">new</span> <span class="n">Values</span><span class="o">(</span><span class="n">tuple</span><span class="o">.</span><span class="na">getString</span><span class="o">(</span><span class="mi">0</span><span class="o">)</span> <span class="o">+</span> <span class="s">"!!!"</span><span class="o">));</span>
<span class="n">_collector</span><span class="o">.</span><span class="na">ack</span><span class="o">(</span><span class="n">tuple</span><span class="o">);</span>
<span class="o">}</span>
- <span class="kd">public</span> <span class="kt">void</span> <span class="n">declareOutputFields</span><span class="o">(</span><span class="n">OutputFieldsDeclarer</span> <span class="n">declarer</span><span class="o">)</span> <span class="o">{</span>
+ <span class="kd">public</span> <span class="kt">void</span> <span class="nf">declareOutputFields</span><span class="o">(</span><span class="n">OutputFieldsDeclarer</span> <span class="n">declarer</span><span class="o">)</span> <span class="o">{</span>
<span class="n">declarer</span><span class="o">.</span><span class="na">declare</span><span class="o">(</span><span class="k">new</span> <span class="n">Fields</span><span class="o">(</span><span class="s">"word"</span><span class="o">));</span>
<span class="o">}</span>
<span class="o">}</span>
@@ -399,11 +399,11 @@
<p>Here's the definition of the <code>SplitSentence</code> bolt from <code>WordCountTopology</code>:</p>
<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">static</span> <span class="kd">class</span> <span class="nc">SplitSentence</span> <span class="kd">extends</span> <span class="n">ShellBolt</span> <span class="kd">implements</span> <span class="n">IRichBolt</span> <span class="o">{</span>
- <span class="kd">public</span> <span class="n">SplitSentence</span><span class="o">()</span> <span class="o">{</span>
+ <span class="kd">public</span> <span class="nf">SplitSentence</span><span class="o">()</span> <span class="o">{</span>
<span class="kd">super</span><span class="o">(</span><span class="s">"python"</span><span class="o">,</span> <span class="s">"splitsentence.py"</span><span class="o">);</span>
<span class="o">}</span>
- <span class="kd">public</span> <span class="kt">void</span> <span class="n">declareOutputFields</span><span class="o">(</span><span class="n">OutputFieldsDeclarer</span> <span class="n">declarer</span><span class="o">)</span> <span class="o">{</span>
+ <span class="kd">public</span> <span class="kt">void</span> <span class="nf">declareOutputFields</span><span class="o">(</span><span class="n">OutputFieldsDeclarer</span> <span class="n">declarer</span><span class="o">)</span> <span class="o">{</span>
<span class="n">declarer</span><span class="o">.</span><span class="na">declare</span><span class="o">(</span><span class="k">new</span> <span class="n">Fields</span><span class="o">(</span><span class="s">"word"</span><span class="o">));</span>
<span class="o">}</span>
<span class="o">}</span>
http://git-wip-us.apache.org/repos/asf/storm-site/blob/a7a19afb/content/releases/0.9.6/Understanding-the-parallelism-of-a-Storm-topology.html
----------------------------------------------------------------------
diff --git a/content/releases/0.9.6/Understanding-the-parallelism-of-a-Storm-topology.html b/content/releases/0.9.6/Understanding-the-parallelism-of-a-Storm-topology.html
index a6b51be..e696ce8 100644
--- a/content/releases/0.9.6/Understanding-the-parallelism-of-a-Storm-topology.html
+++ b/content/releases/0.9.6/Understanding-the-parallelism-of-a-Storm-topology.html
@@ -82,18 +82,16 @@
- <li><a href="/releases/1.1.0/index.html">1.1.0</a></li>
-
+ <li><a href="/releases/1.1.0/index.html">1.1.0</a></li>
+
<li><a href="/releases/1.0.4/index.html">1.0.4</a></li>
-
-
<li><a href="/releases/1.0.3/index.html">1.0.3</a></li>
@@ -104,6 +102,8 @@
+
+
<li><a href="/releases/0.10.2/index.html">0.10.2</a></li>
@@ -144,7 +144,7 @@
<li><a href="/contribute/BYLAWS.html">ByLaws</a></li>
</ul>
</li>
- <li><a href="/2017/09/15/storm105-released.html" id="news">News</a></li>
+ <li><a href="/2018/02/14/storm106-released.html" id="news">News</a></li>
</ul>
</nav>
</div>
http://git-wip-us.apache.org/repos/asf/storm-site/blob/a7a19afb/content/releases/0.9.6/Using-non-JVM-languages-with-Storm.html
----------------------------------------------------------------------
diff --git a/content/releases/0.9.6/Using-non-JVM-languages-with-Storm.html b/content/releases/0.9.6/Using-non-JVM-languages-with-Storm.html
index ad7732e..0454786 100644
--- a/content/releases/0.9.6/Using-non-JVM-languages-with-Storm.html
+++ b/content/releases/0.9.6/Using-non-JVM-languages-with-Storm.html
@@ -82,18 +82,16 @@
- <li><a href="/releases/1.1.0/index.html">1.1.0</a></li>
-
+ <li><a href="/releases/1.1.0/index.html">1.1.0</a></li>
+
<li><a href="/releases/1.0.4/index.html">1.0.4</a></li>
-
-
<li><a href="/releases/1.0.3/index.html">1.0.3</a></li>
@@ -104,6 +102,8 @@
+
+
<li><a href="/releases/0.10.2/index.html">0.10.2</a></li>
@@ -144,7 +144,7 @@
<li><a href="/contribute/BYLAWS.html">ByLaws</a></li>
</ul>
</li>
- <li><a href="/2017/09/15/storm105-released.html" id="news">News</a></li>
+ <li><a href="/2018/02/14/storm106-released.html" id="news">News</a></li>
</ul>
</nav>
</div>
http://git-wip-us.apache.org/repos/asf/storm-site/blob/a7a19afb/content/releases/0.9.6/index.html
----------------------------------------------------------------------
diff --git a/content/releases/0.9.6/index.html b/content/releases/0.9.6/index.html
index 9b59994..10f55ea 100644
--- a/content/releases/0.9.6/index.html
+++ b/content/releases/0.9.6/index.html
@@ -82,18 +82,16 @@
- <li><a href="/releases/1.1.0/index.html">1.1.0</a></li>
-
+ <li><a href="/releases/1.1.0/index.html">1.1.0</a></li>
+
<li><a href="/releases/1.0.4/index.html">1.0.4</a></li>
-
-
<li><a href="/releases/1.0.3/index.html">1.0.3</a></li>
@@ -104,6 +102,8 @@
+
+
<li><a href="/releases/0.10.2/index.html">0.10.2</a></li>
@@ -144,7 +144,7 @@
<li><a href="/contribute/BYLAWS.html">ByLaws</a></li>
</ul>
</li>
- <li><a href="/2017/09/15/storm105-released.html" id="news">News</a></li>
+ <li><a href="/2018/02/14/storm106-released.html" id="news">News</a></li>
</ul>
</nav>
</div>
http://git-wip-us.apache.org/repos/asf/storm-site/blob/a7a19afb/content/releases/0.9.6/storm-hbase.html
----------------------------------------------------------------------
diff --git a/content/releases/0.9.6/storm-hbase.html b/content/releases/0.9.6/storm-hbase.html
index 54cc516..550f128 100644
--- a/content/releases/0.9.6/storm-hbase.html
+++ b/content/releases/0.9.6/storm-hbase.html
@@ -82,18 +82,16 @@
- <li><a href="/releases/1.1.0/index.html">1.1.0</a></li>
-
+ <li><a href="/releases/1.1.0/index.html">1.1.0</a></li>
+
<li><a href="/releases/1.0.4/index.html">1.0.4</a></li>
-
-
<li><a href="/releases/1.0.3/index.html">1.0.3</a></li>
@@ -104,6 +102,8 @@
+
+
<li><a href="/releases/0.10.2/index.html">0.10.2</a></li>
@@ -144,7 +144,7 @@
<li><a href="/contribute/BYLAWS.html">ByLaws</a></li>
</ul>
</li>
- <li><a href="/2017/09/15/storm105-released.html" id="news">News</a></li>
+ <li><a href="/2018/02/14/storm106-released.html" id="news">News</a></li>
</ul>
</nav>
</div>
@@ -167,9 +167,9 @@
<p>The main API for interacting with HBase is the <code>org.apache.storm.hbase.bolt.mapper.HBaseMapper</code>
interface:</p>
<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">interface</span> <span class="nc">HBaseMapper</span> <span class="kd">extends</span> <span class="n">Serializable</span> <span class="o">{</span>
- <span class="kt">byte</span><span class="o">[]</span> <span class="n">rowKey</span><span class="o">(</span><span class="n">Tuple</span> <span class="n">tuple</span><span class="o">);</span>
+ <span class="kt">byte</span><span class="o">[]</span> <span class="nf">rowKey</span><span class="o">(</span><span class="n">Tuple</span> <span class="n">tuple</span><span class="o">);</span>
- <span class="n">ColumnList</span> <span class="n">columns</span><span class="o">(</span><span class="n">Tuple</span> <span class="n">tuple</span><span class="o">);</span>
+ <span class="n">ColumnList</span> <span class="nf">columns</span><span class="o">(</span><span class="n">Tuple</span> <span class="n">tuple</span><span class="o">);</span>
<span class="o">}</span>
</code></pre></div>
<p>The <code>rowKey()</code> method is straightforward: given a Storm tuple, return a byte array representing the
@@ -263,8 +263,8 @@ tuples to both regular HBase columns as well as counter columns.</p>
<p>This class allows you to transform the HBase lookup result into storm Values that will be emitted by the <code>HBaseLookupBolt</code>.</p>
<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">interface</span> <span class="nc">HBaseValueMapper</span> <span class="kd">extends</span> <span class="n">Serializable</span> <span class="o">{</span>
- <span class="kd">public</span> <span class="n">List</span><span class="o"><</span><span class="n">Values</span><span class="o">></span> <span class="n">toTuples</span><span class="o">(</span><span class="n">Result</span> <span class="n">result</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span><span class="o">;</span>
- <span class="kt">void</span> <span class="n">declareOutputFields</span><span class="o">(</span><span class="n">OutputFieldsDeclarer</span> <span class="n">declarer</span><span class="o">);</span>
+ <span class="kd">public</span> <span class="n">List</span><span class="o"><</span><span class="n">Values</span><span class="o">></span> <span class="nf">toTuples</span><span class="o">(</span><span class="n">Result</span> <span class="n">result</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span><span class="o">;</span>
+ <span class="kt">void</span> <span class="nf">declareOutputFields</span><span class="o">(</span><span class="n">OutputFieldsDeclarer</span> <span class="n">declarer</span><span class="o">);</span>
<span class="o">}</span>
</code></pre></div>
<p>The <code>toTuples</code> method takes in a HBase <code>Result</code> instance and expects a List of <code>Values</code> instant.
@@ -279,8 +279,8 @@ Each of the value returned by this function will be emitted by the <code>HBaseLo
<p>This class allows you to specify the projection criteria for your HBase Get function. This is optional parameter
for the lookupBolt and if you do not specify this instance all the columns will be returned by <code>HBaseLookupBolt</code>.</p>
<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">class</span> <span class="nc">HBaseProjectionCriteria</span> <span class="kd">implements</span> <span class="n">Serializable</span> <span class="o">{</span>
- <span class="kd">public</span> <span class="n">HBaseProjectionCriteria</span> <span class="n">addColumnFamily</span><span class="o">(</span><span class="n">String</span> <span class="n">columnFamily</span><span class="o">);</span>
- <span class="kd">public</span> <span class="n">HBaseProjectionCriteria</span> <span class="n">addColumn</span><span class="o">(</span><span class="n">ColumnMetaData</span> <span class="n">column</span><span class="o">);</span>
+ <span class="kd">public</span> <span class="n">HBaseProjectionCriteria</span> <span class="nf">addColumnFamily</span><span class="o">(</span><span class="n">String</span> <span class="n">columnFamily</span><span class="o">);</span>
+ <span class="kd">public</span> <span class="n">HBaseProjectionCriteria</span> <span class="nf">addColumn</span><span class="o">(</span><span class="n">ColumnMetaData</span> <span class="n">column</span><span class="o">);</span>
</code></pre></div>
<p><code>addColumnFamily</code> takes in columnFamily. Setting this parameter means all columns for this family will be included
in the projection.</p>
@@ -339,7 +339,7 @@ Word: 'watermelon', Count: 6806
<span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="n">String</span> <span class="n">HBASE_BOLT</span> <span class="o">=</span> <span class="s">"HBASE_BOLT"</span><span class="o">;</span>
- <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="n">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
+ <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>
<span class="n">Config</span> <span class="n">config</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Config</span><span class="o">();</span>
<span class="n">WordSpout</span> <span class="n">spout</span> <span class="o">=</span> <span class="k">new</span> <span class="n">WordSpout</span><span class="o">();</span>
http://git-wip-us.apache.org/repos/asf/storm-site/blob/a7a19afb/content/releases/0.9.6/storm-hdfs.html
----------------------------------------------------------------------
diff --git a/content/releases/0.9.6/storm-hdfs.html b/content/releases/0.9.6/storm-hdfs.html
index 9220b36..d815f28 100644
--- a/content/releases/0.9.6/storm-hdfs.html
+++ b/content/releases/0.9.6/storm-hdfs.html
@@ -82,18 +82,16 @@
- <li><a href="/releases/1.1.0/index.html">1.1.0</a></li>
-
+ <li><a href="/releases/1.1.0/index.html">1.1.0</a></li>
+
<li><a href="/releases/1.0.4/index.html">1.0.4</a></li>
-
-
<li><a href="/releases/1.0.3/index.html">1.0.3</a></li>
@@ -104,6 +102,8 @@
+
+
<li><a href="/releases/0.10.2/index.html">0.10.2</a></li>
@@ -144,7 +144,7 @@
<li><a href="/contribute/BYLAWS.html">ByLaws</a></li>
</ul>
</li>
- <li><a href="/2017/09/15/storm105-released.html" id="news">News</a></li>
+ <li><a href="/2018/02/14/storm106-released.html" id="news">News</a></li>
</ul>
</nav>
</div>
@@ -269,7 +269,7 @@ and add the dependencies for your preferred version in your pom.</p>
<p>Record format can be controlled by providing an implementation of the <code>org.apache.storm.hdfs.format.RecordFormat</code>
interface:</p>
<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">interface</span> <span class="nc">RecordFormat</span> <span class="kd">extends</span> <span class="n">Serializable</span> <span class="o">{</span>
- <span class="kt">byte</span><span class="o">[]</span> <span class="n">format</span><span class="o">(</span><span class="n">Tuple</span> <span class="n">tuple</span><span class="o">);</span>
+ <span class="kt">byte</span><span class="o">[]</span> <span class="nf">format</span><span class="o">(</span><span class="n">Tuple</span> <span class="n">tuple</span><span class="o">);</span>
<span class="o">}</span>
</code></pre></div>
<p>The provided <code>org.apache.storm.hdfs.format.DelimitedRecordFormat</code> is capable of producing formats such as CSV and
@@ -280,14 +280,14 @@ tab-delimited files.</p>
<p>File naming can be controlled by providing an implementation of the <code>org.apache.storm.hdfs.format.FileNameFormat</code>
interface:</p>
<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">interface</span> <span class="nc">FileNameFormat</span> <span class="kd">extends</span> <span class="n">Serializable</span> <span class="o">{</span>
- <span class="kt">void</span> <span class="n">prepare</span><span class="o">(</span><span class="n">Map</span> <span class="n">conf</span><span class="o">,</span> <span class="n">TopologyContext</span> <span class="n">topologyContext</span><span class="o">);</span>
- <span class="n">String</span> <span class="n">getName</span><span class="o">(</span><span class="kt">long</span> <span class="n">rotation</span><span class="o">,</span> <span class="kt">long</span> <span class="n">timeStamp</span><span class="o">);</span>
- <span class="n">String</span> <span class="n">getPath</span><span class="o">();</span>
+ <span class="kt">void</span> <span class="nf">prepare</span><span class="o">(</span><span class="n">Map</span> <span class="n">conf</span><span class="o">,</span> <span class="n">TopologyContext</span> <span class="n">topologyContext</span><span class="o">);</span>
+ <span class="n">String</span> <span class="nf">getName</span><span class="o">(</span><span class="kt">long</span> <span class="n">rotation</span><span class="o">,</span> <span class="kt">long</span> <span class="n">timeStamp</span><span class="o">);</span>
+ <span class="n">String</span> <span class="nf">getPath</span><span class="o">();</span>
<span class="o">}</span>
</code></pre></div>
<p>The provided <code>org.apache.storm.hdfs.format.DefaultFileNameFormat</code> will create file names with the following format:</p>
-<div class="highlight"><pre><code class="language-" data-lang=""><span class="w"> </span><span class="p">{</span><span class="err">prefix</span><span class="p">}{</span><span class="err">componentId</span><span class="p">}</span><span class="err">-</span><span class="p">{</span><span class="err">taskId</span><span class="p">}</span><span class="err">-</span><span class="p">{</span><span class="err">rotationNum</span><span class="p">}</span><span class="err">-</span><span class="p">{</span><span class="err">timestamp</span><span class="p">}{</span><span class="err">extension</span><span class="p">}</span><span class="w">
-</span></code></pre></div>
+<div class="highlight"><pre><code class="language-" data-lang=""> {prefix}{componentId}-{taskId}-{rotationNum}-{timestamp}{extension}
+</code></pre></div>
<p>For example:</p>
<div class="highlight"><pre><code class="language-" data-lang=""> MyBolt-5-7-1390579837830.txt
</code></pre></div>
@@ -298,8 +298,8 @@ interface:</p>
<p>Sync policies allow you to control when buffered data is flushed to the underlying filesystem (thus making it available
to clients reading the data) by implementing the <code>org.apache.storm.hdfs.sync.SyncPolicy</code> interface:</p>
<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">interface</span> <span class="nc">SyncPolicy</span> <span class="kd">extends</span> <span class="n">Serializable</span> <span class="o">{</span>
- <span class="kt">boolean</span> <span class="n">mark</span><span class="o">(</span><span class="n">Tuple</span> <span class="n">tuple</span><span class="o">,</span> <span class="kt">long</span> <span class="n">offset</span><span class="o">);</span>
- <span class="kt">void</span> <span class="n">reset</span><span class="o">();</span>
+ <span class="kt">boolean</span> <span class="nf">mark</span><span class="o">(</span><span class="n">Tuple</span> <span class="n">tuple</span><span class="o">,</span> <span class="kt">long</span> <span class="n">offset</span><span class="o">);</span>
+ <span class="kt">void</span> <span class="nf">reset</span><span class="o">();</span>
<span class="o">}</span>
</code></pre></div>
<p>The <code>HdfsBolt</code> will call the <code>mark()</code> method for every tuple it processes. Returning <code>true</code> will trigger the <code>HdfsBolt</code>
@@ -313,8 +313,8 @@ been processed.</p>
<p>Similar to sync policies, file rotation policies allow you to control when data files are rotated by providing a
<code>org.apache.storm.hdfs.rotation.FileRotation</code> interface:</p>
<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">interface</span> <span class="nc">FileRotationPolicy</span> <span class="kd">extends</span> <span class="n">Serializable</span> <span class="o">{</span>
- <span class="kt">boolean</span> <span class="n">mark</span><span class="o">(</span><span class="n">Tuple</span> <span class="n">tuple</span><span class="o">,</span> <span class="kt">long</span> <span class="n">offset</span><span class="o">);</span>
- <span class="kt">void</span> <span class="n">reset</span><span class="o">();</span>
+ <span class="kt">boolean</span> <span class="nf">mark</span><span class="o">(</span><span class="n">Tuple</span> <span class="n">tuple</span><span class="o">,</span> <span class="kt">long</span> <span class="n">offset</span><span class="o">);</span>
+ <span class="kt">void</span> <span class="nf">reset</span><span class="o">();</span>
<span class="o">}</span>
</code></pre></div>
<p>The <code>org.apache.storm.hdfs.rotation.FileSizeRotationPolicy</code> implementation allows you to trigger file rotation when
@@ -327,7 +327,7 @@ data files reach a specific file size:</p>
What <code>RotationAction</code>s do is provide a hook to allow you to perform some action right after a file is rotated. For
example, moving a file to a different location or renaming it.</p>
<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">interface</span> <span class="nc">RotationAction</span> <span class="kd">extends</span> <span class="n">Serializable</span> <span class="o">{</span>
- <span class="kt">void</span> <span class="n">execute</span><span class="o">(</span><span class="n">FileSystem</span> <span class="n">fileSystem</span><span class="o">,</span> <span class="n">Path</span> <span class="n">filePath</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">IOException</span><span class="o">;</span>
+ <span class="kt">void</span> <span class="nf">execute</span><span class="o">(</span><span class="n">FileSystem</span> <span class="n">fileSystem</span><span class="o">,</span> <span class="n">Path</span> <span class="n">filePath</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">IOException</span><span class="o">;</span>
<span class="o">}</span>
</code></pre></div>
<p>Storm-HDFS includes a simple action that will move a file after rotation:</p>
@@ -336,13 +336,13 @@ example, moving a file to a different location or renaming it.</p>
<span class="kd">private</span> <span class="n">String</span> <span class="n">destination</span><span class="o">;</span>
- <span class="kd">public</span> <span class="n">MoveFileAction</span> <span class="n">withDestination</span><span class="o">(</span><span class="n">String</span> <span class="n">destDir</span><span class="o">){</span>
+ <span class="kd">public</span> <span class="n">MoveFileAction</span> <span class="nf">withDestination</span><span class="o">(</span><span class="n">String</span> <span class="n">destDir</span><span class="o">){</span>
<span class="n">destination</span> <span class="o">=</span> <span class="n">destDir</span><span class="o">;</span>
<span class="k">return</span> <span class="k">this</span><span class="o">;</span>
<span class="o">}</span>
<span class="nd">@Override</span>
- <span class="kd">public</span> <span class="kt">void</span> <span class="n">execute</span><span class="o">(</span><span class="n">FileSystem</span> <span class="n">fileSystem</span><span class="o">,</span> <span class="n">Path</span> <span class="n">filePath</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">IOException</span> <span class="o">{</span>
+ <span class="kd">public</span> <span class="kt">void</span> <span class="nf">execute</span><span class="o">(</span><span class="n">FileSystem</span> <span class="n">fileSystem</span><span class="o">,</span> <span class="n">Path</span> <span class="n">filePath</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">IOException</span> <span class="o">{</span>
<span class="n">Path</span> <span class="n">destPath</span> <span class="o">=</span> <span class="k">new</span> <span class="n">Path</span><span class="o">(</span><span class="n">destination</span><span class="o">,</span> <span class="n">filePath</span><span class="o">.</span><span class="na">getName</span><span class="o">());</span>
<span class="n">LOG</span><span class="o">.</span><span class="na">info</span><span class="o">(</span><span class="s">"Moving file {} to {}"</span><span class="o">,</span> <span class="n">filePath</span><span class="o">,</span> <span class="n">destPath</span><span class="o">);</span>
<span class="kt">boolean</span> <span class="n">success</span> <span class="o">=</span> <span class="n">fileSystem</span><span class="o">.</span><span class="na">rename</span><span class="o">(</span><span class="n">filePath</span><span class="o">,</span> <span class="n">destPath</span><span class="o">);</span>
@@ -386,11 +386,11 @@ example, moving a file to a different location or renaming it.</p>
<p>The <code>SequenceFileBolt</code> requires that you provide a <code>org.apache.storm.hdfs.bolt.format.SequenceFormat</code> that maps tuples to
key/value pairs:</p>
<div class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">interface</span> <span class="nc">SequenceFormat</span> <span class="kd">extends</span> <span class="n">Serializable</span> <span class="o">{</span>
- <span class="n">Class</span> <span class="n">keyClass</span><span class="o">();</span>
- <span class="n">Class</span> <span class="n">valueClass</span><span class="o">();</span>
+ <span class="n">Class</span> <span class="nf">keyClass</span><span class="o">();</span>
+ <span class="n">Class</span> <span class="nf">valueClass</span><span class="o">();</span>
- <span class="n">Writable</span> <span class="n">key</span><span class="o">(</span><span class="n">Tuple</span> <span class="n">tuple</span><span class="o">);</span>
- <span class="n">Writable</span> <span class="n">value</span><span class="o">(</span><span class="n">Tuple</span> <span class="n">tuple</span><span class="o">);</span>
+ <span class="n">Writable</span> <span class="nf">key</span><span class="o">(</span><span class="n">Tuple</span> <span class="n">tuple</span><span class="o">);</span>
+ <span class="n">Writable</span> <span class="nf">value</span><span class="o">(</span><span class="n">Tuple</span> <span class="n">tuple</span><span class="o">);</span>
<span class="o">}</span>
</code></pre></div>
<h2 id="trident-api">Trident API</h2>
http://git-wip-us.apache.org/repos/asf/storm-site/blob/a7a19afb/content/releases/0.9.6/storm-kafka.html
----------------------------------------------------------------------
diff --git a/content/releases/0.9.6/storm-kafka.html b/content/releases/0.9.6/storm-kafka.html
index b5a2921..ecc4149 100644
--- a/content/releases/0.9.6/storm-kafka.html
+++ b/content/releases/0.9.6/storm-kafka.html
@@ -82,18 +82,16 @@
- <li><a href="/releases/1.1.0/index.html">1.1.0</a></li>
-
+ <li><a href="/releases/1.1.0/index.html">1.1.0</a></li>
+
<li><a href="/releases/1.0.4/index.html">1.0.4</a></li>
-
-
<li><a href="/releases/1.0.3/index.html">1.0.3</a></li>
@@ -104,6 +102,8 @@
+
+
<li><a href="/releases/0.10.2/index.html">0.10.2</a></li>
@@ -144,7 +144,7 @@
<li><a href="/contribute/BYLAWS.html">ByLaws</a></li>
</ul>
</li>
- <li><a href="/2017/09/15/storm105-released.html" id="news">News</a></li>
+ <li><a href="/2018/02/14/storm106-released.html" id="news">News</a></li>
</ul>
</nav>
</div>
@@ -257,8 +257,8 @@ The KafkaConfig class also has bunch of public variables that controls your appl
<p>MultiScheme is an interface that dictates how the byte[] consumed from Kafka gets transformed into a storm tuple. It
also controls the naming of your output field.</p>
-<div class="highlight"><pre><code class="language-java" data-lang="java"> <span class="kd">public</span> <span class="n">Iterable</span><span class="o"><</span><span class="n">List</span><span class="o"><</span><span class="n">Object</span><span class="o">>></span> <span class="n">deserialize</span><span class="o">(</span><span class="kt">byte</span><span class="o">[]</span> <span class="n">ser</span><span class="o">);</span>
- <span class="kd">public</span> <span class="n">Fields</span> <span class="n">getOutputFields</span><span class="o">();</span>
+<div class="highlight"><pre><code class="language-java" data-lang="java"> <span class="kd">public</span> <span class="n">Iterable</span><span class="o"><</span><span class="n">List</span><span class="o"><</span><span class="n">Object</span><span class="o">>></span> <span class="nf">deserialize</span><span class="o">(</span><span class="kt">byte</span><span class="o">[]</span> <span class="n">ser</span><span class="o">);</span>
+ <span class="kd">public</span> <span class="n">Fields</span> <span class="nf">getOutputFields</span><span class="o">();</span>
</code></pre></div>
<p>The default <code>RawMultiScheme</code> just takes the <code>byte[]</code> and returns a tuple with <code>byte[]</code> as is. The name of the
outputField is "bytes". There are alternative implementation like <code>SchemeAsMultiScheme</code> and
@@ -344,8 +344,8 @@ storm.kafka.trident.TridentKafkaUpdater.</p>
<h3 id="tupletokafkamapper-and-tridenttupletokafkamapper">TupleToKafkaMapper and TridentTupleToKafkaMapper</h3>
<p>These interfaces have 2 methods defined:</p>
-<div class="highlight"><pre><code class="language-java" data-lang="java"> <span class="n">K</span> <span class="nf">getKeyFromTuple</span><span class="p">(</span><span class="n">Tuple</span><span class="o">/</span><span class="n">TridentTuple</span> <span class="n">tuple</span><span class="o">);</span>
- <span class="n">V</span> <span class="n">getMessageFromTuple</span><span class="o">(</span><span class="n">Tuple</span><span class="o">/</span><span class="n">TridentTuple</span> <span class="n">tuple</span><span class="o">);</span>
+<div class="highlight"><pre><code class="language-java" data-lang="java"> <span class="n">K</span> <span class="nf">getKeyFromTuple</span><span class="o">(</span><span class="n">Tuple</span><span class="o">/</span><span class="n">TridentTuple</span> <span class="n">tuple</span><span class="o">);</span>
+ <span class="n">V</span> <span class="nf">getMessageFromTuple</span><span class="o">(</span><span class="n">Tuple</span><span class="o">/</span><span class="n">TridentTuple</span> <span class="n">tuple</span><span class="o">);</span>
</code></pre></div>
<p>As the name suggests, these methods are called to map a tuple to Kafka key and Kafka message. If you just want one field
as key and one field as value, then you can use the provided FieldNameBasedTupleToKafkaMapper.java
http://git-wip-us.apache.org/repos/asf/storm-site/blob/a7a19afb/content/releases/0.9.7/Acking-framework-implementation.html
----------------------------------------------------------------------
diff --git a/content/releases/0.9.7/Acking-framework-implementation.html b/content/releases/0.9.7/Acking-framework-implementation.html
index 0f4146a..142fc47 100644
--- a/content/releases/0.9.7/Acking-framework-implementation.html
+++ b/content/releases/0.9.7/Acking-framework-implementation.html
@@ -82,18 +82,16 @@
- <li><a href="/releases/1.1.0/index.html">1.1.0</a></li>
-
+ <li><a href="/releases/1.1.0/index.html">1.1.0</a></li>
+
<li><a href="/releases/1.0.4/index.html">1.0.4</a></li>
-
-
<li><a href="/releases/1.0.3/index.html">1.0.3</a></li>
@@ -104,6 +102,8 @@
+
+
<li><a href="/releases/0.10.2/index.html">0.10.2</a></li>
@@ -144,7 +144,7 @@
<li><a href="/contribute/BYLAWS.html">ByLaws</a></li>
</ul>
</li>
- <li><a href="/2017/09/15/storm105-released.html" id="news">News</a></li>
+ <li><a href="/2018/02/14/storm106-released.html" id="news">News</a></li>
</ul>
</nav>
</div>
http://git-wip-us.apache.org/repos/asf/storm-site/blob/a7a19afb/content/releases/0.9.7/Clojure-DSL.html
----------------------------------------------------------------------
diff --git a/content/releases/0.9.7/Clojure-DSL.html b/content/releases/0.9.7/Clojure-DSL.html
index 4a84675..e287dd5 100644
--- a/content/releases/0.9.7/Clojure-DSL.html
+++ b/content/releases/0.9.7/Clojure-DSL.html
@@ -82,18 +82,16 @@
- <li><a href="/releases/1.1.0/index.html">1.1.0</a></li>
-
+ <li><a href="/releases/1.1.0/index.html">1.1.0</a></li>
+
<li><a href="/releases/1.0.4/index.html">1.0.4</a></li>
-
-
<li><a href="/releases/1.0.3/index.html">1.0.3</a></li>
@@ -104,6 +102,8 @@
+
+
<li><a href="/releases/0.10.2/index.html">0.10.2</a></li>
@@ -144,7 +144,7 @@
<li><a href="/contribute/BYLAWS.html">ByLaws</a></li>
</ul>
</li>
- <li><a href="/2017/09/15/storm105-released.html" id="news">News</a></li>
+ <li><a href="/2018/02/14/storm106-released.html" id="news">News</a></li>
</ul>
</nav>
</div>
@@ -289,7 +289,7 @@
</span><span class="p">(</span><span class="nf">execute</span><span class="w"> </span><span class="p">[</span><span class="n">tuple</span><span class="p">]</span><span class="w">
</span><span class="p">(</span><span class="k">let</span><span class="w"> </span><span class="p">[</span><span class="n">word</span><span class="w"> </span><span class="p">(</span><span class="nf">.getString</span><span class="w"> </span><span class="n">tuple</span><span class="w"> </span><span class="mi">0</span><span class="p">)]</span><span class="w">
</span><span class="p">(</span><span class="nf">swap!</span><span class="w"> </span><span class="n">counts</span><span class="w"> </span><span class="p">(</span><span class="nb">partial</span><span class="w"> </span><span class="nb">merge-with</span><span class="w"> </span><span class="nb">+</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="n">word</span><span class="w"> </span><span class="mi">1</span><span class="p">})</span><span class="w">
- </span><span class="p">(</span><span class="nf">emit-bolt!</span><span class="w"> </span><span class="n">collector</span><span class="w"> </span><span class="p">[</span><span class="n">word</span><span class="w"> </span><span class="p">(</span><span class="err">@</span><span class="n">counts</span><span class="w"> </span><span class="n">word</span><span class="p">)]</span><span class="w"> </span><span class="no">:anchor</span><span class="w"> </span><span class="n">tuple</span><span class="p">)</span><span class="w">
+ </span><span class="p">(</span><span class="nf">emit-bolt!</span><span class="w"> </span><span class="n">collector</span><span class="w"> </span><span class="p">[</span><span class="n">word</span><span class="w"> </span><span class="p">(</span><span class="o">@</span><span class="n">counts</span><span class="w"> </span><span class="n">word</span><span class="p">)]</span><span class="w"> </span><span class="no">:anchor</span><span class="w"> </span><span class="n">tuple</span><span class="p">)</span><span class="w">
</span><span class="p">(</span><span class="nf">ack!</span><span class="w"> </span><span class="n">collector</span><span class="w"> </span><span class="n">tuple</span><span class="p">)</span><span class="w">
</span><span class="p">)))))</span><span class="w">
</span></code></pre></div>
@@ -351,10 +351,10 @@
</span><span class="p">(</span><span class="nf">emit-spout!</span><span class="w"> </span><span class="n">collector</span><span class="w"> </span><span class="p">[(</span><span class="nf">rand-nth</span><span class="w"> </span><span class="n">sentences</span><span class="p">)])</span><span class="w">
</span><span class="p">)</span><span class="w">
</span><span class="p">(</span><span class="nf">ack</span><span class="w"> </span><span class="p">[</span><span class="n">id</span><span class="p">]</span><span class="w">
- </span><span class="c1">;; You only need to define this method for reliable spouts
-</span><span class="w"> </span><span class="c1">;; (such as one that reads off of a queue like Kestrel)
-</span><span class="w"> </span><span class="c1">;; This is an unreliable spout, so it does nothing here
-</span><span class="w"> </span><span class="p">))))</span><span class="w">
+ </span><span class="c1">;; You only need to define this method for reliable spouts</span><span class="w">
+ </span><span class="c1">;; (such as one that reads off of a queue like Kestrel)</span><span class="w">
+ </span><span class="c1">;; This is an unreliable spout, so it does nothing here</span><span class="w">
+ </span><span class="p">))))</span><span class="w">
</span></code></pre></div>
<p>The implementation takes in as input the topology config, <code>TopologyContext</code>, and <code>SpoutOutputCollector</code>. The implementation returns an <code>ISpout</code> object. Here, the <code>nextTuple</code> function emits a random sentence from <code>sentences</code>. </p>
http://git-wip-us.apache.org/repos/asf/storm-site/blob/a7a19afb/content/releases/0.9.7/Command-line-client.html
----------------------------------------------------------------------
diff --git a/content/releases/0.9.7/Command-line-client.html b/content/releases/0.9.7/Command-line-client.html
index ecbc04e..b0db3c9 100644
--- a/content/releases/0.9.7/Command-line-client.html
+++ b/content/releases/0.9.7/Command-line-client.html
@@ -82,18 +82,16 @@
- <li><a href="/releases/1.1.0/index.html">1.1.0</a></li>
-
+ <li><a href="/releases/1.1.0/index.html">1.1.0</a></li>
+
<li><a href="/releases/1.0.4/index.html">1.0.4</a></li>
-
-
<li><a href="/releases/1.0.3/index.html">1.0.3</a></li>
@@ -104,6 +102,8 @@
+
+
<li><a href="/releases/0.10.2/index.html">0.10.2</a></li>
@@ -144,7 +144,7 @@
<li><a href="/contribute/BYLAWS.html">ByLaws</a></li>
</ul>
</li>
- <li><a href="/2017/09/15/storm105-released.html" id="news">News</a></li>
+ <li><a href="/2018/02/14/storm106-released.html" id="news">News</a></li>
</ul>
</nav>
</div>
http://git-wip-us.apache.org/repos/asf/storm-site/blob/a7a19afb/content/releases/0.9.7/Common-patterns.html
----------------------------------------------------------------------
diff --git a/content/releases/0.9.7/Common-patterns.html b/content/releases/0.9.7/Common-patterns.html
index 71c72cc..01fdc08 100644
--- a/content/releases/0.9.7/Common-patterns.html
+++ b/content/releases/0.9.7/Common-patterns.html
@@ -82,18 +82,16 @@
- <li><a href="/releases/1.1.0/index.html">1.1.0</a></li>
-
+ <li><a href="/releases/1.1.0/index.html">1.1.0</a></li>
+
<li><a href="/releases/1.0.4/index.html">1.0.4</a></li>
-
-
<li><a href="/releases/1.0.3/index.html">1.0.3</a></li>
@@ -104,6 +102,8 @@
+
+
<li><a href="/releases/0.10.2/index.html">0.10.2</a></li>
@@ -144,7 +144,7 @@
<li><a href="/contribute/BYLAWS.html">ByLaws</a></li>
</ul>
</li>
- <li><a href="/2017/09/15/storm105-released.html" id="news">News</a></li>
+ <li><a href="/2018/02/14/storm106-released.html" id="news">News</a></li>
</ul>
</nav>
</div>
http://git-wip-us.apache.org/repos/asf/storm-site/blob/a7a19afb/content/releases/0.9.7/Concepts.html
----------------------------------------------------------------------
diff --git a/content/releases/0.9.7/Concepts.html b/content/releases/0.9.7/Concepts.html
index 541b86f..22a229a 100644
--- a/content/releases/0.9.7/Concepts.html
+++ b/content/releases/0.9.7/Concepts.html
@@ -82,18 +82,16 @@
- <li><a href="/releases/1.1.0/index.html">1.1.0</a></li>
-
+ <li><a href="/releases/1.1.0/index.html">1.1.0</a></li>
+
<li><a href="/releases/1.0.4/index.html">1.0.4</a></li>
-
-
<li><a href="/releases/1.0.3/index.html">1.0.3</a></li>
@@ -104,6 +102,8 @@
+
+
<li><a href="/releases/0.10.2/index.html">0.10.2</a></li>
@@ -144,7 +144,7 @@
<li><a href="/contribute/BYLAWS.html">ByLaws</a></li>
</ul>
</li>
- <li><a href="/2017/09/15/storm105-released.html" id="news">News</a></li>
+ <li><a href="/2018/02/14/storm106-released.html" id="news">News</a></li>
</ul>
</nav>
</div>
http://git-wip-us.apache.org/repos/asf/storm-site/blob/a7a19afb/content/releases/0.9.7/Configuration.html
----------------------------------------------------------------------
diff --git a/content/releases/0.9.7/Configuration.html b/content/releases/0.9.7/Configuration.html
index d24e9db..9eafdb0 100644
--- a/content/releases/0.9.7/Configuration.html
+++ b/content/releases/0.9.7/Configuration.html
@@ -82,18 +82,16 @@
- <li><a href="/releases/1.1.0/index.html">1.1.0</a></li>
-
+ <li><a href="/releases/1.1.0/index.html">1.1.0</a></li>
+
<li><a href="/releases/1.0.4/index.html">1.0.4</a></li>
-
-
<li><a href="/releases/1.0.3/index.html">1.0.3</a></li>
@@ -104,6 +102,8 @@
+
+
<li><a href="/releases/0.10.2/index.html">0.10.2</a></li>
@@ -144,7 +144,7 @@
<li><a href="/contribute/BYLAWS.html">ByLaws</a></li>
</ul>
</li>
- <li><a href="/2017/09/15/storm105-released.html" id="news">News</a></li>
+ <li><a href="/2018/02/14/storm106-released.html" id="news">News</a></li>
</ul>
</nav>
</div>
http://git-wip-us.apache.org/repos/asf/storm-site/blob/a7a19afb/content/releases/0.9.7/Contributing-to-Storm.html
----------------------------------------------------------------------
diff --git a/content/releases/0.9.7/Contributing-to-Storm.html b/content/releases/0.9.7/Contributing-to-Storm.html
index 774ad2a..3d6e0fe 100644
--- a/content/releases/0.9.7/Contributing-to-Storm.html
+++ b/content/releases/0.9.7/Contributing-to-Storm.html
@@ -82,18 +82,16 @@
- <li><a href="/releases/1.1.0/index.html">1.1.0</a></li>
-
+ <li><a href="/releases/1.1.0/index.html">1.1.0</a></li>
+
<li><a href="/releases/1.0.4/index.html">1.0.4</a></li>
-
-
<li><a href="/releases/1.0.3/index.html">1.0.3</a></li>
@@ -104,6 +102,8 @@
+
+
<li><a href="/releases/0.10.2/index.html">0.10.2</a></li>
@@ -144,7 +144,7 @@
<li><a href="/contribute/BYLAWS.html">ByLaws</a></li>
</ul>
</li>
- <li><a href="/2017/09/15/storm105-released.html" id="news">News</a></li>
+ <li><a href="/2018/02/14/storm106-released.html" id="news">News</a></li>
</ul>
</nav>
</div>
http://git-wip-us.apache.org/repos/asf/storm-site/blob/a7a19afb/content/releases/0.9.7/Creating-a-new-Storm-project.html
----------------------------------------------------------------------
diff --git a/content/releases/0.9.7/Creating-a-new-Storm-project.html b/content/releases/0.9.7/Creating-a-new-Storm-project.html
index 0832f3e..8812bf5 100644
--- a/content/releases/0.9.7/Creating-a-new-Storm-project.html
+++ b/content/releases/0.9.7/Creating-a-new-Storm-project.html
@@ -82,18 +82,16 @@
- <li><a href="/releases/1.1.0/index.html">1.1.0</a></li>
-
+ <li><a href="/releases/1.1.0/index.html">1.1.0</a></li>
+
<li><a href="/releases/1.0.4/index.html">1.0.4</a></li>
-
-
<li><a href="/releases/1.0.3/index.html">1.0.3</a></li>
@@ -104,6 +102,8 @@
+
+
<li><a href="/releases/0.10.2/index.html">0.10.2</a></li>
@@ -144,7 +144,7 @@
<li><a href="/contribute/BYLAWS.html">ByLaws</a></li>
</ul>
</li>
- <li><a href="/2017/09/15/storm105-released.html" id="news">News</a></li>
+ <li><a href="/2018/02/14/storm106-released.html" id="news">News</a></li>
</ul>
</nav>
</div>
http://git-wip-us.apache.org/repos/asf/storm-site/blob/a7a19afb/content/releases/0.9.7/DSLs-and-multilang-adapters.html
----------------------------------------------------------------------
diff --git a/content/releases/0.9.7/DSLs-and-multilang-adapters.html b/content/releases/0.9.7/DSLs-and-multilang-adapters.html
index bc402e4..fa22b93 100644
--- a/content/releases/0.9.7/DSLs-and-multilang-adapters.html
+++ b/content/releases/0.9.7/DSLs-and-multilang-adapters.html
@@ -82,18 +82,16 @@
- <li><a href="/releases/1.1.0/index.html">1.1.0</a></li>
-
+ <li><a href="/releases/1.1.0/index.html">1.1.0</a></li>
+
<li><a href="/releases/1.0.4/index.html">1.0.4</a></li>
-
-
<li><a href="/releases/1.0.3/index.html">1.0.3</a></li>
@@ -104,6 +102,8 @@
+
+
<li><a href="/releases/0.10.2/index.html">0.10.2</a></li>
@@ -144,7 +144,7 @@
<li><a href="/contribute/BYLAWS.html">ByLaws</a></li>
</ul>
</li>
- <li><a href="/2017/09/15/storm105-released.html" id="news">News</a></li>
+ <li><a href="/2018/02/14/storm106-released.html" id="news">News</a></li>
</ul>
</nav>
</div>
http://git-wip-us.apache.org/repos/asf/storm-site/blob/a7a19afb/content/releases/0.9.7/Daemon-Fault-Tolerance.html
----------------------------------------------------------------------
diff --git a/content/releases/0.9.7/Daemon-Fault-Tolerance.html b/content/releases/0.9.7/Daemon-Fault-Tolerance.html
index cc2b35a..5206b3f 100644
--- a/content/releases/0.9.7/Daemon-Fault-Tolerance.html
+++ b/content/releases/0.9.7/Daemon-Fault-Tolerance.html
@@ -82,18 +82,16 @@
- <li><a href="/releases/1.1.0/index.html">1.1.0</a></li>
-
+ <li><a href="/releases/1.1.0/index.html">1.1.0</a></li>
+
<li><a href="/releases/1.0.4/index.html">1.0.4</a></li>
-
-
<li><a href="/releases/1.0.3/index.html">1.0.3</a></li>
@@ -104,6 +102,8 @@
+
+
<li><a href="/releases/0.10.2/index.html">0.10.2</a></li>
@@ -144,7 +144,7 @@
<li><a href="/contribute/BYLAWS.html">ByLaws</a></li>
</ul>
</li>
- <li><a href="/2017/09/15/storm105-released.html" id="news">News</a></li>
+ <li><a href="/2018/02/14/storm106-released.html" id="news">News</a></li>
</ul>
</nav>
</div>