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

github-bot 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 2846813e937 Publishing website 2025/05/05 05:44:19 at commit c9a0e90
2846813e937 is described below

commit 2846813e9372d2e1c21eaeeb6c63d8e4a97b2d86
Author: runner <runner@main-runner-frrkx-tkjlf>
AuthorDate: Mon May 5 05:44:19 2025 +0000

    Publishing website 2025/05/05 05:44:19 at commit c9a0e90
---
 website/generated-content/documentation/index.xml  | 95 ++++++++++++++++++++++
 .../documentation/programming-guide/index.html     | 59 +++++++++++++-
 website/generated-content/get-started/index.xml    | 70 ++++++++++++++++
 .../get-started/quickstart-java/index.html         |  3 +
 website/generated-content/sitemap.xml              |  2 +-
 5 files changed, 226 insertions(+), 3 deletions(-)

diff --git a/website/generated-content/documentation/index.xml 
b/website/generated-content/documentation/index.xml
index 8f2d366dd41..d701f34e79d 100644
--- a/website/generated-content/documentation/index.xml
+++ b/website/generated-content/documentation/index.xml
@@ -13837,6 +13837,101 @@ bags larger than available memory.&lt;/p>
 &lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span 
class="p">}&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
 &lt;/div>
 &lt;/div>
+&lt;h4 id="setstate">SetState&lt;/h4>
+&lt;p>A common use case for state is to accumulate unique elements. 
&lt;code>SetState&lt;/code> allows for accumulating an unordered set
+of elements.&lt;/p>
+&lt;p>
+&lt;div class='language-java snippet'>
+&lt;div class="notebook-skip code-snippet">
+&lt;a class="copy" type="button" data-bs-toggle="tooltip" 
data-bs-placement="bottom" title="Copy to clipboard">
+&lt;img src="/images/copy-icon.svg"/>
+&lt;/a>
+&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code 
class="language-java" data-lang="java">&lt;span class="line">&lt;span 
class="cl">&lt;span class="n">PCollection&lt;/span>&lt;span 
class="o">&amp;lt;&lt;/span>&lt;span class="n">KV&lt;/span>&lt;span 
class="o">&amp;lt;&lt;/span>&lt;span class="n">String&lt;/span>&lt;span 
class="o">,&lt;/span> &lt;span class="n">ValueT&lt;/span>&lt;span 
class="o">&amp;gt;&amp;gt;&lt;/span> &lt;span class="n">perUser&lt;/span> 
&lt;span cl [...]
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span 
class="n">perUser&lt;/span>&lt;span class="o">.&lt;/span>&lt;span 
class="na">apply&lt;/span>&lt;span class="o">(&lt;/span>&lt;span 
class="n">ParDo&lt;/span>&lt;span class="o">.&lt;/span>&lt;span 
class="na">of&lt;/span>&lt;span class="o">(&lt;/span>&lt;span 
class="k">new&lt;/span> &lt;span class="n">DoFn&lt;/span>&lt;span 
class="o">&amp;lt;&lt;/span>&lt;span class="n">KV&lt;/span>&lt;span 
class="o">&amp;lt;&lt;/span>&l [...]
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span 
class="nd">@StateId&lt;/span>&lt;span class="o">(&lt;/span>&lt;span 
class="s">&amp;#34;state&amp;#34;&lt;/span>&lt;span class="o">)&lt;/span> 
&lt;span class="kd">private&lt;/span> &lt;span class="kd">final&lt;/span> 
&lt;span class="n">StateSpec&lt;/span>&lt;span 
class="o">&amp;lt;&lt;/span>&lt;span class="n">SetState&lt;/span>&lt;span 
class="o">&amp;lt;&lt;/span>&lt;span class="n">ValueT&lt;/span>&lt;span 
class="o">& [...]
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span 
class="nd">@ProcessElement&lt;/span> &lt;span class="kd">public&lt;/span> 
&lt;span class="kt">void&lt;/span> &lt;span 
class="nf">process&lt;/span>&lt;span class="o">(&lt;/span>
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span 
class="nd">@Element&lt;/span> &lt;span class="n">KV&lt;/span>&lt;span 
class="o">&amp;lt;&lt;/span>&lt;span class="n">String&lt;/span>&lt;span 
class="o">,&lt;/span> &lt;span class="n">ValueT&lt;/span>&lt;span 
class="o">&amp;gt;&lt;/span> &lt;span class="n">element&lt;/span>&lt;span 
class="o">,&lt;/span>
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span 
class="nd">@StateId&lt;/span>&lt;span class="o">(&lt;/span>&lt;span 
class="s">&amp;#34;state&amp;#34;&lt;/span>&lt;span class="o">)&lt;/span> 
&lt;span class="n">SetState&lt;/span>&lt;span 
class="o">&amp;lt;&lt;/span>&lt;span class="n">ValueT&lt;/span>&lt;span 
class="o">&amp;gt;&lt;/span> &lt;span class="n">state&lt;/span>&lt;span 
class="o">)&lt;/span> &lt;span class="o">{&lt;/span>
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span 
class="c1">// Add the current element to the set state for this key.
+&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span 
class="cl">&lt;span class="c1">&lt;/span> &lt;span 
class="n">state&lt;/span>&lt;span class="o">.&lt;/span>&lt;span 
class="na">add&lt;/span>&lt;span class="o">(&lt;/span>&lt;span 
class="n">element&lt;/span>&lt;span class="o">.&lt;/span>&lt;span 
class="na">getValue&lt;/span>&lt;span class="o">());&lt;/span>
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span 
class="k">if&lt;/span> &lt;span class="o">(&lt;/span>&lt;span 
class="n">shouldFetch&lt;/span>&lt;span class="o">())&lt;/span> &lt;span 
class="o">{&lt;/span>
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span 
class="c1">// Occasionally we fetch and process the values.
+&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span 
class="cl">&lt;span class="c1">&lt;/span> &lt;span 
class="n">Iterable&lt;/span>&lt;span class="o">&amp;lt;&lt;/span>&lt;span 
class="n">ValueT&lt;/span>&lt;span class="o">&amp;gt;&lt;/span> &lt;span 
class="n">values&lt;/span> &lt;span class="o">=&lt;/span> &lt;span 
class="n">state&lt;/span>&lt;span class="o">.&lt;/span>&lt;span 
class="na">read&lt;/span>&lt;span class="o">();&lt;/span>
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span 
class="n">processValues&lt;/span>&lt;span class="o">(&lt;/span>&lt;span 
class="n">values&lt;/span>&lt;span class="o">);&lt;/span>
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span 
class="n">state&lt;/span>&lt;span class="o">.&lt;/span>&lt;span 
class="na">clear&lt;/span>&lt;span class="o">();&lt;/span> &lt;span 
class="c1">// Clear the state for this key.
+&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span 
class="cl">&lt;span class="c1">&lt;/span> &lt;span class="o">}&lt;/span>
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span 
class="o">}&lt;/span>
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span 
class="o">}));&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
+&lt;/div>
+&lt;/div>
+&lt;div class='language-py snippet'>
+&lt;div class="notebook-skip code-snippet">
+&lt;a class="copy" type="button" data-bs-toggle="tooltip" 
data-bs-placement="bottom" title="Copy to clipboard">
+&lt;img src="/images/copy-icon.svg"/>
+&lt;/a>
+&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code 
class="language-py" data-lang="py">&lt;span class="line">&lt;span 
class="cl">&lt;span class="k">class&lt;/span> &lt;span 
class="nc">SetStateDoFn&lt;/span>&lt;span class="p">(&lt;/span>&lt;span 
class="n">DoFn&lt;/span>&lt;span class="p">):&lt;/span>
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span 
class="n">UNIQUE_ELEMENTS&lt;/span> &lt;span class="o">=&lt;/span> &lt;span 
class="n">SetStateSpec&lt;/span>&lt;span class="p">(&lt;/span>&lt;span 
class="s1">&amp;#39;buffer&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span> 
&lt;span class="n">coders&lt;/span>&lt;span class="o">.&lt;/span>&lt;span 
class="n">VarIntCoder&lt;/span>&lt;span class="p">())&lt;/span>
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span 
class="k">def&lt;/span> &lt;span class="nf">process&lt;/span>&lt;span 
class="p">(&lt;/span>&lt;span class="bp">self&lt;/span>&lt;span 
class="p">,&lt;/span> &lt;span class="n">element_pair&lt;/span>&lt;span 
class="p">,&lt;/span> &lt;span class="n">state&lt;/span>&lt;span 
class="o">=&lt;/span>&lt;span class="n">DoFn&lt;/span>&lt;span 
class="o">.&lt;/span>&lt;span class="n">StateParam&lt;/span>&lt;span 
class="p">(&lt;/s [...]
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span 
class="n">state&lt;/span>&lt;span class="o">.&lt;/span>&lt;span 
class="n">add&lt;/span>&lt;span class="p">(&lt;/span>&lt;span 
class="n">element_pair&lt;/span>&lt;span class="p">[&lt;/span>&lt;span 
class="mi">1&lt;/span>&lt;span class="p">])&lt;/span>
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span 
class="k">if&lt;/span> &lt;span class="n">should_fetch&lt;/span>&lt;span 
class="p">():&lt;/span>
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span 
class="n">unique_elements&lt;/span> &lt;span class="o">=&lt;/span> &lt;span 
class="nb">list&lt;/span>&lt;span class="p">(&lt;/span>&lt;span 
class="n">state&lt;/span>&lt;span class="o">.&lt;/span>&lt;span 
class="n">read&lt;/span>&lt;span class="p">())&lt;/span>
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span 
class="n">process_values&lt;/span>&lt;span class="p">(&lt;/span>&lt;span 
class="n">unique_elements&lt;/span>&lt;span class="p">)&lt;/span>
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span 
class="n">state&lt;/span>&lt;span class="o">.&lt;/span>&lt;span 
class="n">clear&lt;/span>&lt;span class="p">()&lt;/span>
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span 
class="n">_&lt;/span> &lt;span class="o">=&lt;/span> &lt;span 
class="p">(&lt;/span>&lt;span class="n">p&lt;/span> &lt;span 
class="o">|&lt;/span> &lt;span class="s1">&amp;#39;Read per 
user&amp;#39;&lt;/span> &lt;span class="o">&amp;gt;&amp;gt;&lt;/span> &lt;span 
class="n">ReadPerUser&lt;/span>&lt;span class="p">()&lt;/span>
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span 
class="o">|&lt;/span> &lt;span class="s1">&amp;#39;Set state 
pardo&amp;#39;&lt;/span> &lt;span class="o">&amp;gt;&amp;gt;&lt;/span> &lt;span 
class="n">beam&lt;/span>&lt;span class="o">.&lt;/span>&lt;span 
class="n">ParDo&lt;/span>&lt;span class="p">(&lt;/span>&lt;span 
class="n">SetStateDoFn&lt;/span>&lt;span 
class="p">()))&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
+&lt;/div>
+&lt;/div>
+&lt;/p>
+&lt;h4 id="orderliststate">OrderListState&lt;/h4>
+&lt;p>&lt;code>OrderListState&lt;/code> state that accumulate elements in an 
ordered List.&lt;/p>
+&lt;p>
+&lt;div class='language-java snippet'>
+&lt;div class="notebook-skip code-snippet">
+&lt;a class="copy" type="button" data-bs-toggle="tooltip" 
data-bs-placement="bottom" title="Copy to clipboard">
+&lt;img src="/images/copy-icon.svg"/>
+&lt;/a>
+&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code 
class="language-java" data-lang="java">&lt;span class="line">&lt;span 
class="cl">&lt;span class="n">PCollection&lt;/span>&lt;span 
class="o">&amp;lt;&lt;/span>&lt;span class="n">KV&lt;/span>&lt;span 
class="o">&amp;lt;&lt;/span>&lt;span class="n">String&lt;/span>&lt;span 
class="o">,&lt;/span> &lt;span class="n">ValueT&lt;/span>&lt;span 
class="o">&amp;gt;&amp;gt;&lt;/span> &lt;span class="n">perUser&lt;/span> 
&lt;span cl [...]
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span 
class="n">perUser&lt;/span>&lt;span class="o">.&lt;/span>&lt;span 
class="na">apply&lt;/span>&lt;span class="o">(&lt;/span>&lt;span 
class="n">ParDo&lt;/span>&lt;span class="o">.&lt;/span>&lt;span 
class="na">of&lt;/span>&lt;span class="o">(&lt;/span>&lt;span 
class="k">new&lt;/span> &lt;span class="n">DoFn&lt;/span>&lt;span 
class="o">&amp;lt;&lt;/span>&lt;span class="n">KV&lt;/span>&lt;span 
class="o">&amp;lt;&lt;/span>&l [...]
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span 
class="nd">@StateId&lt;/span>&lt;span class="o">(&lt;/span>&lt;span 
class="s">&amp;#34;state&amp;#34;&lt;/span>&lt;span class="o">)&lt;/span> 
&lt;span class="kd">private&lt;/span> &lt;span class="kd">final&lt;/span> 
&lt;span class="n">StateSpec&lt;/span>&lt;span 
class="o">&amp;lt;&lt;/span>&lt;span 
class="n">OrderedListState&lt;/span>&lt;span 
class="o">&amp;lt;&lt;/span>&lt;span class="n">ValueT&lt;/span>&lt;span cla 
[...]
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span 
class="nd">@ProcessElement&lt;/span> &lt;span class="kd">public&lt;/span> 
&lt;span class="kt">void&lt;/span> &lt;span 
class="nf">process&lt;/span>&lt;span class="o">(&lt;/span>
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span 
class="nd">@Element&lt;/span> &lt;span class="n">KV&lt;/span>&lt;span 
class="o">&amp;lt;&lt;/span>&lt;span class="n">String&lt;/span>&lt;span 
class="o">,&lt;/span> &lt;span class="n">ValueT&lt;/span>&lt;span 
class="o">&amp;gt;&lt;/span> &lt;span class="n">element&lt;/span>&lt;span 
class="o">,&lt;/span>
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span 
class="nd">@StateId&lt;/span>&lt;span class="o">(&lt;/span>&lt;span 
class="s">&amp;#34;state&amp;#34;&lt;/span>&lt;span class="o">)&lt;/span> 
&lt;span class="n">SetState&lt;/span>&lt;span 
class="o">&amp;lt;&lt;/span>&lt;span class="n">ValueT&lt;/span>&lt;span 
class="o">&amp;gt;&lt;/span> &lt;span class="n">state&lt;/span>&lt;span 
class="o">)&lt;/span> &lt;span class="o">{&lt;/span>
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span 
class="c1">// Add the current element to the set state for this key.
+&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span 
class="cl">&lt;span class="c1">&lt;/span> &lt;span 
class="n">state&lt;/span>&lt;span class="o">.&lt;/span>&lt;span 
class="na">add&lt;/span>&lt;span class="o">(&lt;/span>&lt;span 
class="n">element&lt;/span>&lt;span class="o">.&lt;/span>&lt;span 
class="na">getValue&lt;/span>&lt;span class="o">());&lt;/span>
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span 
class="k">if&lt;/span> &lt;span class="o">(&lt;/span>&lt;span 
class="n">shouldFetch&lt;/span>&lt;span class="o">())&lt;/span> &lt;span 
class="o">{&lt;/span>
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span 
class="c1">// Occasionally we fetch and process the values.
+&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span 
class="cl">&lt;span class="c1">&lt;/span> &lt;span 
class="n">Iterable&lt;/span>&lt;span class="o">&amp;lt;&lt;/span>&lt;span 
class="n">ValueT&lt;/span>&lt;span class="o">&amp;gt;&lt;/span> &lt;span 
class="n">values&lt;/span> &lt;span class="o">=&lt;/span> &lt;span 
class="n">state&lt;/span>&lt;span class="o">.&lt;/span>&lt;span 
class="na">read&lt;/span>&lt;span class="o">();&lt;/span>
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span 
class="n">processValues&lt;/span>&lt;span class="o">(&lt;/span>&lt;span 
class="n">values&lt;/span>&lt;span class="o">);&lt;/span>
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span 
class="n">state&lt;/span>&lt;span class="o">.&lt;/span>&lt;span 
class="na">clear&lt;/span>&lt;span class="o">();&lt;/span> &lt;span 
class="c1">// Clear the state for this key.
+&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span 
class="cl">&lt;span class="c1">&lt;/span> &lt;span class="o">}&lt;/span>
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span 
class="o">}&lt;/span>
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span 
class="o">}));&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
+&lt;/div>
+&lt;/div>
+&lt;div class='language-py snippet'>
+&lt;div class="notebook-skip code-snippet">
+&lt;a class="copy" type="button" data-bs-toggle="tooltip" 
data-bs-placement="bottom" title="Copy to clipboard">
+&lt;img src="/images/copy-icon.svg"/>
+&lt;/a>
+&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code 
class="language-py" data-lang="py">&lt;span class="line">&lt;span 
class="cl">&lt;span class="k">class&lt;/span> &lt;span 
class="nc">OrderedListStateDoFn&lt;/span>&lt;span class="p">(&lt;/span>&lt;span 
class="n">DoFn&lt;/span>&lt;span class="p">):&lt;/span>
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span 
class="n">STATE_ELEMENTS&lt;/span> &lt;span class="o">=&lt;/span> &lt;span 
class="n">OrderedListStateSpec&lt;/span>&lt;span class="p">(&lt;/span>&lt;span 
class="s1">&amp;#39;buffer&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span> 
&lt;span class="n">coders&lt;/span>&lt;span class="o">.&lt;/span>&lt;span 
class="n">ListCoder&lt;/span>&lt;span class="p">())&lt;/span>
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span 
class="k">def&lt;/span> &lt;span class="nf">process&lt;/span>&lt;span 
class="p">(&lt;/span>&lt;span class="bp">self&lt;/span>&lt;span 
class="p">,&lt;/span> &lt;span class="n">element_pair&lt;/span>&lt;span 
class="p">,&lt;/span> &lt;span class="n">state&lt;/span>&lt;span 
class="o">=&lt;/span>&lt;span class="n">DoFn&lt;/span>&lt;span 
class="o">.&lt;/span>&lt;span class="n">StateParam&lt;/span>&lt;span 
class="p">(&lt;/s [...]
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span 
class="n">state&lt;/span>&lt;span class="o">.&lt;/span>&lt;span 
class="n">add&lt;/span>&lt;span class="p">(&lt;/span>&lt;span 
class="n">element_pair&lt;/span>&lt;span class="p">[&lt;/span>&lt;span 
class="mi">1&lt;/span>&lt;span class="p">])&lt;/span>
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span 
class="k">if&lt;/span> &lt;span class="n">should_fetch&lt;/span>&lt;span 
class="p">():&lt;/span>
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span 
class="n">elements&lt;/span> &lt;span class="o">=&lt;/span> &lt;span 
class="nb">list&lt;/span>&lt;span class="p">(&lt;/span>&lt;span 
class="n">state&lt;/span>&lt;span class="o">.&lt;/span>&lt;span 
class="n">read&lt;/span>&lt;span class="p">())&lt;/span>
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span 
class="n">process_values&lt;/span>&lt;span class="p">(&lt;/span>&lt;span 
class="n">elements&lt;/span>&lt;span class="p">)&lt;/span>
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span 
class="n">state&lt;/span>&lt;span class="o">.&lt;/span>&lt;span 
class="n">clear&lt;/span>&lt;span class="p">()&lt;/span>
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span 
class="n">_&lt;/span> &lt;span class="o">=&lt;/span> &lt;span 
class="p">(&lt;/span>&lt;span class="n">p&lt;/span> &lt;span 
class="o">|&lt;/span> &lt;span class="s1">&amp;#39;Read per 
user&amp;#39;&lt;/span> &lt;span class="o">&amp;gt;&amp;gt;&lt;/span> &lt;span 
class="n">ReadPerUser&lt;/span>&lt;span class="p">()&lt;/span>
+&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span 
class="o">|&lt;/span> &lt;span class="s1">&amp;#39;Set state 
pardo&amp;#39;&lt;/span> &lt;span class="o">&amp;gt;&amp;gt;&lt;/span> &lt;span 
class="n">beam&lt;/span>&lt;span class="o">.&lt;/span>&lt;span 
class="n">ParDo&lt;/span>&lt;span class="p">(&lt;/span>&lt;span 
class="n">OrderedListStateDoFn&lt;/span>&lt;span 
class="p">()))&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
+&lt;/div>
+&lt;/div>
+&lt;/p>
 &lt;h3 id="deferred-state-reads">11.2. Deferred state reads&lt;/h3>
 &lt;p>When a &lt;code>DoFn&lt;/code> contains multiple state specifications, 
reading each one in order can be slow. Calling the &lt;code>read()&lt;/code> 
function
 on a state can cause the runner to perform a blocking read. Performing 
multiple blocking reads in sequence adds latency
diff --git 
a/website/generated-content/documentation/programming-guide/index.html 
b/website/generated-content/documentation/programming-guide/index.html
index f727994ed1d..71579afa20f 100644
--- a/website/generated-content/documentation/programming-guide/index.html
+++ b/website/generated-content/documentation/programming-guide/index.html
@@ -37,7 +37,7 @@
 <img class=banner-img-mobile 
src=/images/banners/tour-of-beam/tour-of-beam-mobile.png alt="Start Tour of 
Beam"></a></div><div class=swiper-slide><a 
href=https://beam.apache.org/documentation/ml/overview/><img 
class=banner-img-desktop 
src=/images/banners/machine-learning/machine-learning-desktop.jpg alt="Machine 
Learning">
 <img class=banner-img-mobile 
src=/images/banners/machine-learning/machine-learning-mobile.jpg alt="Machine 
Learning"></a></div></div><div class=swiper-pagination></div><div 
class=swiper-button-prev></div><div 
class=swiper-button-next></div></div><script 
src=/js/swiper-bundle.min.min.e0e8f81b0b15728d35ff73c07f42ddbb17a108d6f23df4953cb3e60df7ade675.js></script>
 <script 
src=/js/sliders/top-banners.min.afa7d0a19acf7a3b28ca369490b3d401a619562a2a4c9612577be2f66a4b9855.js></script>
-<script>function showSearch(){addPlaceholder();var 
e,t=document.querySelector(".searchBar");t.classList.remove("disappear"),e=document.querySelector("#iconsBar"),e.classList.add("disappear")}function
 addPlaceholder(){$("input:text").attr("placeholder","What are you looking 
for?")}function endSearch(){var 
e,t=document.querySelector(".searchBar");t.classList.add("disappear"),e=document.querySelector("#iconsBar"),e.classList.remove("disappear")}function
 blockScroll(){$("body").toggleClass(" [...]
+<script>function showSearch(){addPlaceholder();var 
e,t=document.querySelector(".searchBar");t.classList.remove("disappear"),e=document.querySelector("#iconsBar"),e.classList.add("disappear")}function
 addPlaceholder(){$("input:text").attr("placeholder","What are you looking 
for?")}function endSearch(){var 
e,t=document.querySelector(".searchBar");t.classList.add("disappear"),e=document.querySelector("#iconsBar"),e.classList.remove("disappear")}function
 blockScroll(){$("body").toggleClass(" [...]
 Beam SDKs to create data processing pipelines. It provides guidance for using
 the Beam SDK classes to build and test your pipeline. The programming guide is
 not intended as an exhaustive reference, but as a language-agnostic, high-level
@@ -4195,7 +4195,62 @@ bags larger than available memory.</p><div 
class='language-java snippet'><div cl
 </span></span><span class=line><span class=cl> <span class=p>}</span>
 </span></span><span class=line><span class=cl>
 </span></span><span class=line><span class=cl> <span class=k>return</span> 
<span class=kc>nil</span>
-</span></span><span class=line><span class=cl><span 
class=p>}</span></span></span></code></pre></div></div></div><h3 
id=deferred-state-reads>11.2. Deferred state reads</h3><p>When a 
<code>DoFn</code> contains multiple state specifications, reading each one in 
order can be slow. Calling the <code>read()</code> function
+</span></span><span class=line><span class=cl><span 
class=p>}</span></span></span></code></pre></div></div></div><h4 
id=setstate>SetState</h4><p>A common use case for state is to accumulate unique 
elements. <code>SetState</code> allows for accumulating an unordered set
+of elements.</p><p><div class='language-java snippet'><div 
class="notebook-skip code-snippet"><a class=copy type=button 
data-bs-toggle=tooltip data-bs-placement=bottom title="Copy to clipboard"><img 
src=/images/copy-icon.svg></a><div class=highlight><pre tabindex=0 
class=chroma><code class=language-java data-lang=java><span class=line><span 
class=cl><span class=n>PCollection</span><span class=o>&lt;</span><span 
class=n>KV</span><span class=o>&lt;</span><span class=n>String</span><span cl 
[...]
+</span></span><span class=line><span class=cl><span 
class=n>perUser</span><span class=o>.</span><span class=na>apply</span><span 
class=o>(</span><span class=n>ParDo</span><span class=o>.</span><span 
class=na>of</span><span class=o>(</span><span class=k>new</span> <span 
class=n>DoFn</span><span class=o>&lt;</span><span class=n>KV</span><span 
class=o>&lt;</span><span class=n>String</span><span class=o>,</span> <span 
class=n>ValueT</span><span class=o>&gt;,</span> <span class=n>OutputT</spa [...]
+</span></span><span class=line><span class=cl>  <span 
class=nd>@StateId</span><span class=o>(</span><span 
class=s>&#34;state&#34;</span><span class=o>)</span> <span 
class=kd>private</span> <span class=kd>final</span> <span 
class=n>StateSpec</span><span class=o>&lt;</span><span 
class=n>SetState</span><span class=o>&lt;</span><span 
class=n>ValueT</span><span class=o>&gt;&gt;</span> <span 
class=n>uniqueElements</span> <span class=o>=</span> <span 
class=n>StateSpecs</span><span class=o>.</sp [...]
+</span></span><span class=line><span class=cl>
+</span></span><span class=line><span class=cl>  <span 
class=nd>@ProcessElement</span> <span class=kd>public</span> <span 
class=kt>void</span> <span class=nf>process</span><span class=o>(</span>
+</span></span><span class=line><span class=cl>    <span 
class=nd>@Element</span> <span class=n>KV</span><span class=o>&lt;</span><span 
class=n>String</span><span class=o>,</span> <span class=n>ValueT</span><span 
class=o>&gt;</span> <span class=n>element</span><span class=o>,</span>
+</span></span><span class=line><span class=cl>    <span 
class=nd>@StateId</span><span class=o>(</span><span 
class=s>&#34;state&#34;</span><span class=o>)</span> <span 
class=n>SetState</span><span class=o>&lt;</span><span 
class=n>ValueT</span><span class=o>&gt;</span> <span class=n>state</span><span 
class=o>)</span> <span class=o>{</span>
+</span></span><span class=line><span class=cl>    <span class=c1>// Add the 
current element to the set state for this key.
+</span></span></span><span class=line><span class=cl><span class=c1></span>    
<span class=n>state</span><span class=o>.</span><span class=na>add</span><span 
class=o>(</span><span class=n>element</span><span class=o>.</span><span 
class=na>getValue</span><span class=o>());</span>
+</span></span><span class=line><span class=cl>    <span class=k>if</span> 
<span class=o>(</span><span class=n>shouldFetch</span><span class=o>())</span> 
<span class=o>{</span>
+</span></span><span class=line><span class=cl>      <span class=c1>// 
Occasionally we fetch and process the values.
+</span></span></span><span class=line><span class=cl><span class=c1></span>    
  <span class=n>Iterable</span><span class=o>&lt;</span><span 
class=n>ValueT</span><span class=o>&gt;</span> <span class=n>values</span> 
<span class=o>=</span> <span class=n>state</span><span class=o>.</span><span 
class=na>read</span><span class=o>();</span>
+</span></span><span class=line><span class=cl>      <span 
class=n>processValues</span><span class=o>(</span><span 
class=n>values</span><span class=o>);</span>
+</span></span><span class=line><span class=cl>      <span 
class=n>state</span><span class=o>.</span><span class=na>clear</span><span 
class=o>();</span>  <span class=c1>// Clear the state for this key.
+</span></span></span><span class=line><span class=cl><span class=c1></span>    
<span class=o>}</span>
+</span></span><span class=line><span class=cl>  <span class=o>}</span>
+</span></span><span class=line><span class=cl><span 
class=o>}));</span></span></span></code></pre></div></div></div><div 
class='language-py snippet'><div class="notebook-skip code-snippet"><a 
class=copy type=button data-bs-toggle=tooltip data-bs-placement=bottom 
title="Copy to clipboard"><img src=/images/copy-icon.svg></a><div 
class=highlight><pre tabindex=0 class=chroma><code class=language-py 
data-lang=py><span class=line><span class=cl><span class=k>class</span> <span 
class=nc>SetStat [...]
+</span></span><span class=line><span class=cl>  <span 
class=n>UNIQUE_ELEMENTS</span> <span class=o>=</span> <span 
class=n>SetStateSpec</span><span class=p>(</span><span 
class=s1>&#39;buffer&#39;</span><span class=p>,</span> <span 
class=n>coders</span><span class=o>.</span><span 
class=n>VarIntCoder</span><span class=p>())</span>
+</span></span><span class=line><span class=cl>
+</span></span><span class=line><span class=cl>  <span class=k>def</span> <span 
class=nf>process</span><span class=p>(</span><span class=bp>self</span><span 
class=p>,</span> <span class=n>element_pair</span><span class=p>,</span> <span 
class=n>state</span><span class=o>=</span><span class=n>DoFn</span><span 
class=o>.</span><span class=n>StateParam</span><span class=p>(</span><span 
class=n>UNIQUE_ELEMENTS</span><span class=p>)):</span>
+</span></span><span class=line><span class=cl>    <span 
class=n>state</span><span class=o>.</span><span class=n>add</span><span 
class=p>(</span><span class=n>element_pair</span><span class=p>[</span><span 
class=mi>1</span><span class=p>])</span>
+</span></span><span class=line><span class=cl>    <span class=k>if</span> 
<span class=n>should_fetch</span><span class=p>():</span>
+</span></span><span class=line><span class=cl>      <span 
class=n>unique_elements</span> <span class=o>=</span> <span 
class=nb>list</span><span class=p>(</span><span class=n>state</span><span 
class=o>.</span><span class=n>read</span><span class=p>())</span>
+</span></span><span class=line><span class=cl>      <span 
class=n>process_values</span><span class=p>(</span><span 
class=n>unique_elements</span><span class=p>)</span>
+</span></span><span class=line><span class=cl>      <span 
class=n>state</span><span class=o>.</span><span class=n>clear</span><span 
class=p>()</span>
+</span></span><span class=line><span class=cl>
+</span></span><span class=line><span class=cl><span class=n>_</span> <span 
class=o>=</span> <span class=p>(</span><span class=n>p</span> <span 
class=o>|</span> <span class=s1>&#39;Read per user&#39;</span> <span 
class=o>&gt;&gt;</span> <span class=n>ReadPerUser</span><span class=p>()</span>
+</span></span><span class=line><span class=cl>       <span class=o>|</span> 
<span class=s1>&#39;Set state pardo&#39;</span> <span class=o>&gt;&gt;</span> 
<span class=n>beam</span><span class=o>.</span><span class=n>ParDo</span><span 
class=p>(</span><span class=n>SetStateDoFn</span><span 
class=p>()))</span></span></span></code></pre></div></div></div></p><h4 
id=orderliststate>OrderListState</h4><p><code>OrderListState</code> state that 
accumulate elements in an ordered List.</p><p><div cl [...]
+</span></span><span class=line><span class=cl><span 
class=n>perUser</span><span class=o>.</span><span class=na>apply</span><span 
class=o>(</span><span class=n>ParDo</span><span class=o>.</span><span 
class=na>of</span><span class=o>(</span><span class=k>new</span> <span 
class=n>DoFn</span><span class=o>&lt;</span><span class=n>KV</span><span 
class=o>&lt;</span><span class=n>String</span><span class=o>,</span> <span 
class=n>ValueT</span><span class=o>&gt;,</span> <span class=n>OutputT</spa [...]
+</span></span><span class=line><span class=cl>  <span 
class=nd>@StateId</span><span class=o>(</span><span 
class=s>&#34;state&#34;</span><span class=o>)</span> <span 
class=kd>private</span> <span class=kd>final</span> <span 
class=n>StateSpec</span><span class=o>&lt;</span><span 
class=n>OrderedListState</span><span class=o>&lt;</span><span 
class=n>ValueT</span><span class=o>&gt;&gt;</span> <span 
class=n>uniqueElements</span> <span class=o>=</span> <span 
class=n>StateSpecs</span><span class [...]
+</span></span><span class=line><span class=cl>
+</span></span><span class=line><span class=cl>  <span 
class=nd>@ProcessElement</span> <span class=kd>public</span> <span 
class=kt>void</span> <span class=nf>process</span><span class=o>(</span>
+</span></span><span class=line><span class=cl>    <span 
class=nd>@Element</span> <span class=n>KV</span><span class=o>&lt;</span><span 
class=n>String</span><span class=o>,</span> <span class=n>ValueT</span><span 
class=o>&gt;</span> <span class=n>element</span><span class=o>,</span>
+</span></span><span class=line><span class=cl>    <span 
class=nd>@StateId</span><span class=o>(</span><span 
class=s>&#34;state&#34;</span><span class=o>)</span> <span 
class=n>SetState</span><span class=o>&lt;</span><span 
class=n>ValueT</span><span class=o>&gt;</span> <span class=n>state</span><span 
class=o>)</span> <span class=o>{</span>
+</span></span><span class=line><span class=cl>    <span class=c1>// Add the 
current element to the set state for this key.
+</span></span></span><span class=line><span class=cl><span class=c1></span>    
<span class=n>state</span><span class=o>.</span><span class=na>add</span><span 
class=o>(</span><span class=n>element</span><span class=o>.</span><span 
class=na>getValue</span><span class=o>());</span>
+</span></span><span class=line><span class=cl>    <span class=k>if</span> 
<span class=o>(</span><span class=n>shouldFetch</span><span class=o>())</span> 
<span class=o>{</span>
+</span></span><span class=line><span class=cl>      <span class=c1>// 
Occasionally we fetch and process the values.
+</span></span></span><span class=line><span class=cl><span class=c1></span>    
  <span class=n>Iterable</span><span class=o>&lt;</span><span 
class=n>ValueT</span><span class=o>&gt;</span> <span class=n>values</span> 
<span class=o>=</span> <span class=n>state</span><span class=o>.</span><span 
class=na>read</span><span class=o>();</span>
+</span></span><span class=line><span class=cl>      <span 
class=n>processValues</span><span class=o>(</span><span 
class=n>values</span><span class=o>);</span>
+</span></span><span class=line><span class=cl>      <span 
class=n>state</span><span class=o>.</span><span class=na>clear</span><span 
class=o>();</span>  <span class=c1>// Clear the state for this key.
+</span></span></span><span class=line><span class=cl><span class=c1></span>    
<span class=o>}</span>
+</span></span><span class=line><span class=cl>  <span class=o>}</span>
+</span></span><span class=line><span class=cl><span 
class=o>}));</span></span></span></code></pre></div></div></div><div 
class='language-py snippet'><div class="notebook-skip code-snippet"><a 
class=copy type=button data-bs-toggle=tooltip data-bs-placement=bottom 
title="Copy to clipboard"><img src=/images/copy-icon.svg></a><div 
class=highlight><pre tabindex=0 class=chroma><code class=language-py 
data-lang=py><span class=line><span class=cl><span class=k>class</span> <span 
class=nc>Ordered [...]
+</span></span><span class=line><span class=cl>  <span 
class=n>STATE_ELEMENTS</span> <span class=o>=</span> <span 
class=n>OrderedListStateSpec</span><span class=p>(</span><span 
class=s1>&#39;buffer&#39;</span><span class=p>,</span> <span 
class=n>coders</span><span class=o>.</span><span class=n>ListCoder</span><span 
class=p>())</span>
+</span></span><span class=line><span class=cl>
+</span></span><span class=line><span class=cl>  <span class=k>def</span> <span 
class=nf>process</span><span class=p>(</span><span class=bp>self</span><span 
class=p>,</span> <span class=n>element_pair</span><span class=p>,</span> <span 
class=n>state</span><span class=o>=</span><span class=n>DoFn</span><span 
class=o>.</span><span class=n>StateParam</span><span class=p>(</span><span 
class=n>STATE_ELEMENTS</span><span class=p>)):</span>
+</span></span><span class=line><span class=cl>    <span 
class=n>state</span><span class=o>.</span><span class=n>add</span><span 
class=p>(</span><span class=n>element_pair</span><span class=p>[</span><span 
class=mi>1</span><span class=p>])</span>
+</span></span><span class=line><span class=cl>    <span class=k>if</span> 
<span class=n>should_fetch</span><span class=p>():</span>
+</span></span><span class=line><span class=cl>      <span 
class=n>elements</span> <span class=o>=</span> <span class=nb>list</span><span 
class=p>(</span><span class=n>state</span><span class=o>.</span><span 
class=n>read</span><span class=p>())</span>
+</span></span><span class=line><span class=cl>      <span 
class=n>process_values</span><span class=p>(</span><span 
class=n>elements</span><span class=p>)</span>
+</span></span><span class=line><span class=cl>      <span 
class=n>state</span><span class=o>.</span><span class=n>clear</span><span 
class=p>()</span>
+</span></span><span class=line><span class=cl>
+</span></span><span class=line><span class=cl><span class=n>_</span> <span 
class=o>=</span> <span class=p>(</span><span class=n>p</span> <span 
class=o>|</span> <span class=s1>&#39;Read per user&#39;</span> <span 
class=o>&gt;&gt;</span> <span class=n>ReadPerUser</span><span class=p>()</span>
+</span></span><span class=line><span class=cl>       <span class=o>|</span> 
<span class=s1>&#39;Set state pardo&#39;</span> <span class=o>&gt;&gt;</span> 
<span class=n>beam</span><span class=o>.</span><span class=n>ParDo</span><span 
class=p>(</span><span class=n>OrderedListStateDoFn</span><span 
class=p>()))</span></span></span></code></pre></div></div></div></p><h3 
id=deferred-state-reads>11.2. Deferred state reads</h3><p>When a 
<code>DoFn</code> contains multiple state specifications, r [...]
 on a state can cause the runner to perform a blocking read. Performing 
multiple blocking reads in sequence adds latency
 to element processing. If you know that a state will always be read, you can 
annotate it as @AlwaysFetched, and then the
 runner can prefetch all of the states necessary. For example:</p><div 
class='language-java snippet'><div class="notebook-skip code-snippet"><a 
class=copy type=button data-bs-toggle=tooltip data-bs-placement=bottom 
title="Copy to clipboard"><img src=/images/copy-icon.svg></a><div 
class=highlight><pre tabindex=0 class=chroma><code class=language-java 
data-lang=java><span class=line><span class=cl><span 
class=n>PCollection</span><span class=o>&lt;</span><span class=n>KV</span><span 
class=o> [...]
diff --git a/website/generated-content/get-started/index.xml 
b/website/generated-content/get-started/index.xml
index a7a65423262..fb730ed91eb 100644
--- a/website/generated-content/get-started/index.xml
+++ b/website/generated-content/get-started/index.xml
@@ -5983,6 +5983,76 @@ java -cp target/word-count-beam-bundled-0.1.jar 
org.apache.beam.examples.WordCou
 &lt;/div>
 &lt;/div>
 &lt;/p>
+&lt;p>For Windows PowerShell:&lt;/p>
+&lt;p>
+&lt;div class='runner-direct snippet'>
+&lt;div class="notebook-skip code-snippet">
+&lt;a class="copy" type="button" data-bs-toggle="tooltip" 
data-bs-placement="bottom" title="Copy to clipboard">
+&lt;img src="/images/copy-icon.svg"/>
+&lt;/a>
+&lt;pre tabindex="0">&lt;code class="language-direct" 
data-lang="direct">.\gradlew clean execute -D 
mainClass=org.apache.beam.examples.WordCount \
+--args=&amp;#34;--inputFile=sample.txt 
--output=counts&amp;#34;&lt;/code>&lt;/pre>
+&lt;/div>
+&lt;/div>
+&lt;div class='runner-flink snippet'>
+&lt;div class="notebook-skip code-snippet">
+&lt;a class="copy" type="button" data-bs-toggle="tooltip" 
data-bs-placement="bottom" title="Copy to clipboard">
+&lt;img src="/images/copy-icon.svg"/>
+&lt;/a>
+&lt;pre tabindex="0">&lt;code class="language-flink" data-lang="flink">TODO: 
document Flink on Gradle: 
https://github.com/apache/beam/issues/21498&lt;/code>&lt;/pre>
+&lt;/div>
+&lt;/div>
+&lt;div class='runner-flinkCluster snippet'>
+&lt;div class="notebook-skip code-snippet">
+&lt;a class="copy" type="button" data-bs-toggle="tooltip" 
data-bs-placement="bottom" title="Copy to clipboard">
+&lt;img src="/images/copy-icon.svg"/>
+&lt;/a>
+&lt;pre tabindex="0">&lt;code class="language-flinkCluster" 
data-lang="flinkCluster">TODO: document FlinkCluster on Gradle: 
https://github.com/apache/beam/issues/21499&lt;/code>&lt;/pre>
+&lt;/div>
+&lt;/div>
+&lt;div class='runner-spark snippet'>
+&lt;div class="notebook-skip code-snippet">
+&lt;a class="copy" type="button" data-bs-toggle="tooltip" 
data-bs-placement="bottom" title="Copy to clipboard">
+&lt;img src="/images/copy-icon.svg"/>
+&lt;/a>
+&lt;pre tabindex="0">&lt;code class="language-spark" data-lang="spark">TODO: 
document Spark on Gradle: 
https://github.com/apache/beam/issues/21502&lt;/code>&lt;/pre>
+&lt;/div>
+&lt;/div>
+&lt;div class='runner-dataflow snippet'>
+&lt;div class="notebook-skip code-snippet">
+&lt;a class="copy" type="button" data-bs-toggle="tooltip" 
data-bs-placement="bottom" title="Copy to clipboard">
+&lt;img src="/images/copy-icon.svg"/>
+&lt;/a>
+&lt;pre tabindex="0">&lt;code class="language-dataflow" 
data-lang="dataflow">.\gradlew clean execute 
-DmainClass=org.apache.beam.examples.WordCount \
+--args=&amp;#34;--project=&amp;lt;your-gcp-project&amp;gt; 
--inputFile=gs://apache-beam-samples/shakespeare/* \
+--output=gs://&amp;lt;your-gcs-bucket&amp;gt;/counts 
--runner=DataflowRunner&amp;#34; -Pdataflow-runner&lt;/code>&lt;/pre>
+&lt;/div>
+&lt;/div>
+&lt;div class='runner-samza snippet'>
+&lt;div class="notebook-skip code-snippet">
+&lt;a class="copy" type="button" data-bs-toggle="tooltip" 
data-bs-placement="bottom" title="Copy to clipboard">
+&lt;img src="/images/copy-icon.svg"/>
+&lt;/a>
+&lt;pre tabindex="0">&lt;code class="language-samza" data-lang="samza">TODO: 
document Samza on Gradle: 
https://github.com/apache/beam/issues/21500&lt;/code>&lt;/pre>
+&lt;/div>
+&lt;/div>
+&lt;div class='runner-nemo snippet'>
+&lt;div class="notebook-skip code-snippet">
+&lt;a class="copy" type="button" data-bs-toggle="tooltip" 
data-bs-placement="bottom" title="Copy to clipboard">
+&lt;img src="/images/copy-icon.svg"/>
+&lt;/a>
+&lt;pre tabindex="0">&lt;code class="language-nemo" data-lang="nemo">TODO: 
document Nemo on Gradle: 
https://github.com/apache/beam/issues/21503&lt;/code>&lt;/pre>
+&lt;/div>
+&lt;/div>
+&lt;div class='runner-jet snippet'>
+&lt;div class="notebook-skip code-snippet">
+&lt;a class="copy" type="button" data-bs-toggle="tooltip" 
data-bs-placement="bottom" title="Copy to clipboard">
+&lt;img src="/images/copy-icon.svg"/>
+&lt;/a>
+&lt;pre tabindex="0">&lt;code class="language-jet" data-lang="jet">TODO: 
document Jet on Gradle: 
https://github.com/apache/beam/issues/21501&lt;/code>&lt;/pre>
+&lt;/div>
+&lt;/div>
+&lt;/p>
 &lt;h2 id="inspect-the-results">Inspect the results&lt;/h2>
 &lt;p>After the pipeline has completed, you can view the output. There might be
 multiple output files prefixed by &lt;code>count&lt;/code>. The number of 
output files is decided
diff --git a/website/generated-content/get-started/quickstart-java/index.html 
b/website/generated-content/get-started/quickstart-java/index.html
index 960623d0a90..9f08df64d62 100644
--- a/website/generated-content/get-started/quickstart-java/index.html
+++ b/website/generated-content/get-started/quickstart-java/index.html
@@ -135,6 +135,9 @@ java -cp target/word-count-beam-bundled-0.1.jar 
org.apache.beam.examples.WordCou
 java -cp target/word-count-beam-bundled-0.1.jar 
org.apache.beam.examples.WordCount `
     --runner=JetRunner --jetLocalMode=3 --inputFile=$pwd/sample.txt 
--output=counts</code></pre></div></div></p><h3 
id=run-wordcount-using-gradle>Run WordCount using Gradle</h3><p>For Unix 
shells:</p><p><div class='runner-direct snippet'><div class="notebook-skip 
code-snippet"><a class=copy type=button data-bs-toggle=tooltip 
data-bs-placement=bottom title="Copy to clipboard"><img 
src=/images/copy-icon.svg></a><pre tabindex=0><code class=language-direct 
data-lang=direct>gradle clean execu [...]
     --args=&#34;--inputFile=sample.txt 
--output=counts&#34;</code></pre></div></div><div class='runner-flink 
snippet'><div class="notebook-skip code-snippet"><a class=copy type=button 
data-bs-toggle=tooltip data-bs-placement=bottom title="Copy to clipboard"><img 
src=/images/copy-icon.svg></a><pre tabindex=0><code class=language-flink 
data-lang=flink>TODO: document Flink on Gradle: 
https://github.com/apache/beam/issues/21498</code></pre></div></div><div 
class='runner-flinkCluster snippet' [...]
+    --args=&#34;--project=&lt;your-gcp-project&gt; 
--inputFile=gs://apache-beam-samples/shakespeare/* \
+    --output=gs://&lt;your-gcs-bucket&gt;/counts --runner=DataflowRunner&#34; 
-Pdataflow-runner</code></pre></div></div><div class='runner-samza 
snippet'><div class="notebook-skip code-snippet"><a class=copy type=button 
data-bs-toggle=tooltip data-bs-placement=bottom title="Copy to clipboard"><img 
src=/images/copy-icon.svg></a><pre tabindex=0><code class=language-samza 
data-lang=samza>TODO: document Samza on Gradle: 
https://github.com/apache/beam/issues/21500</code></pre></div></div><div [...]
+--args=&#34;--inputFile=sample.txt 
--output=counts&#34;</code></pre></div></div><div class='runner-flink 
snippet'><div class="notebook-skip code-snippet"><a class=copy type=button 
data-bs-toggle=tooltip data-bs-placement=bottom title="Copy to clipboard"><img 
src=/images/copy-icon.svg></a><pre tabindex=0><code class=language-flink 
data-lang=flink>TODO: document Flink on Gradle: 
https://github.com/apache/beam/issues/21498</code></pre></div></div><div 
class='runner-flinkCluster snippet'><di [...]
     --args=&#34;--project=&lt;your-gcp-project&gt; 
--inputFile=gs://apache-beam-samples/shakespeare/* \
     --output=gs://&lt;your-gcs-bucket&gt;/counts --runner=DataflowRunner&#34; 
-Pdataflow-runner</code></pre></div></div><div class='runner-samza 
snippet'><div class="notebook-skip code-snippet"><a class=copy type=button 
data-bs-toggle=tooltip data-bs-placement=bottom title="Copy to clipboard"><img 
src=/images/copy-icon.svg></a><pre tabindex=0><code class=language-samza 
data-lang=samza>TODO: document Samza on Gradle: 
https://github.com/apache/beam/issues/21500</code></pre></div></div><div [...]
 multiple output files prefixed by <code>count</code>. The number of output 
files is decided
diff --git a/website/generated-content/sitemap.xml 
b/website/generated-content/sitemap.xml
index 49b275922db..c1e79879d58 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.64.0/</loc><lastmod>2025-05-04T15:09:37-07:00</lastmod></url><url><loc>/categories/blog/</loc><lastmod>2025-05-04T15:09:37-07:00</lastmod></url><url><loc>/blog/</loc><lastmod>2025-05-04T15:09:37-07:00</lastmod></url><url><loc>/categories/</loc><lastmod>2025-05-04T15:09:37-07:00</lastmod></url><url><loc>/catego
 [...]
\ 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.64.0/</loc><lastmod>2025-05-04T18:52:55-07:00</lastmod></url><url><loc>/categories/blog/</loc><lastmod>2025-05-04T18:52:55-07:00</lastmod></url><url><loc>/blog/</loc><lastmod>2025-05-04T18:52:55-07:00</lastmod></url><url><loc>/categories/</loc><lastmod>2025-05-04T18:52:55-07:00</lastmod></url><url><loc>/catego
 [...]
\ No newline at end of file


Reply via email to