You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by gi...@apache.org on 2020/10/09 00:07:11 UTC

[beam] branch asf-site updated: Publishing website 2020/10/09 00:06:53 at commit 571338b

This is an automated email from the ASF dual-hosted git repository.

git-site-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/beam.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 40f655a  Publishing website 2020/10/09 00:06:53 at commit 571338b
40f655a is described below

commit 40f655a7b55a645c0b673549e552df43c9173278
Author: jenkins <bu...@apache.org>
AuthorDate: Fri Oct 9 00:06:54 2020 +0000

    Publishing website 2020/10/09 00:06:53 at commit 571338b
---
 website/generated-content/documentation/index.xml  | 12 ++--
 .../documentation/programming-guide/index.html     | 12 ++--
 .../images/unwindowed-pipeline-bounded.svg         | 31 +++++------
 .../images/windowing-pipeline-bounded.svg          | 37 ++++++-------
 .../images/windowing-pipeline-unbounded.svg        | 64 +++++++++++-----------
 website/generated-content/sitemap.xml              |  2 +-
 6 files changed, 74 insertions(+), 84 deletions(-)

diff --git a/website/generated-content/documentation/index.xml b/website/generated-content/documentation/index.xml
index cb772ab..3c75142 100644
--- a/website/generated-content/documentation/index.xml
+++ b/website/generated-content/documentation/index.xml
@@ -5691,8 +5691,8 @@ transform in the Beam SDK for Java).&lt;/p>
 pipeline processes data, consider the following pipeline:&lt;/p>
 &lt;p>&lt;img src="/images/unwindowed-pipeline-bounded.svg" alt="Diagram of GroupByKey and ParDo without windowing, on a bounded collection">&lt;/p>
 &lt;p>&lt;strong>Figure 4:&lt;/strong> &lt;code>GroupByKey&lt;/code> and &lt;code>ParDo&lt;/code> without windowing, on a bounded collection.&lt;/p>
-&lt;p>In the above pipeline, we create a bounded &lt;code>PCollection&lt;/code> by reading a set of
-key/value pairs using &lt;code>TextIO&lt;/code>. We then group the collection using &lt;code>GroupByKey&lt;/code>,
+&lt;p>In the above pipeline, we create a bounded &lt;code>PCollection&lt;/code> by reading lines from a
+file using &lt;code>TextIO&lt;/code>. We then group the collection using &lt;code>GroupByKey&lt;/code>,
 and apply a &lt;code>ParDo&lt;/code> transform to the grouped &lt;code>PCollection&lt;/code>. In this example, the
 &lt;code>GroupByKey&lt;/code> creates a collection of unique keys, and then &lt;code>ParDo&lt;/code> gets applied
 exactly once per key.&lt;/p>
@@ -5701,8 +5701,8 @@ all elements in your &lt;code>PCollection&lt;/code> are assigned to a single glo
 &lt;p>Now, consider the same pipeline, but using a windowing function:&lt;/p>
 &lt;p>&lt;img src="/images/windowing-pipeline-bounded.svg" alt="Diagram of GroupByKey and ParDo with windowing, on a bounded collection">&lt;/p>
 &lt;p>&lt;strong>Figure 5:&lt;/strong> &lt;code>GroupByKey&lt;/code> and &lt;code>ParDo&lt;/code> with windowing, on a bounded collection.&lt;/p>
-&lt;p>As before, the pipeline creates a bounded &lt;code>PCollection&lt;/code> of key/value pairs. We
-then set a &lt;a href="#setting-your-pcollections-windowing-function">windowing function&lt;/a>
+&lt;p>As before, the pipeline creates a bounded &lt;code>PCollection&lt;/code> by reading lines from a
+file. We then set a &lt;a href="#setting-your-pcollections-windowing-function">windowing function&lt;/a>
 for that &lt;code>PCollection&lt;/code>. The &lt;code>GroupByKey&lt;/code> transform groups the elements of the
 &lt;code>PCollection&lt;/code> by both key and window, based on the windowing function. The
 subsequent &lt;code>ParDo&lt;/code> transform gets applied multiple times per key, once for each
@@ -6073,9 +6073,9 @@ sets the window&amp;rsquo;s &lt;strong>accumulation mode&lt;/strong>.&lt;/p>
 &lt;span class="o">.&lt;/span>&lt;span class="na">discardingFiredPanes&lt;/span>&lt;span class="o">());&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
 &lt;/div>
 &lt;div class=language-py>
-&lt;div class="highlight">&lt;pre class="chroma">&lt;code class="language-py" data-lang="py">&lt;span class="n">pcollection&lt;/span> &lt;span class="o">|&lt;/span> &lt;span class="n">WindowInto&lt;/span>&lt;span class="p">(&lt;/span>
+&lt;div class="highlight">&lt;pre class="chroma">&lt;code class="language-py" data-lang="py"> &lt;span class="n">pcollection&lt;/span> &lt;span class="o">|&lt;/span> &lt;span class="n">WindowInto&lt;/span>&lt;span class="p">(&lt;/span>
 &lt;span class="n">FixedWindows&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="mi">60&lt;/span>&lt;span class="p">),&lt;/span>
-&lt;span class="n">trigger&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="n">AfterProcessingTime&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">10&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="mi">60&lt;/span>&lt;span class="p">),&lt;/span>
+&lt;span class="n">trigger&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="n">AfterProcessingTime&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">1&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="mi">60&lt;/span>&lt;span class="p">),&lt;/span>
 &lt;span class="n">accumulation_mode&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="n">AccumulationMode&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">DISCARDING&lt;/span>&lt;span class="p">)&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
 &lt;/div>
 &lt;h4 id="window-accumulation-modes">9.4.1. Window accumulation modes&lt;/h4>
diff --git a/website/generated-content/documentation/programming-guide/index.html b/website/generated-content/documentation/programming-guide/index.html
index ee7b7d9..c78f516 100644
--- a/website/generated-content/documentation/programming-guide/index.html
+++ b/website/generated-content/documentation/programming-guide/index.html
@@ -1842,13 +1842,13 @@ each element. To assign timestamps to elements, use a <code>ParDo</code> transfo
 <code>DoFn</code> that outputs each element with a new timestamp (for example, the
 <a href=https://beam.apache.org/releases/javadoc/2.24.0/index.html?org/apache/beam/sdk/transforms/WithTimestamps.html>WithTimestamps</a>
 transform in the Beam SDK for Java).</p><p>To illustrate how windowing with a bounded <code>PCollection</code> can affect how your
-pipeline processes data, consider the following pipeline:</p><p><img src=/images/unwindowed-pipeline-bounded.svg alt="Diagram of GroupByKey and ParDo without windowing, on a bounded collection"></p><p><strong>Figure 4:</strong> <code>GroupByKey</code> and <code>ParDo</code> without windowing, on a bounded collection.</p><p>In the above pipeline, we create a bounded <code>PCollection</code> by reading a set of
-key/value pairs using <code>TextIO</code>. We then group the collection using <code>GroupByKey</code>,
+pipeline processes data, consider the following pipeline:</p><p><img src=/images/unwindowed-pipeline-bounded.svg alt="Diagram of GroupByKey and ParDo without windowing, on a bounded collection"></p><p><strong>Figure 4:</strong> <code>GroupByKey</code> and <code>ParDo</code> without windowing, on a bounded collection.</p><p>In the above pipeline, we create a bounded <code>PCollection</code> by reading lines from a
+file using <code>TextIO</code>. We then group the collection using <code>GroupByKey</code>,
 and apply a <code>ParDo</code> transform to the grouped <code>PCollection</code>. In this example, the
 <code>GroupByKey</code> creates a collection of unique keys, and then <code>ParDo</code> gets applied
 exactly once per key.</p><p>Note that even if you don’t set a windowing function, there is still a window &ndash;
-all elements in your <code>PCollection</code> are assigned to a single global window.</p><p>Now, consider the same pipeline, but using a windowing function:</p><p><img src=/images/windowing-pipeline-bounded.svg alt="Diagram of GroupByKey and ParDo with windowing, on a bounded collection"></p><p><strong>Figure 5:</strong> <code>GroupByKey</code> and <code>ParDo</code> with windowing, on a bounded collection.</p><p>As before, the pipeline creates a bounded <code>PCollection</code> of key/v [...]
-then set a <a href=#setting-your-pcollections-windowing-function>windowing function</a>
+all elements in your <code>PCollection</code> are assigned to a single global window.</p><p>Now, consider the same pipeline, but using a windowing function:</p><p><img src=/images/windowing-pipeline-bounded.svg alt="Diagram of GroupByKey and ParDo with windowing, on a bounded collection"></p><p><strong>Figure 5:</strong> <code>GroupByKey</code> and <code>ParDo</code> with windowing, on a bounded collection.</p><p>As before, the pipeline creates a bounded <code>PCollection</code> by readi [...]
+file. We then set a <a href=#setting-your-pcollections-windowing-function>windowing function</a>
 for that <code>PCollection</code>. The <code>GroupByKey</code> transform groups the elements of the
 <code>PCollection</code> by both key and window, based on the windowing function. The
 subsequent <code>ParDo</code> transform gets applied multiple times per key, once for each
@@ -2079,9 +2079,9 @@ sets the window&rsquo;s <strong>accumulation mode</strong>.</p><div class=langua
   <span class=n>pc</span><span class=o>.</span><span class=na>apply</span><span class=o>(</span><span class=n>Window</span><span class=o>.&lt;</span><span class=n>String</span><span class=o>&gt;</span><span class=n>into</span><span class=o>(</span><span class=n>FixedWindows</span><span class=o>.</span><span class=na>of</span><span class=o>(</span><span class=n>1</span><span class=o>,</span> <span class=n>TimeUnit</span><span class=o>.</span><span class=na>MINUTES</span><span class=o>))</span>
                                <span class=o>.</span><span class=na>triggering</span><span class=o>(</span><span class=n>AfterProcessingTime</span><span class=o>.</span><span class=na>pastFirstElementInPane</span><span class=o>()</span>
                                                               <span class=o>.</span><span class=na>plusDelayOf</span><span class=o>(</span><span class=n>Duration</span><span class=o>.</span><span class=na>standardMinutes</span><span class=o>(</span><span class=n>1</span><span class=o>)))</span>
-                               <span class=o>.</span><span class=na>discardingFiredPanes</span><span class=o>());</span></code></pre></div></div><div class=language-py><div class=highlight><pre class=chroma><code class=language-py data-lang=py><span class=n>pcollection</span> <span class=o>|</span> <span class=n>WindowInto</span><span class=p>(</span>
+                               <span class=o>.</span><span class=na>discardingFiredPanes</span><span class=o>());</span></code></pre></div></div><div class=language-py><div class=highlight><pre class=chroma><code class=language-py data-lang=py>  <span class=n>pcollection</span> <span class=o>|</span> <span class=n>WindowInto</span><span class=p>(</span>
     <span class=n>FixedWindows</span><span class=p>(</span><span class=mi>1</span> <span class=o>*</span> <span class=mi>60</span><span class=p>),</span>
-    <span class=n>trigger</span><span class=o>=</span><span class=n>AfterProcessingTime</span><span class=p>(</span><span class=mi>10</span> <span class=o>*</span> <span class=mi>60</span><span class=p>),</span>
+    <span class=n>trigger</span><span class=o>=</span><span class=n>AfterProcessingTime</span><span class=p>(</span><span class=mi>1</span> <span class=o>*</span> <span class=mi>60</span><span class=p>),</span>
     <span class=n>accumulation_mode</span><span class=o>=</span><span class=n>AccumulationMode</span><span class=o>.</span><span class=n>DISCARDING</span><span class=p>)</span></code></pre></div></div><h4 id=window-accumulation-modes>9.4.1. Window accumulation modes</h4><p>When you specify a trigger, you must also set the the window&rsquo;s <strong>accumulation
 mode</strong>. When a trigger fires, it emits the current contents of the window as a
 pane. Since a trigger can fire multiple times, the accumulation mode determines
diff --git a/website/generated-content/images/unwindowed-pipeline-bounded.svg b/website/generated-content/images/unwindowed-pipeline-bounded.svg
index ccf7ab1..c6e3bfa 100644
--- a/website/generated-content/images/unwindowed-pipeline-bounded.svg
+++ b/website/generated-content/images/unwindowed-pipeline-bounded.svg
@@ -37,8 +37,8 @@
         <path d="M1072.5,80 L1072.5,100" id="Directed-edge" stroke="#3062A8" stroke-width="2" stroke-linecap="square" transform="translate(1072.500000, 90.000000) rotate(-90.000000) translate(-1072.500000, -90.000000) "></path>
         <g id="PCollection" transform="translate(1084.500000, 55.000000)">
             <circle id="PCollection-symbol" stroke="#757575" stroke-width="2" fill="#FFFFFF" cx="35" cy="35" r="35"></circle>
-            <text id="Rows-after-ParDo" font-family="Roboto-Regular, Roboto" font-size="15" font-weight="normal" fill="#000000">
-                <tspan x="17.1015625" y="21">Rows </tspan>
+            <text id="Lines-after-ParDo" font-family="Roboto-Regular, Roboto" font-size="15" font-weight="normal" fill="#000000">
+                <tspan x="17.1015625" y="21">Lines </tspan>
                 <tspan x="19.8554688" y="39">after </tspan>
                 <tspan x="14.9555664" y="57">ParDo</tspan>
             </text>
@@ -55,8 +55,8 @@
         </g>
         <g id="PCollection" transform="translate(763.000000, 61.000000)">
             <circle id="PCollection-symbol" stroke="#757575" stroke-width="2" fill="#FFFFFF" cx="30.9530303" cy="31.2207576" r="30.530303"></circle>
-            <text id="Rows-by-key" font-family="Roboto-Regular, Roboto" font-size="15" font-weight="normal" fill="#000000">
-                <tspan x="12.616714" y="27">Rows </tspan>
+            <text id="Lines-by-key" font-family="Roboto-Regular, Roboto" font-size="15" font-weight="normal" fill="#000000">
+                <tspan x="12.616714" y="27">Lines</tspan>
                 <tspan x="10.0788722" y="45">by key</tspan>
             </text>
         </g>
@@ -72,28 +72,23 @@
         </g>
         <g id="PCollection" transform="translate(374.000000, 61.000000)">
             <circle id="PCollection-symbol" stroke="#757575" stroke-width="2" fill="#FFFFFF" cx="31" cy="31" r="31"></circle>
-            <text id="Table-rows" font-family="Roboto-Regular, Roboto" font-size="16" font-weight="normal" fill="#000000">
-                <tspan x="11.2070312" y="28">Table </tspan>
-                <tspan x="13.59375" y="47">rows</tspan>
+            <text id="File-lines" font-family="Roboto-Regular, Roboto" font-size="16" font-weight="normal" fill="#000000">
+                <tspan x="16" y="28">File</tspan>
+                <tspan x="16" y="47">lines</tspan>
             </text>
         </g>
         <g id="PTransform" transform="translate(160.000000, 30.000000)">
             <rect id="PTransform-symbol" fill="#3062A8" x="0" y="0" width="194" height="124"></rect>
-            <text id="Read-from-Kafka-IO" font-family="Roboto-Regular, Roboto" font-size="24" font-weight="normal" fill="#FFFFFF">
+            <text id="Read-from-Text-IO" font-family="Roboto-Regular, Roboto" font-size="24" font-weight="normal" fill="#FFFFFF">
                 <tspan x="44" y="55">Read from </tspan>
-                <tspan x="44" y="83">Kafka IO</tspan>
+                <tspan x="44" y="83">Text IO</tspan>
             </text>
         </g>
         <path id="Directed-edge" d="M146,92 L113,92 L113,90 L146,90 L146,84 L160,91 L146,98 L146,92 Z" fill="#E0E0E0" fill-rule="nonzero"></path>
-        <g id="Database" transform="translate(0.000000, 40.000000)">
-            <g id="Database-symbol" transform="translate(0.000000, 0.000000)">
-                <ellipse id="Oval" fill="#E0E0E0" cx="56.5" cy="83.2631579" rx="56.5" ry="17.8421053"></ellipse>
-                <rect id="Rectangle" fill="#E0E0E0" x="0" y="17.8421053" width="113" height="65.4210526"></rect>
-                <ellipse id="Oval" fill="#EFEFEF" cx="56.5" cy="17.8421053" rx="56.5" ry="17.8421053"></ellipse>
-            </g>
-            <text id="Database-table" font-family="Roboto-Regular, Roboto" font-size="18" font-weight="normal" fill="#414141">
-                <tspan x="18" y="61">Database </tspan>
-                <tspan x="18" y="82">table</tspan>
+        <g id="Document" transform="translate(0.000000, 50.000000)">
+            <path d="M0,0 L0,81.1880544 C5.73926173,85.0626848 15.1689615,87 28.2890992,87 C56.5,87 57.2032971,71.8576229 84.878475,71.8576229 C90.6940962,71.8576229 100.067938,74.9677667 113,81.1880544 L113,0 L0,0 Z" id="Document-symbol" fill="#E0E0E0"></path>
+            <text id="Text-file" font-family="Roboto-Regular, Roboto" font-size="18" font-weight="normal" fill="#414141">
+                <tspan x="25" y="43">Text file</tspan>
             </text>
         </g>
     </g>
diff --git a/website/generated-content/images/windowing-pipeline-bounded.svg b/website/generated-content/images/windowing-pipeline-bounded.svg
index 743fe2e..076daeb 100644
--- a/website/generated-content/images/windowing-pipeline-bounded.svg
+++ b/website/generated-content/images/windowing-pipeline-bounded.svg
@@ -23,8 +23,8 @@
 	    <path d="M204.5,296 L204.5,316" id="Directed-edge" stroke="#3062A8" stroke-width="2" stroke-linecap="square" transform="translate(204.500000, 306.000000) rotate(-90.000000) translate(-204.500000, -306.000000) "></path>
 	    <g id="PCollection" transform="translate(214.000000, 271.000000)">
 	        <circle id="PCollection-symbol" stroke="#757575" stroke-width="2" fill="#FFFFFF" cx="35" cy="35" r="35"></circle>
-	        <text id="Rows-after-ParDo" font-family="Roboto-Regular, Roboto" font-size="15" font-weight="normal" fill="#000000">
-	            <tspan x="17.1015625" y="21">Rows </tspan>
+	        <text id="Lines-after-ParDo" font-family="Roboto-Regular, Roboto" font-size="15" font-weight="normal" fill="#000000">
+	            <tspan x="17.1015625" y="21">Lines </tspan>
 	            <tspan x="19.8554688" y="39">after </tspan>
 	            <tspan x="14.9555664" y="57">ParDo</tspan>
 	        </text>
@@ -60,9 +60,9 @@
 	    </g>
 	    <g id="PCollection" transform="translate(696.500000, 61.000000)">
 	        <circle id="PCollection-symbol" stroke="#757575" stroke-width="2" fill="#FFFFFF" cx="31" cy="31" r="31"></circle>
-	        <text id="Table-rows" font-family="Roboto-Regular, Roboto" font-size="16" font-weight="normal" fill="#000000">
-	            <tspan x="11.7070312" y="28">Table </tspan>
-	            <tspan x="14.09375" y="47">rows</tspan>
+	        <text id="File-lines" font-family="Roboto-Regular, Roboto" font-size="16" font-weight="normal" fill="#000000">
+	            <tspan x="16" y="28">File</tspan>
+	            <tspan x="16" y="47">lines</tspan>
 	        </text>
 	    </g>
 	    <g id="PTransform" transform="translate(482.000000, 30.000000)">
@@ -78,30 +78,25 @@
 	    </g>
 	    <g id="PCollection" transform="translate(374.000000, 61.000000)">
 	        <circle id="PCollection-symbol" stroke="#757575" stroke-width="2" fill="#FFFFFF" cx="31" cy="31" r="31"></circle>
-	        <text id="Table-rows" font-family="Roboto-Regular, Roboto" font-size="16" font-weight="normal" fill="#000000">
-	            <tspan x="11.2070312" y="28">Table </tspan>
-	            <tspan x="13.59375" y="47">rows</tspan>
+	        <text id="File-lines" font-family="Roboto-Regular, Roboto" font-size="16" font-weight="normal" fill="#000000">
+	            <tspan x="16" y="28">File</tspan>
+	            <tspan x="16" y="47">lines</tspan>
 	        </text>
 	    </g>
 	    <g id="PTransform" transform="translate(160.000000, 30.000000)">
 	        <rect id="PTransform-symbol" fill="#3062A8" x="0" y="0" width="194" height="124"></rect>
-	        <text id="Read-from-Kafka-IO" font-family="Roboto-Regular, Roboto" font-size="24" font-weight="normal" fill="#FFFFFF">
+	        <text id="Read-from-Text-IO" font-family="Roboto-Regular, Roboto" font-size="24" font-weight="normal" fill="#FFFFFF">
 	            <tspan x="44" y="55">Read from </tspan>
-	            <tspan x="44" y="83">Kafka IO</tspan>
+	            <tspan x="44" y="83">Text IO</tspan>
 	        </text>
 	    </g>
 	    <path id="Directed-edge" d="M146,92 L113,92 L113,90 L146,90 L146,84 L160,91 L146,98 L146,92 Z" fill="#E0E0E0" fill-rule="nonzero"></path>
-	    <g id="Database" transform="translate(0.000000, 40.000000)">
-	        <g id="Database-symbol" transform="translate(0.000000, 0.000000)">
-	            <ellipse id="Oval" fill="#E0E0E0" cx="56.5" cy="83.2631579" rx="56.5" ry="17.8421053"></ellipse>
-	            <rect id="Rectangle" fill="#E0E0E0" x="0" y="17.8421053" width="113" height="65.4210526"></rect>
-	            <ellipse id="Oval" fill="#EFEFEF" cx="56.5" cy="17.8421053" rx="56.5" ry="17.8421053"></ellipse>
-	        </g>
-	        <text id="Database-table" font-family="Roboto-Regular, Roboto" font-size="18" font-weight="normal" fill="#414141">
-	            <tspan x="18" y="61">Database </tspan>
-	            <tspan x="18" y="82">table</tspan>
-	        </text>
-	    </g>
+        <g id="Document" transform="translate(0.000000, 50.000000)">
+            <path d="M0,0 L0,81.1880544 C5.73926173,85.0626848 15.1689615,87 28.2890992,87 C56.5,87 57.2032971,71.8576229 84.878475,71.8576229 C90.6940962,71.8576229 100.067938,74.9677667 113,81.1880544 L113,0 L0,0 Z" id="Document-symbol" fill="#E0E0E0"></path>
+            <text id="Text-file" font-family="Roboto-Regular, Roboto" font-size="18" font-weight="normal" fill="#414141">
+                <tspan x="25" y="43">Text file</tspan>
+            </text>
+        </g>
 	    <g id="Legend" transform="translate(0.000000, 388.000000)">
 	        <rect id="PTransform-symbol" fill="#3062A8" x="0" y="4" width="15" height="15"></rect>
 	        <text id="PTransform" font-family="Roboto-Regular, Roboto" font-size="18" font-weight="normal" fill="#000000">
diff --git a/website/generated-content/images/windowing-pipeline-unbounded.svg b/website/generated-content/images/windowing-pipeline-unbounded.svg
index ef8a0dd..88a81e6 100644
--- a/website/generated-content/images/windowing-pipeline-unbounded.svg
+++ b/website/generated-content/images/windowing-pipeline-unbounded.svg
@@ -19,21 +19,21 @@
 -->
 <svg width="1158px" height="468px" viewBox="0 0 1158 468" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
     <title>Pipeline applying windowing.</title>
-	<g id="windowing-pipeline-unbounded" transform="translate(1.000000, 0.000000)">
-	    <g id="Legend" transform="translate(0.000000, 413.000000)">
-	        <rect id="PTransform-symbol" fill="#3062A8" x="0" y="4" width="15" height="15"></rect>
-	        <text id="PTransform" font-family="Roboto-Regular, Roboto" font-size="18" font-weight="normal" fill="#000000">
-	            <tspan x="22" y="17">PTransform</tspan>
-	        </text>
-	        <text id="Aggregation" font-family="Roboto-Regular, Roboto" font-size="18" font-weight="normal" fill="#000000">
-	            <tspan x="162" y="17">Aggregating PTransform</tspan>
-	        </text>
-	        <text id="PCollection" font-family="Roboto-Regular, Roboto" font-size="18" font-weight="normal" fill="#000000">
-	            <tspan x="22" y="52">PCollection</tspan>
-	        </text>
-	        <circle id="PCollection-symbol" fill="#FFFFFF" stroke="#757575" stroke-width="2" cx="7.5" cy="46.5" r="7.5"></circle>
-	        <path d="M143.364341,5 L154,12.4782609 L143.364341,20 L133,12.5217391 L143.364341,5 Z" id="Rectangle" fill="#3062A8"></path>
-	    </g>
+    <g id="windowing-pipeline-unbounded" transform="translate(1.000000, 0.000000)">
+        <g id="Legend" transform="translate(0.000000, 413.000000)">
+            <rect id="PTransform-symbol" fill="#3062A8" x="0" y="4" width="15" height="15"></rect>
+            <text id="PTransform" font-family="Roboto-Regular, Roboto" font-size="18" font-weight="normal" fill="#000000">
+                <tspan x="22" y="17">PTransform</tspan>
+            </text>
+            <text id="Aggregation" font-family="Roboto-Regular, Roboto" font-size="18" font-weight="normal" fill="#000000">
+                <tspan x="162" y="17">Aggregating PTransform</tspan>
+            </text>
+            <text id="PCollection" font-family="Roboto-Regular, Roboto" font-size="18" font-weight="normal" fill="#000000">
+                <tspan x="22" y="52">PCollection</tspan>
+            </text>
+            <circle id="PCollection-symbol" fill="#FFFFFF" stroke="#757575" stroke-width="2" cx="7.5" cy="46.5" r="7.5"></circle>
+            <path d="M143.364341,5 L154,12.4782609 L143.364341,20 L133,12.5217391 L143.364341,5 Z" id="Rectangle" fill="#3062A8"></path>
+        </g>
         <path d="M270.05,290.765 L270.05,310.765" id="Directed-edge" stroke="#3062A8" stroke-width="2" stroke-linecap="square" transform="translate(270.050000, 300.765000) rotate(-90.000000) translate(-270.050000, -300.765000) "></path>
         <g id="PCollection" transform="translate(281.550000, 257.265000)">
             <circle id="PCollection-symbol" stroke="#757575" stroke-width="2" fill="#FFFFFF" cx="42.5" cy="42.5" r="42.5"></circle>
@@ -57,9 +57,9 @@
         <g id="PCollection" transform="translate(1021.000000, 27.000000)">
             <circle id="PCollection-symbol" stroke="#757575" stroke-width="2" fill="#FFFFFF" cx="35" cy="35" r="35"></circle>
             <text id="Rows-after-ParDo" font-family="Roboto-Regular, Roboto" font-size="15" font-weight="normal" fill="#000000">
-                <tspan x="17.1015625" y="21">Rows </tspan>
-                <tspan x="19.8554688" y="39">after </tspan>
-                <tspan x="14.9555664" y="57">ParDo</tspan>
+                <tspan x="20" y="21">Coll </tspan>
+                <tspan x="20" y="39">after </tspan>
+                <tspan x="17" y="57">ParDo</tspan>
             </text>
         </g>
         <g id="PTransform" transform="translate(804.500000, 0.000000)">
@@ -74,9 +74,9 @@
         </g>
         <g id="PCollection" transform="translate(696.500000, 31.000000)">
             <circle id="PCollection-symbol" stroke="#757575" stroke-width="2" fill="#FFFFFF" cx="31" cy="31" r="31"></circle>
-            <text id="Table-rows" font-family="Roboto-Regular, Roboto" font-size="16" font-weight="normal" fill="#000000">
-                <tspan x="11.7070312" y="28">Table </tspan>
-                <tspan x="14.09375" y="47">rows</tspan>
+            <text id="KV-pairs" font-family="Roboto-Regular, Roboto" font-size="16" font-weight="normal" fill="#000000">
+                <tspan x="17" y="28">K/V</tspan>
+                <tspan x="16" y="47">pairs</tspan>
             </text>
         </g>
         <g id="PTransform" transform="translate(482.000000, 0.000000)">
@@ -92,9 +92,9 @@
         </g>
         <g id="PCollection" transform="translate(374.000000, 31.000000)">
             <circle id="PCollection-symbol" stroke="#757575" stroke-width="2" fill="#FFFFFF" cx="31" cy="31" r="31"></circle>
-            <text id="Table-rows" font-family="Roboto-Regular, Roboto" font-size="16" font-weight="normal" fill="#000000">
-                <tspan x="11.2070312" y="28">Table </tspan>
-                <tspan x="13.59375" y="47">rows</tspan>
+            <text id="KV-pairs" font-family="Roboto-Regular, Roboto" font-size="16" font-weight="normal" fill="#000000">
+                <tspan x="17" y="28">K/V</tspan>
+                <tspan x="16" y="47">pairs</tspan>
             </text>
         </g>
         <g id="PTransform" transform="translate(160.000000, 0.000000)">
@@ -105,16 +105,16 @@
             </text>
         </g>
         <path id="Directed-edge" d="M146,62 L113,62 L113,60 L146,60 L146,54 L160,61 L146,68 L146,62 Z" fill="#E0E0E0" fill-rule="nonzero"></path>
-        <g id="Database" transform="translate(0.000000, 10.000000)">
-            <g id="Database-symbol" transform="translate(0.000000, 0.000000)">
+        <g id="Kafka" transform="translate(0.000000, 10.000000)">
+            <g id="Kafka-topic-symbol" transform="translate(0.000000, 0.000000)">
                 <ellipse id="Oval" fill="#E0E0E0" cx="56.5" cy="83.2631579" rx="56.5" ry="17.8421053"></ellipse>
                 <rect id="Rectangle" fill="#E0E0E0" x="0" y="17.8421053" width="113" height="65.4210526"></rect>
                 <ellipse id="Oval" fill="#EFEFEF" cx="56.5" cy="17.8421053" rx="56.5" ry="17.8421053"></ellipse>
             </g>
-            <text id="Database-table" font-family="Roboto-Regular, Roboto" font-size="18" font-weight="normal" fill="#414141">
-                <tspan x="18" y="61">Database </tspan>
-                <tspan x="18" y="82">table</tspan>
+            <text id="Kafka-topic" font-family="Roboto-Regular, Roboto" font-size="18" font-weight="normal" fill="#414141">
+                <tspan x="34" y="61">Kafka </tspan>
+                <tspan x="34" y="82">topic</tspan>
             </text>
-	    </g>
-	</g>
-</svg>
\ No newline at end of file
+        </g>
+    </g>
+</svg>
diff --git a/website/generated-content/sitemap.xml b/website/generated-content/sitemap.xml
index 37bba15..dd62a32 100644
--- a/website/generated-content/sitemap.xml
+++ b/website/generated-content/sitemap.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>/blog/beam-2.24.0/</loc><lastmod>2020-09-18T12:38:38-07:00</lastmod></url><url><loc>/categories/blog/</loc><lastmod>2020-09-18T12:38:38-07:00</lastmod></url><url><loc>/blog/</loc><lastmod>2020-09-18T12:38:38-07:00</lastmod></url><url><loc>/categories/</loc><lastmod>2020-09-18T12:38:38-07:00</lastmod></url><url><loc>/blog/p [...]
\ No newline at end of file
+<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>/blog/beam-2.24.0/</loc><lastmod>2020-09-18T12:38:38-07:00</lastmod></url><url><loc>/categories/blog/</loc><lastmod>2020-09-18T12:38:38-07:00</lastmod></url><url><loc>/blog/</loc><lastmod>2020-09-18T12:38:38-07:00</lastmod></url><url><loc>/categories/</loc><lastmod>2020-09-18T12:38:38-07:00</lastmod></url><url><loc>/blog/p [...]
\ No newline at end of file