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 2025/08/12 17:45:19 UTC
(beam) branch asf-site updated: Publishing website 2025/08/12 17:45:09 at commit c371236
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 062d94309ac Publishing website 2025/08/12 17:45:09 at commit c371236
062d94309ac is described below
commit 062d94309ace5bd5cc75aee42931f981c8118181
Author: runner <ru...@main-runner-frrkx-jczsx>
AuthorDate: Tue Aug 12 17:45:09 2025 +0000
Publishing website 2025/08/12 17:45:09 at commit c371236
---
.../review-input-streaming-connectors/index.html | 6 ++--
.../blog/splittable-do-fn/index.html | 10 +++---
.../generated-content/blog/test-stream/index.html | 2 +-
website/generated-content/contribute/index.xml | 4 +--
.../contribute/ptransform-style-guide/index.html | 2 +-
.../dataframes/differences-from-pandas/index.html | 14 ++++----
.../dsls/dataframes/overview/index.html | 2 +-
.../sql/calcite/aggregate-functions/index.html | 2 +-
.../dsls/sql/calcite/data-types/index.html | 2 +-
.../dsls/sql/calcite/lexical-structure/index.html | 2 +-
.../dsls/sql/calcite/overview/index.html | 2 +-
.../dsls/sql/calcite/query-syntax/index.html | 2 +-
.../dsls/sql/calcite/scalar-functions/index.html | 2 +-
.../extensions/create-external-table/index.html | 2 +-
.../dsls/sql/extensions/joins/index.html | 2 +-
.../dsls/sql/extensions/set/index.html | 2 +-
.../extensions/user-defined-functions/index.html | 2 +-
.../extensions/windowing-and-triggering/index.html | 2 +-
.../documentation/dsls/sql/overview/index.html | 4 +--
.../documentation/dsls/sql/shell/index.html | 2 +-
.../documentation/dsls/sql/walkthrough/index.html | 4 +--
.../sql/zetasql/aggregate-functions/index.html | 2 +-
.../sql/zetasql/conditional-expressions/index.html | 2 +-
.../dsls/sql/zetasql/conversion-rules/index.html | 2 +-
.../dsls/sql/zetasql/data-types/index.html | 2 +-
.../dsls/sql/zetasql/lexical/index.html | 2 +-
.../dsls/sql/zetasql/math-functions/index.html | 2 +-
.../dsls/sql/zetasql/operators/index.html | 2 +-
.../dsls/sql/zetasql/overview/index.html | 2 +-
.../dsls/sql/zetasql/query-syntax/index.html | 2 +-
.../dsls/sql/zetasql/string-functions/index.html | 2 +-
.../dsls/sql/zetasql/syntax/index.html | 2 +-
website/generated-content/documentation/index.xml | 42 +++++++++++-----------
.../io/built-in/google-bigquery/index.html | 16 ++++-----
.../documentation/io/built-in/parquet/index.html | 4 +--
.../io/built-in/singlestore/index.html | 4 +--
.../documentation/io/built-in/snowflake/index.html | 6 ++--
.../documentation/io/built-in/webapis/index.html | 4 +--
.../io/developing-io-python/index.html | 6 ++--
.../pipelines/test-your-pipeline/index.html | 4 +--
.../documentation/programming-guide/index.html | 16 ++++-----
.../documentation/runners/dataflow/index.html | 6 ++--
.../documentation/runners/direct/index.html | 10 +++---
.../documentation/runners/flink/index.html | 6 ++--
.../documentation/runners/prism/index.html | 8 ++---
.../documentation/runners/samza/index.html | 2 +-
.../documentation/runners/spark/index.html | 6 ++--
.../sdks/go-cross-compilation/index.html | 2 +-
.../documentation/sdks/go-dependencies/index.html | 4 +--
.../documentation/sdks/go/index.html | 2 +-
.../sdks/java-dependencies/index.html | 6 ++--
.../documentation/sdks/java-extensions/index.html | 2 +-
.../sdks/java-multi-language-pipelines/index.html | 2 +-
.../documentation/sdks/java-thirdparty/index.html | 2 +-
.../documentation/sdks/java/euphoria/index.html | 2 +-
.../documentation/sdks/java/index.html | 2 +-
.../sdks/java/testing/nexmark/index.html | 6 ++--
.../sdks/java/testing/tpcds/index.html | 2 +-
.../index.html | 2 +-
.../sdks/python-dependencies/index.html | 6 ++--
.../python-multi-language-pipelines/index.html | 2 +-
.../sdks/python-pipeline-dependencies/index.html | 2 +-
.../documentation/sdks/python-streaming/index.html | 2 +-
.../sdks/python-type-safety/index.html | 2 +-
.../sdks/python-unrecoverable-errors/index.html | 2 +-
.../documentation/sdks/python/index.html | 2 +-
.../documentation/sdks/scala/index.html | 2 +-
.../documentation/sdks/typescript/index.html | 2 +-
.../documentation/sdks/yaml-combine/index.html | 2 +-
.../documentation/sdks/yaml-errors/index.html | 2 +-
.../sdks/yaml-inline-python/index.html | 2 +-
.../documentation/sdks/yaml-join/index.html | 2 +-
.../documentation/sdks/yaml-providers/index.html | 2 +-
.../documentation/sdks/yaml-testing/index.html | 2 +-
.../documentation/sdks/yaml-udf/index.html | 2 +-
.../documentation/sdks/yaml/index.html | 2 +-
.../get-started/downloads/index.html | 22 ++++++------
website/generated-content/get-started/index.xml | 33 +++++++++--------
.../get-started/quickstart-java/index.html | 6 ++--
.../get-started/wordcount-example/index.html | 4 +--
website/generated-content/performance/index.html | 2 +-
.../{ => vllmgemmabatchtesla}/index.html | 18 +++++-----
.../performance/vllmgemmabatchtesla/index.xml | 1 +
website/generated-content/roadmap/index.xml | 2 +-
.../roadmap/prism-runner/index.html | 2 +-
website/generated-content/sitemap.xml | 2 +-
86 files changed, 202 insertions(+), 196 deletions(-)
diff --git a/website/generated-content/blog/review-input-streaming-connectors/index.html b/website/generated-content/blog/review-input-streaming-connectors/index.html
index 780ca3729d2..cab135ad538 100644
--- a/website/generated-content/blog/review-input-streaming-connectors/index.html
+++ b/website/generated-content/blog/review-input-streaming-connectors/index.html
@@ -37,9 +37,9 @@
<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(" [...]
&
-Julien Phalip [<a href=https://twitter.com/julienphalip>@julienphalip</a>]</span></div></header><div class="arrow-list header-top-margin" itemprop=articleBody><p>In this post, you’ll learn about the current state of support for input streaming connectors in <a href=/>Apache Beam</a>. For more context, you’ll also learn about the corresponding state of support in <a href=https://spark.apache.org/>Apache Spark</a>.</p><p>With batch processing, you might load data from any sourc [...]
-and <a href=https://spark.apache.org/docs/latest/api/java/org/apache/spark/streaming/StreamingContext.html#textFileStream-java.lang.String->textFileStream</a></td></tr><tr><td>S3<br>(Using the <code>s3://</code> URI)</td><td><a href=https://beam.apache.org/releases/javadoc/2.66.0/org/apache/beam/sdk/io/FileIO.html>FileIO</a> + <a href=https://beam.apache.org/releases/javadoc/2.66.0/org/apache/beam/sdk/io/aws2/options/S3Options.html>S3Options</a></td></tr><tr><td rowspan=3>Messaging Queue [...]
-and <a href=https://spark.apache.org/docs/latest/api/python/reference/api/pyspark.streaming.StreamingContext.textFileStream.html>textFileStream</a></td></tr><tr><td rowspan=2>Object stores</td><td>Google Cloud Storage</td><td><a href=https://beam.apache.org/releases/pydoc/2.66.0/apache_beam.io.gcp.gcsio.html>io.gcp.gcsio</a></td><td rowspan=2><a href=https://spark.apache.org/docs/latest/api/python/reference/api/pyspark.streaming.StreamingContext.html#pyspark.streaming.StreamingContext>te [...]
+Julien Phalip [<a href=https://twitter.com/julienphalip>@julienphalip</a>]</span></div></header><div class="arrow-list header-top-margin" itemprop=articleBody><p>In this post, you’ll learn about the current state of support for input streaming connectors in <a href=/>Apache Beam</a>. For more context, you’ll also learn about the corresponding state of support in <a href=https://spark.apache.org/>Apache Spark</a>.</p><p>With batch processing, you might load data from any sourc [...]
+and <a href=https://spark.apache.org/docs/latest/api/java/org/apache/spark/streaming/StreamingContext.html#textFileStream-java.lang.String->textFileStream</a></td></tr><tr><td>S3<br>(Using the <code>s3://</code> URI)</td><td><a href=https://beam.apache.org/releases/javadoc/2.67.0/org/apache/beam/sdk/io/FileIO.html>FileIO</a> + <a href=https://beam.apache.org/releases/javadoc/2.67.0/org/apache/beam/sdk/io/aws2/options/S3Options.html>S3Options</a></td></tr><tr><td rowspan=3>Messaging Queue [...]
+and <a href=https://spark.apache.org/docs/latest/api/python/reference/api/pyspark.streaming.StreamingContext.textFileStream.html>textFileStream</a></td></tr><tr><td rowspan=2>Object stores</td><td>Google Cloud Storage</td><td><a href=https://beam.apache.org/releases/pydoc/2.67.0/apache_beam.io.gcp.gcsio.html>io.gcp.gcsio</a></td><td rowspan=2><a href=https://spark.apache.org/docs/latest/api/python/reference/api/pyspark.streaming.StreamingContext.html#pyspark.streaming.StreamingContext>te [...]
</p><p>2025/07/01</p></div><div class=post><p class=post-title>Apache Beam 2.66.0</p><p class=post-info>Vitalii Terentev</p></div></a><a class=post-card href=/blog/beam-college-2025-anomaflow/ data-categories="blog "><div class="post-info post-category"><p>blog</p><p>2025/06/16</p></div><div class=post><p class=post-title>My Experience at Beam College 2025: 3rd Place Hackathon Winner</p><p class=post-info>Marcio Sugar</p></div></a><a class=post-card href=/blog/beam-2.65.0/ data-catego [...]
diff --git a/website/generated-content/blog/splittable-do-fn/index.html b/website/generated-content/blog/splittable-do-fn/index.html
index 4721deeaae2..cbbae0d80ae 100644
--- a/website/generated-content/blog/splittable-do-fn/index.html
+++ b/website/generated-content/blog/splittable-do-fn/index.html
@@ -69,20 +69,20 @@ result, the pipeline can suffer from poor performance due to stragglers.</p></li
with a regular <code>DoFn</code>, because it would need to output an infinite number of
records per each input element <code>topic, partition</code> <em>(<a href=/blog/2017/02/13/stateful-processing.html>stateful processing</a> comes close, but it
has other limitations that make it insufficient for this task</em>).</p></li></ul><h2 id=beam-source-api>Beam Source API</h2><p>Apache Beam historically provides a Source API
-(<a href=https://beam.apache.org/releases/javadoc/2.66.0/org/apache/beam/sdk/io/BoundedSource.html>BoundedSource</a>
+(<a href=https://beam.apache.org/releases/javadoc/2.67.0/org/apache/beam/sdk/io/BoundedSource.html>BoundedSource</a>
and
-<a href=https://beam.apache.org/releases/javadoc/2.66.0/org/apache/beam/sdk/io/UnboundedSource.html>UnboundedSource</a>) which does
+<a href=https://beam.apache.org/releases/javadoc/2.67.0/org/apache/beam/sdk/io/UnboundedSource.html>UnboundedSource</a>) which does
not have these limitations and allows development of efficient data sources for
batch and streaming systems. Pipelines use this API via the
-<a href=https://beam.apache.org/releases/javadoc/2.66.0/org/apache/beam/sdk/io/Read.html><code>Read.from(Source)</code></a> built-in <code>PTransform</code>.</p><p>The Source API is largely similar to that of most other data processing
+<a href=https://beam.apache.org/releases/javadoc/2.67.0/org/apache/beam/sdk/io/Read.html><code>Read.from(Source)</code></a> built-in <code>PTransform</code>.</p><p>The Source API is largely similar to that of most other data processing
frameworks, and allows the system to read data in parallel using multiple
workers, as well as checkpoint and resume reading from an unbounded data source.
Additionally, the Beam
-<a href=https://beam.apache.org/releases/javadoc/2.66.0/org/apache/beam/sdk/io/BoundedSource.html><code>BoundedSource</code></a>
+<a href=https://beam.apache.org/releases/javadoc/2.67.0/org/apache/beam/sdk/io/BoundedSource.html><code>BoundedSource</code></a>
API provides advanced features such as progress reporting and <a href=/blog/2016/05/18/splitAtFraction-method.html>dynamic
rebalancing</a>
(which together enable autoscaling), and
-<a href=https://beam.apache.org/releases/javadoc/2.66.0/org/apache/beam/sdk/io/UnboundedSource.html><code>UnboundedSource</code></a> supports
+<a href=https://beam.apache.org/releases/javadoc/2.67.0/org/apache/beam/sdk/io/UnboundedSource.html><code>UnboundedSource</code></a> supports
reporting the source’s watermark and backlog <em>(until SDF, we believed that
“batch” and “streaming” data sources are fundamentally different and thus
require fundamentally different APIs)</em>.</p><p>Unfortunately, these features come at a price. Coding against the Source API
diff --git a/website/generated-content/blog/test-stream/index.html b/website/generated-content/blog/test-stream/index.html
index 7db95231d50..a4d72b3b2b5 100644
--- a/website/generated-content/blog/test-stream/index.html
+++ b/website/generated-content/blog/test-stream/index.html
@@ -72,7 +72,7 @@ configured triggering and allowed lateness of the pipeline. The expected outputs
of the LeaderBoard pipeline vary depending on when elements arrive in relation
to the watermark and the progress of processing time, which could not previously
be controlled within a test.</p><h2 id=writing-deterministic-tests-to-emulate-nondeterminism>Writing Deterministic Tests to Emulate Nondeterminism</h2><p>The Beam testing infrastructure provides the
-<a href=https://beam.apache.org/releases/javadoc/2.66.0/org/apache/beam/sdk/testing/PAssert.html>PAssert</a>
+<a href=https://beam.apache.org/releases/javadoc/2.67.0/org/apache/beam/sdk/testing/PAssert.html>PAssert</a>
methods, which assert properties about the contents of a PCollection from within
a pipeline. We have expanded this infrastructure to include
<a href=https://github.com/apache/beam/blob/master/sdks/java/core/src/main/java/org/apache/beam/sdk/testing/TestStream.java>TestStream</a>,
diff --git a/website/generated-content/contribute/index.xml b/website/generated-content/contribute/index.xml
index bdc10013bed..36c1b070ef8 100644
--- a/website/generated-content/contribute/index.xml
+++ b/website/generated-content/contribute/index.xml
@@ -1096,8 +1096,8 @@ E.g. when expanding a filepattern into files, log what the filepattern was and h
<p>Do:</p>
<ul>
<li>Generally, follow the rules of <a href="https://semver.org/">semantic versioning</a>.</li>
-<li>If the API of the transform is not yet stable, annotate it as <code>@Experimental</code> (Java) or <code>@experimental</code> (<a href="https://beam.apache.org/releases/pydoc/2.66.0/apache_beam.utils.annotations.html">Python</a>).</li>
-<li>If the API deprecated, annotate it as <code>@Deprecated</code> (Java) or <code>@deprecated</code> (<a href="https://beam.apache.org/releases/pydoc/2.66.0/apache_beam.utils.annotations.html">Python</a>).</li>
+<li>If the API of the transform is not yet stable, annotate it as <code>@Experimental</code> (Java) or <code>@experimental</code> (<a href="https://beam.apache.org/releases/pydoc/2.67.0/apache_beam.utils.annotations.html">Python</a>).</li>
+<li>If the API deprecated, annotate it as <code>@Deprecated</code> (Java) or <code>@deprecated</code> (<a href="https://beam.apache.org/releases/pydoc/2.67.0/apache_beam.utils.annotations.html">Python</a>).</li>
<li>Pay attention to the stability and versioning of third-party classes exposed by the transform&rsquo;s API: if they are unstable or improperly versioned (do not obey <a href="https://semver.org/">semantic versioning</a>), it is better to wrap them in your own classes.</li>
</ul>
<p>Do not:</p>
diff --git a/website/generated-content/contribute/ptransform-style-guide/index.html b/website/generated-content/contribute/ptransform-style-guide/index.html
index 01974bd5043..ff0cd01379c 100644
--- a/website/generated-content/contribute/ptransform-style-guide/index.html
+++ b/website/generated-content/contribute/ptransform-style-guide/index.html
@@ -49,7 +49,7 @@ One advantage of putting a parameter into transform configuration is, it can be
<code>catch(...) { log an error; return null or false or otherwise ignore; }</code>
<strong>Rule of thumb: if a bundle didn’t fail, its output must be correct and complete.</strong>
For a user, a transform that logged an error but succeeded is silent data loss.</li></ul><h3 id=performance>Performance</h3><p>Many runners optimize chains of <code>ParDo</code>s in ways that improve performance if the <code>ParDo</code>s emit a small to moderate number of elements per input element, or have relatively cheap per-element processing (e.g. Dataflow’s “fusion”), but limit parallelization if these assumptions are violated. In that case you may need a “ [...]
-E.g. when expanding a filepattern into files, log what the filepattern was and how many parts it was split into; when executing a query, log the query and log how many results it produced.</li></ul><p>Do not:</p><ul><li>Do not log at <code>INFO</code> per element or per bundle. <code>DEBUG</code>/<code>TRACE</code> may be okay because these levels are disabled by default.</li><li>Avoid logging data payloads that may contain sensitive information, or sanitize them before logging (e.g. use [...]
+E.g. when expanding a filepattern into files, log what the filepattern was and how many parts it was split into; when executing a query, log the query and log how many results it produced.</li></ul><p>Do not:</p><ul><li>Do not log at <code>INFO</code> per element or per bundle. <code>DEBUG</code>/<code>TRACE</code> may be okay because these levels are disabled by default.</li><li>Avoid logging data payloads that may contain sensitive information, or sanitize them before logging (e.g. use [...]
Strive to make such incompatible behavior changes cause a compile error (e.g. it’s better to introduce a new transform for a new behavior and deprecate and then delete the old one (in a new major version), than to silently change the behavior of an existing transform), or at least a runtime error.</li><li>If the behavior of the transform stays the same and you’re merely changing implementation or API - do not change API of the transform in a way that will make a user’s [...]
</span></span><span class=line><span class=cl> <span class=kd>private</span> <span class=kd>final</span> <span class=n>TupleTag</span><span class=o><</span><span class=n>Moo</span><span class=o>></span> <span class=n>mooTag</span> <span class=o>=</span> <span class=k>new</span> <span class=n>TupleTag</span><span class=o><</span><span class=n>Moo</span><span class=o>>()</span> <span class=o>{};</span>
</span></span><span class=line><span class=cl> <span class=kd>private</span> <span class=kd>final</span> <span class=n>TupleTag</span><span class=o><</span><span class=n>Blah</span><span class=o>></span> <span class=n>blahTag</span> <span class=o>=</span> <span class=k>new</span> <span class=n>TupleTag</span><span class=o><</span><span class=n>Blah</span><span class=o>>()</span> <span class=o>{};</span>
diff --git a/website/generated-content/documentation/dsls/dataframes/differences-from-pandas/index.html b/website/generated-content/documentation/dsls/dataframes/differences-from-pandas/index.html
index 1c9c0c658dd..b53f48342b0 100644
--- a/website/generated-content/documentation/dsls/dataframes/differences-from-pandas/index.html
+++ b/website/generated-content/documentation/dsls/dataframes/differences-from-pandas/index.html
@@ -35,27 +35,27 @@
<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(" [...]
-</code></pre><p>This is similar to pandas <a href=https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html>read_csv</a>, but <code>df</code> is a deferred Beam DataFrame representing the contents of the file. The input filename can be any file pattern understood by <a href=https://beam.apache.org/releases/pydoc/2.66.0/apache_beam.io.fileio.html#apache_beam.io.fileio.MatchFiles>fileio.MatchFiles</a>.</p><p>For an example of using sources and sinks with the DataFrame [...]
+<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(" [...]
+</code></pre><p>This is similar to pandas <a href=https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html>read_csv</a>, but <code>df</code> is a deferred Beam DataFrame representing the contents of the file. The input filename can be any file pattern understood by <a href=https://beam.apache.org/releases/pydoc/2.67.0/apache_beam.io.fileio.html#apache_beam.io.fileio.MatchFiles>fileio.MatchFiles</a>.</p><p>For an example of using sources and sinks with the DataFrame [...]
<a href=https://beam.apache.org/releases/pydoc/current/apache_beam.dataframe.frames.html#apache_beam.dataframe.frames.DeferredDataFrame.quantile><code>DeferredDataFrame.quantile</code></a>,
-<a href=https://beam.apache.org/releases/pydoc/current/apache_beam.dataframe.frames.html#apache_beam.dataframe.frames.DeferredDataFrame.mode><code>DeferredDataFrame.mode</code></a></p><p>To support distributed processing, Beam invokes DataFrame operations on subsets of data in parallel. Some DataFrame operations can’t be parallelized, and these operations raise a <a href=https://beam.apache.org/releases/pydoc/2.66.0/apache_beam.dataframe.expressions.html#apache_beam.dataframe.expressions [...]
+<a href=https://beam.apache.org/releases/pydoc/current/apache_beam.dataframe.frames.html#apache_beam.dataframe.frames.DeferredDataFrame.mode><code>DeferredDataFrame.mode</code></a></p><p>To support distributed processing, Beam invokes DataFrame operations on subsets of data in parallel. Some DataFrame operations can’t be parallelized, and these operations raise a <a href=https://beam.apache.org/releases/pydoc/2.67.0/apache_beam.dataframe.expressions.html#apache_beam.dataframe.expressions [...]
with dataframe.allow_non_parallel_operations():
quantiles = df.quantile()
</code></pre><p>Note that this collects the entire input dataset on a single node, so there’s a risk of running out of memory. You should only use this workaround if you’re sure that the input is small enough to process on a single worker.</p><h3 id=operations-that-produce-non-deferred-columns>Operations that produce non-deferred columns</h3><p>Examples:
<a href=https://beam.apache.org/releases/pydoc/current/apache_beam.dataframe.frames.html#apache_beam.dataframe.frames.DeferredDataFrame.pivot><code>DeferredDataFrame.pivot</code></a>,
<a href=https://beam.apache.org/releases/pydoc/current/apache_beam.dataframe.frames.html#apache_beam.dataframe.frames.DeferredDataFrame.transpose><code>DeferredDataFrame.transpose</code></a>,
-<a href=https://beam.apache.org/releases/pydoc/current/apache_beam.dataframe.frames.html#apache_beam.dataframe.frames.DeferredSeries.factorize><code>DeferredSeries.factorize</code></a></p><p>Beam DataFrame operations are deferred, but the schemas of the resulting DataFrames are not, meaning that result columns must be computable without access to the data. Some DataFrame operations can’t support this usage, so they can’t be implemented. These operations raise a <a href=https://beam.apach [...]
+<a href=https://beam.apache.org/releases/pydoc/current/apache_beam.dataframe.frames.html#apache_beam.dataframe.frames.DeferredSeries.factorize><code>DeferredSeries.factorize</code></a></p><p>Beam DataFrame operations are deferred, but the schemas of the resulting DataFrames are not, meaning that result columns must be computable without access to the data. Some DataFrame operations can’t support this usage, so they can’t be implemented. These operations raise a <a href=https://beam.apach [...]
<a href=https://beam.apache.org/releases/pydoc/current/apache_beam.dataframe.frames.html#apache_beam.dataframe.frames.DeferredSeries.to_list><code>DeferredSeries.to_list</code></a>,
<a href=https://beam.apache.org/releases/pydoc/current/apache_beam.dataframe.frames.html#apache_beam.dataframe.frames.DeferredSeries.array><code>DeferredSeries.array</code></a>,
-<a href=https://beam.apache.org/releases/pydoc/current/apache_beam.dataframe.frames.html#apache_beam.dataframe.frames.DeferredDataFrame.plot><code>DeferredDataFrame.plot</code></a></p><p>It’s infeasible to implement DataFrame operations that produce non-deferred values or plots because Beam is a deferred API. If these operations are invoked, they will raise a <a href=https://beam.apache.org/releases/pydoc/2.66.0/apache_beam.dataframe.frame_base.html#apache_beam.dataframe.frame_base.WontI [...]
+<a href=https://beam.apache.org/releases/pydoc/current/apache_beam.dataframe.frames.html#apache_beam.dataframe.frames.DeferredDataFrame.plot><code>DeferredDataFrame.plot</code></a></p><p>It’s infeasible to implement DataFrame operations that produce non-deferred values or plots because Beam is a deferred API. If these operations are invoked, they will raise a <a href=https://beam.apache.org/releases/pydoc/2.67.0/apache_beam.dataframe.frame_base.html#apache_beam.dataframe.frame_base.WontI [...]
with Interactive Beam. To track progress on this issue, follow
<a href=https://github.com/apache/beam/issues/21638>Issue 21638</a>. If you think we
should prioritize this work you can also <a href=/community/contact-us/>contact
-us</a> to let us know.</p><p><strong>Workaround</strong></p><p>If you’re using <a href=https://beam.apache.org/releases/pydoc/2.66.0/apache_beam.runners.interactive.interactive_beam.html>Interactive Beam</a>, you can use <code>collect</code> to bring a dataset into local memory and then perform these operations.</p><h3 id=order-sensitive-operations>Order-sensitive operations</h3><p>Examples:
+us</a> to let us know.</p><p><strong>Workaround</strong></p><p>If you’re using <a href=https://beam.apache.org/releases/pydoc/2.67.0/apache_beam.runners.interactive.interactive_beam.html>Interactive Beam</a>, you can use <code>collect</code> to bring a dataset into local memory and then perform these operations.</p><h3 id=order-sensitive-operations>Order-sensitive operations</h3><p>Examples:
<a href=https://beam.apache.org/releases/pydoc/current/apache_beam.dataframe.frames.html#apache_beam.dataframe.frames.DeferredDataFrame.head><code>DeferredDataFrame.head</code></a>,
<a href=https://beam.apache.org/releases/pydoc/current/apache_beam.dataframe.frames.html#apache_beam.dataframe.frames.DeferredSeries.diff><code>DeferredSeries.diff</code></a>,
-<a href=https://beam.apache.org/releases/pydoc/current/apache_beam.dataframe.frames.html#apache_beam.dataframe.frames.DeferredDataFrame.interpolate><code>DeferredDataFrame.interpolate</code></a></p><p>Beam PCollections are inherently unordered, so pandas operations that are sensitive to the ordering of rows are not supported. These operations raise a <a href=https://beam.apache.org/releases/pydoc/2.66.0/apache_beam.dataframe.frame_base.html#apache_beam.dataframe.frame_base.WontImplementE [...]
+<a href=https://beam.apache.org/releases/pydoc/current/apache_beam.dataframe.frames.html#apache_beam.dataframe.frames.DeferredDataFrame.interpolate><code>DeferredDataFrame.interpolate</code></a></p><p>Beam PCollections are inherently unordered, so pandas operations that are sensitive to the ordering of rows are not supported. These operations raise a <a href=https://beam.apache.org/releases/pydoc/2.67.0/apache_beam.dataframe.frame_base.html#apache_beam.dataframe.frame_base.WontImplementE [...]
Run in Colab</a></td></table><p><br><br><br><br></p><p>To get started with Beam in a notebook, see <a href=/get-started/try-apache-beam/>Try Apache Beam</a>.</p></div></div><footer class=footer><div class=footer__contained><div class=footer__cols><div class="footer__cols__col footer__cols__col__logos"><div class=footer__cols__col__logo><img src=/images/beam_logo_circle.svg class=footer__logo alt="Beam logo"></div><div class=footer__cols__col__logo><img src=/images/apache_logo_circle.svg [...]
<a href=https://www.apache.org>The Apache Software Foundation</a>
| <a href=/privacy_policy>Privacy Policy</a>
diff --git a/website/generated-content/documentation/dsls/dataframes/overview/index.html b/website/generated-content/documentation/dsls/dataframes/overview/index.html
index 09de36bea8c..9d23768445b 100644
--- a/website/generated-content/documentation/dsls/dataframes/overview/index.html
+++ b/website/generated-content/documentation/dsls/dataframes/overview/index.html
@@ -35,7 +35,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(" [...]
Run in Colab</a></td></table><p><br><br><br><br></p><p>The Apache Beam Python SDK provides a DataFrame API for working with pandas-like <a href=https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html>DataFrame</a> objects. The feature lets you convert a PCollection to a DataFrame and then interact with the DataFrame using the standard methods available on the pandas DataFrame API. The DataFrame API is built on top of the pandas implementation, and pandas DataFram [...]
</code></pre><p>Note that the <em>same</em> <code>pandas</code> version should be installed on workers when executing DataFrame API pipelines on distributed runners. Reference <a href=https://github.com/apache/beam/blob/master/sdks/python/container/py38/base_image_requirements.txt><code>base_image_requirements.txt</code></a> for the Python version and Beam release you are using to see what version of <code>pandas</code> will be used by default on workers.</p><h2 id=using-dataframes>Using [...]
diff --git a/website/generated-content/documentation/dsls/sql/calcite/aggregate-functions/index.html b/website/generated-content/documentation/dsls/sql/calcite/aggregate-functions/index.html
index cb530f81439..d46d2d75c42 100644
--- a/website/generated-content/documentation/dsls/sql/calcite/aggregate-functions/index.html
+++ b/website/generated-content/documentation/dsls/sql/calcite/aggregate-functions/index.html
@@ -35,7 +35,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(" [...]
<a href=https://www.apache.org>The Apache Software Foundation</a>
| <a href=/privacy_policy>Privacy Policy</a>
| <a href=/feed.xml>RSS Feed</a><br><br>Apache Beam, Apache, Beam, the Beam logo, and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation. All other products or name brands are trademarks of their respective holders, including The Apache Software Foundation.</div></div><div class="footer__cols__col footer__cols__col__logos"><div class=footer__cols__col--group><div class=footer__cols__col__logo><a href=https://github.com/apache/beam><im [...]
\ No newline at end of file
diff --git a/website/generated-content/documentation/dsls/sql/calcite/data-types/index.html b/website/generated-content/documentation/dsls/sql/calcite/data-types/index.html
index 75aa76efd08..740d97085dc 100644
--- a/website/generated-content/documentation/dsls/sql/calcite/data-types/index.html
+++ b/website/generated-content/documentation/dsls/sql/calcite/data-types/index.html
@@ -35,7 +35,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(" [...]
including arrays, maps, and nested rows. This page documents supported
<a href=https://calcite.apache.org/docs/reference.html#data-types>Apache Calcite data types</a> supported by Beam Calcite SQL.</p><p>In Java, these types are mapped to Java types large enough to hold the
full range of values.</p><div class="table-wrapper table-wrapper--equal-p"><table><thead><tr><th>SQL Type</th><th>Description</th><th>Java class</th></tr></thead><tbody><tr><td>TINYINT</td><td>1 byte signed integer in range -128 to 127</td><td>java.lang.Byte</td></tr><tr><td>SMALLINT</td><td>2 byte signed integer in range -32768 to 32767</td><td>java.lang.Short</td></tr><tr><td>INTEGER</td><td>4 byte signed integer in range -2147483648 to 2147483647</td><td>java.lang.Integer</td></tr><tr [...]
diff --git a/website/generated-content/documentation/dsls/sql/calcite/lexical-structure/index.html b/website/generated-content/documentation/dsls/sql/calcite/lexical-structure/index.html
index b04a866520c..e0c20d9d656 100644
--- a/website/generated-content/documentation/dsls/sql/calcite/lexical-structure/index.html
+++ b/website/generated-content/documentation/dsls/sql/calcite/lexical-structure/index.html
@@ -35,7 +35,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(" [...]
<em>identifiers,</em> <em>quoted identifiers, literals</em>, <em>keywords</em>, <em>operators</em>,
and <em>special characters</em>. Tokens can be separated by whitespace (space,
backspace, tab, newline) or comments.</p><h2 id=identifiers>Identifiers</h2><p>Identifiers are names that are associated with columns, tables, and
diff --git a/website/generated-content/documentation/dsls/sql/calcite/overview/index.html b/website/generated-content/documentation/dsls/sql/calcite/overview/index.html
index 4eda2c1ad67..e92a3c2c933 100644
--- a/website/generated-content/documentation/dsls/sql/calcite/overview/index.html
+++ b/website/generated-content/documentation/dsls/sql/calcite/overview/index.html
@@ -35,7 +35,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(" [...]
big data processing with some streaming enhancements. Beam Calcite SQL is the default Beam SQL dialect.</p><p>Beam SQL has additional extensions leveraging Beam’s unified batch/streaming model and processing complex data types. You can use these extensions with all Beam SQL dialects, including Beam Calcite SQL.</p><h2 id=query-syntax>Query syntax</h2><p>Query statements scan one or more tables or expressions and return the computed result rows. For more information about query statements [...]
<a href=https://www.apache.org>The Apache Software Foundation</a>
| <a href=/privacy_policy>Privacy Policy</a>
diff --git a/website/generated-content/documentation/dsls/sql/calcite/query-syntax/index.html b/website/generated-content/documentation/dsls/sql/calcite/query-syntax/index.html
index 256c94ad70c..5c300867f65 100644
--- a/website/generated-content/documentation/dsls/sql/calcite/query-syntax/index.html
+++ b/website/generated-content/documentation/dsls/sql/calcite/query-syntax/index.html
@@ -35,7 +35,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(" [...]
result rows.</p><p>Generally, the semantics of queries is standard. See the following
sections to learn about extensions for supporting Beam’s unified
batch/streaming model:</p><ul><li><a href=/documentation/dsls/sql/extensions/joins>Joins</a></li><li><a href=/documentation/dsls/sql/windowing-and-triggering/>Windowing & Triggering</a></li></ul><p>The main functionality of Beam SQL is the <code>SELECT</code> statement. This is how you
diff --git a/website/generated-content/documentation/dsls/sql/calcite/scalar-functions/index.html b/website/generated-content/documentation/dsls/sql/calcite/scalar-functions/index.html
index 01cdbc9411d..f58e202b5d9 100644
--- a/website/generated-content/documentation/dsls/sql/calcite/scalar-functions/index.html
+++ b/website/generated-content/documentation/dsls/sql/calcite/scalar-functions/index.html
@@ -35,7 +35,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(" [...]
<a href=https://www.apache.org>The Apache Software Foundation</a>
| <a href=/privacy_policy>Privacy Policy</a>
| <a href=/feed.xml>RSS Feed</a><br><br>Apache Beam, Apache, Beam, the Beam logo, and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation. All other products or name brands are trademarks of their respective holders, including The Apache Software Foundation.</div></div><div class="footer__cols__col footer__cols__col__logos"><div class=footer__cols__col--group><div class=footer__cols__col__logo><a href=https://github.com/apache/beam><im [...]
\ No newline at end of file
diff --git a/website/generated-content/documentation/dsls/sql/extensions/create-external-table/index.html b/website/generated-content/documentation/dsls/sql/extensions/create-external-table/index.html
index 1c5a5122d8a..d9983f4e043 100644
--- a/website/generated-content/documentation/dsls/sql/extensions/create-external-table/index.html
+++ b/website/generated-content/documentation/dsls/sql/extensions/create-external-table/index.html
@@ -35,7 +35,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(" [...]
<a href=/documentation/io/built-in/>external storage system</a>.
For some storage systems, <code>CREATE EXTERNAL TABLE</code> does not create a physical table until
a write occurs. After the physical table exists, you can access the table with
diff --git a/website/generated-content/documentation/dsls/sql/extensions/joins/index.html b/website/generated-content/documentation/dsls/sql/extensions/joins/index.html
index f7aab1c3420..9283e606a1f 100644
--- a/website/generated-content/documentation/dsls/sql/extensions/joins/index.html
+++ b/website/generated-content/documentation/dsls/sql/extensions/joins/index.html
@@ -35,7 +35,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(" [...]
with all elements from another input. Due to the fact that both inputs are
bounded, no windowing or triggering is involved.</p><h2 id=join-unbounded-unbounded>Unbounded JOIN Unbounded</h2><p>Standard join implementation is used. All elements from one input are matched
with all elements from another input.</p><p><strong>Windowing and Triggering</strong></p><p>The following properties must be satisfied when joining unbounded inputs:</p><ul><li>Inputs must have compatible windows, otherwise <code>IllegalArgumentException</code>
diff --git a/website/generated-content/documentation/dsls/sql/extensions/set/index.html b/website/generated-content/documentation/dsls/sql/extensions/set/index.html
index 51e8ea4e8db..66858a470b8 100644
--- a/website/generated-content/documentation/dsls/sql/extensions/set/index.html
+++ b/website/generated-content/documentation/dsls/sql/extensions/set/index.html
@@ -35,7 +35,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(" [...]
Options</a>
via the SQL shell. These are the same Pipeline Options passed to other Beam
applications on the command line in the <code>--<option>=<value></code> format.</p><h2 id=syntax>Syntax</h2><pre tabindex=0><code>SET option = value
diff --git a/website/generated-content/documentation/dsls/sql/extensions/user-defined-functions/index.html b/website/generated-content/documentation/dsls/sql/extensions/user-defined-functions/index.html
index 38886edc52b..40fc51c2199 100644
--- a/website/generated-content/documentation/dsls/sql/extensions/user-defined-functions/index.html
+++ b/website/generated-content/documentation/dsls/sql/extensions/user-defined-functions/index.html
@@ -35,7 +35,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(" [...]
returns one scalar value.</li><li>A <code>SerializableFunction</code>.</li></ul><p>Below is an example of UDF and how to use it in DSL:</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=cm>/**
</span></span></span><span class=line><span class=cl><span class=cm> * A example UDF for test.
</span></span></span><span class=line><span class=cl><span class=cm> */</span>
diff --git a/website/generated-content/documentation/dsls/sql/extensions/windowing-and-triggering/index.html b/website/generated-content/documentation/dsls/sql/extensions/windowing-and-triggering/index.html
index db3e247d168..e017df1e00e 100644
--- a/website/generated-content/documentation/dsls/sql/extensions/windowing-and-triggering/index.html
+++ b/website/generated-content/documentation/dsls/sql/extensions/windowing-and-triggering/index.html
@@ -35,7 +35,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(" [...]
to a <code>BeamSql</code> transform</li><li>you can use windowing extensions in your windowing query, which will override
the windowing of your input <code>PCollections</code></li></ul><p>Triggering can only be used by setting it on your input <code>PCollections</code>; there
are no SQL extensions for specifying triggering.</p><p>This section covers the use of SQL extensions to directly apply windowing.</p><p>Beam SQL supports windowing functions specified in <code>GROUP BY</code> clause.
diff --git a/website/generated-content/documentation/dsls/sql/overview/index.html b/website/generated-content/documentation/dsls/sql/overview/index.html
index ad627bd7dfd..f19ebbdc5c8 100644
--- a/website/generated-content/documentation/dsls/sql/overview/index.html
+++ b/website/generated-content/documentation/dsls/sql/overview/index.html
@@ -35,11 +35,11 @@
<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(" [...]
bounded and unbounded <code>PCollections</code> with SQL statements. Your SQL query
is translated to a <code>PTransform</code>, an encapsulated segment of a Beam pipeline.
You can freely mix SQL <code>PTransforms</code> and other <code>PTransforms</code> in your pipeline.</p><p>Beam SQL uses Calcite SQL based on <a href=https://calcite.apache.org>Apache Calcite</a>,
-a dialect widespread in big data processing.</p><p><strong>Note:</strong> Beam SQL supports for <a href=/documentation/dsls/sql/zetasql/overview>ZetaSQL dialect</a> has been deprecated.</p><p>To change dialects, pass <a href=https://beam.apache.org/releases/javadoc/current/org/apache/beam/sdk/extensions/sql/package-summary.html>the dialect’s full package name</a> to the <a href=https://beam.apache.org/releases/javadoc/current/org/apache/beam/sdk/extensions/sql/impl/BeamSqlPipelineO [...]
+a dialect widespread in big data processing.</p><p><strong>Note:</strong> Beam SQL supports for <a href=/documentation/dsls/sql/zetasql/overview>ZetaSQL dialect</a> has been deprecated.</p><p>To change dialects, pass <a href=https://beam.apache.org/releases/javadoc/current/org/apache/beam/sdk/extensions/sql/package-summary.html>the dialect’s full package name</a> to the <a href=https://beam.apache.org/releases/javadoc/current/org/apache/beam/sdk/extensions/sql/impl/BeamSqlPipelineO [...]
the type of elements that Beam SQL operates on. A <code>PCollection<Row></code> plays the role of a table.</li></ul><h2 id=walkthrough>Walkthrough</h2><p>The <a href=/documentation/dsls/sql/walkthrough>SQL pipeline walkthrough</a> works through how to use Beam SQL with example code.</p><h2 id=shell>Shell</h2><p>The Beam SQL shell allows you to write pipelines as SQL queries without using the Java SDK.
The <a href=/documentation/dsls/sql/shell>Shell page</a> describes how to work with the interactive Beam SQL shell.</p><h2 id=apache-calcite-dialect>Apache Calcite dialect</h2><p>The <a href=/documentation/dsls/sql/calcite/overview>Beam Calcite SQL overview</a> summarizes Apache Calcite operators,
functions, syntax, and data types supported by Beam Calcite SQL.</p><h2 id=beam-sql-extensions>Beam SQL extensions</h2><p>Beam SQL has additional extensions leveraging Beam’s unified batch/streaming model and processing complex data types. You can use these extensions with all Beam SQL dialects.</p></div></div><footer class=footer><div class=footer__contained><div class=footer__cols><div class="footer__cols__col footer__cols__col__logos"><div class=footer__cols__col__logo><img src=/image [...]
diff --git a/website/generated-content/documentation/dsls/sql/shell/index.html b/website/generated-content/documentation/dsls/sql/shell/index.html
index 8313ecc0b57..a7636279b83 100644
--- a/website/generated-content/documentation/dsls/sql/shell/index.html
+++ b/website/generated-content/documentation/dsls/sql/shell/index.html
@@ -35,7 +35,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(" [...]
./sdks/java/extensions/sql/jdbc/build/install/jdbc/bin/jdbc
</code></pre><p>After you run the commands, the SQL shell starts and you can type queries:</p><pre tabindex=0><code>Welcome to Beam SQL 2.66.0-SNAPSHOT (based on sqlline version 1.4.0)
diff --git a/website/generated-content/documentation/dsls/sql/walkthrough/index.html b/website/generated-content/documentation/dsls/sql/walkthrough/index.html
index 061605f2bbd..3ce504e0b31 100644
--- a/website/generated-content/documentation/dsls/sql/walkthrough/index.html
+++ b/website/generated-content/documentation/dsls/sql/walkthrough/index.html
@@ -35,7 +35,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(" [...]
where <code>T</code> has a schema registered, or a <code>PCollection<Row></code>. See the
<a href=/documentation/programming-guide/#what-is-a-schema>schema documentation</a> in
the Beam Programming Guide for details on registering a schema for a type <code>T</code>.</p><p>If you don’t have an existing type <code>T</code>, a <code>PCollection<Row></code> can be obtained
@@ -96,7 +96,7 @@ multiple ways, for example:</p><ul><li><p><strong>From in-memory data</strong> (
</span></span></span><span class=line><span class=cl><span class=c1></span> <span class=n>c</span><span class=o>.</span><span class=na>output</span><span class=o>(</span><span class=n>appRow</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 class=na>setRowSchema</span><span class=o>(</span><span class=n>appSchema</span><span class=o>);</span>
-</span></span><span class=line><span class=cl> </span></span></code></pre></div></div></div></p></li><li><p><strong>As an output of another <code>SqlTransform</code></strong>. Details in the next section.</p></li></ul><p>Once you have a <code>PCollection<Row></code> in hand, you may use <code>SqlTransform</code> to apply SQL queries to it.</p><h2 id=sqltransform>SqlTransform</h2><p><a href=https://beam.apache.org/releases/javadoc/2.66.0/index.html?org/apache/beam/sdk/extensions/sql [...]
+</span></span><span class=line><span class=cl> </span></span></code></pre></div></div></div></p></li><li><p><strong>As an output of another <code>SqlTransform</code></strong>. Details in the next section.</p></li></ul><p>Once you have a <code>PCollection<Row></code> in hand, you may use <code>SqlTransform</code> to apply SQL queries to it.</p><h2 id=sqltransform>SqlTransform</h2><p><a href=https://beam.apache.org/releases/javadoc/2.67.0/index.html?org/apache/beam/sdk/extensions/sql [...]
from a string representation of the SQL query. You can apply this <code>PTransform</code>
to either a single <code>PCollection</code> or a <code>PCollectionTuple</code> which holds multiple
<code>PCollections</code>:</p><ul><li><p>when applying to a single <code>PCollection</code> it can be referenced via the table name <code>PCOLLECTION</code> in the query:<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><spa [...]
diff --git a/website/generated-content/documentation/dsls/sql/zetasql/aggregate-functions/index.html b/website/generated-content/documentation/dsls/sql/zetasql/aggregate-functions/index.html
index f30275d3b7d..c3d1ef0ca58 100644
--- a/website/generated-content/documentation/dsls/sql/zetasql/aggregate-functions/index.html
+++ b/website/generated-content/documentation/dsls/sql/zetasql/aggregate-functions/index.html
@@ -35,7 +35,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(" [...]
</code></pre><p><strong>Description</strong></p><p>Returns the average of non-<code>NULL</code> input values.</p><p><strong>Supported Argument Types</strong></p><p>FLOAT64. Note that, for floating point input types, the return result
is non-deterministic, which means you might receive a different result each time
you use this function.</p><p><strong>Returned Data Types</strong></p><ul><li>FLOAT64</li></ul><p><strong>Examples</strong></p><pre tabindex=0><code>SELECT AVG(x) as avg
diff --git a/website/generated-content/documentation/dsls/sql/zetasql/conditional-expressions/index.html b/website/generated-content/documentation/dsls/sql/zetasql/conditional-expressions/index.html
index c40a72b333e..4e60d2d9b94 100644
--- a/website/generated-content/documentation/dsls/sql/zetasql/conditional-expressions/index.html
+++ b/website/generated-content/documentation/dsls/sql/zetasql/conditional-expressions/index.html
@@ -35,7 +35,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(" [...]
WHEN value THEN result
[WHEN ...]
[ELSE else_result]
diff --git a/website/generated-content/documentation/dsls/sql/zetasql/conversion-rules/index.html b/website/generated-content/documentation/dsls/sql/zetasql/conversion-rules/index.html
index 02dc4786f71..73edd5bee67 100644
--- a/website/generated-content/documentation/dsls/sql/zetasql/conversion-rules/index.html
+++ b/website/generated-content/documentation/dsls/sql/zetasql/conversion-rules/index.html
@@ -35,7 +35,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(" [...]
automatically under the conditions described below.</li></ul><p>The table below summarizes all possible <code>CAST</code>s and coercions. “Coercion To” applies to all <em>expressions</em> of a given data type (e.g. a column).</p><div class=table-wrapper><table class=table-wrapper--equal-p><thead><tr><th>From Type</th><th>CAST to</th><th>Coercion To</th></tr></thead><tbody><tr><td>INT64</td><td><span>INT64</span><br><span>FLOAT64</span><br><span>STRING</span><br></td><td><span [...]
</code></pre><p>Cast syntax is used in a query to indicate that the result type of an
expression should be converted to some other type.</p><p>Example:</p><pre tabindex=0><code>CAST(x=1 AS STRING)
diff --git a/website/generated-content/documentation/dsls/sql/zetasql/data-types/index.html b/website/generated-content/documentation/dsls/sql/zetasql/data-types/index.html
index 739970974e7..cb4b43aaf0d 100644
--- a/website/generated-content/documentation/dsls/sql/zetasql/data-types/index.html
+++ b/website/generated-content/documentation/dsls/sql/zetasql/data-types/index.html
@@ -35,7 +35,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(" [...]
each property applies to:</p><div class=table-container-wrapper><div class=table-wrapper><table class=table-wrapper--equal-p><thead><tr><th>Property</th><th>Description</th><th>Applies To</th></tr></thead><tbody><tr><td>Nullable</td><td nowrap><code>NULL</code> is a valid value.</td><td>All data types, with the following exceptions:<ul><li>ARRAYs cannot be <code>NULL</code>.</li><li><code>NULL ARRAY</code> elements cannot persist to a table.</li><li>Queries cannot handle <code>NULL ARRAY [...]
Field names are ignored. Less than and greater than comparisons are not
supported.</p><p><br><br><br><br>All types that support comparisons
diff --git a/website/generated-content/documentation/dsls/sql/zetasql/lexical/index.html b/website/generated-content/documentation/dsls/sql/zetasql/lexical/index.html
index 9e57232177c..0d4f4f99f52 100644
--- a/website/generated-content/documentation/dsls/sql/zetasql/lexical/index.html
+++ b/website/generated-content/documentation/dsls/sql/zetasql/lexical/index.html
@@ -35,7 +35,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(" [...]
<em>identifiers,</em> <em>quoted identifiers, literals</em>, <em>keywords</em>, <em>operators</em>, and
<em>special characters</em>. Tokens can be separated by whitespace (space, backspace,
tab, newline) or comments.</p><p><a id=identifiers></a></p><h2 id=identifiers>Identifiers</h2><p>Identifiers are names that are associated with columns, tables, and other
diff --git a/website/generated-content/documentation/dsls/sql/zetasql/math-functions/index.html b/website/generated-content/documentation/dsls/sql/zetasql/math-functions/index.html
index 74330f14008..c138b9e143f 100644
--- a/website/generated-content/documentation/dsls/sql/zetasql/math-functions/index.html
+++ b/website/generated-content/documentation/dsls/sql/zetasql/math-functions/index.html
@@ -35,7 +35,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(" [...]
</code></pre><p><strong>Description</strong></p><p>Modulo function: returns the remainder of the division of X by Y. Returned value
has the same sign as X.</p><h2 id=ceil>CEIL</h2><pre tabindex=0><code>CEIL(X)
</code></pre><p><strong>Description</strong></p><p>Returns the smallest integral value (with FLOAT64
diff --git a/website/generated-content/documentation/dsls/sql/zetasql/operators/index.html b/website/generated-content/documentation/dsls/sql/zetasql/operators/index.html
index 9bf80c67f90..f18636fdc23 100644
--- a/website/generated-content/documentation/dsls/sql/zetasql/operators/index.html
+++ b/website/generated-content/documentation/dsls/sql/zetasql/operators/index.html
@@ -35,7 +35,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(" [...]
function call syntax. An operator manipulates any number of data inputs, also
called operands, and returns a result.</p><p>Common conventions:</p><ul><li>Unless otherwise specified, all operators return <code>NULL</code> when one of the
operands is <code>NULL</code>.</li></ul><p>The following table lists all supported operators from highest to
diff --git a/website/generated-content/documentation/dsls/sql/zetasql/overview/index.html b/website/generated-content/documentation/dsls/sql/zetasql/overview/index.html
index 1cadd9f3688..2368b6cf265 100644
--- a/website/generated-content/documentation/dsls/sql/zetasql/overview/index.html
+++ b/website/generated-content/documentation/dsls/sql/zetasql/overview/index.html
@@ -35,7 +35,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(" [...]
<a href=https://www.apache.org>The Apache Software Foundation</a>
| <a href=/privacy_policy>Privacy Policy</a>
| <a href=/feed.xml>RSS Feed</a><br><br>Apache Beam, Apache, Beam, the Beam logo, and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation. All other products or name brands are trademarks of their respective holders, including The Apache Software Foundation.</div></div><div class="footer__cols__col footer__cols__col__logos"><div class=footer__cols__col--group><div class=footer__cols__col__logo><a href=https://github.com/apache/beam><im [...]
\ No newline at end of file
diff --git a/website/generated-content/documentation/dsls/sql/zetasql/query-syntax/index.html b/website/generated-content/documentation/dsls/sql/zetasql/query-syntax/index.html
index 6dec3e81585..600d51ea0da 100644
--- a/website/generated-content/documentation/dsls/sql/zetasql/query-syntax/index.html
+++ b/website/generated-content/documentation/dsls/sql/zetasql/query-syntax/index.html
@@ -35,7 +35,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(" [...]
the computed result rows.</p><h2 id=sql-syntax>SQL Syntax</h2><pre>
<span class=var>query_statement</span>:
<span class=var>query_expr</span>
diff --git a/website/generated-content/documentation/dsls/sql/zetasql/string-functions/index.html b/website/generated-content/documentation/dsls/sql/zetasql/string-functions/index.html
index 908604296e1..9f592b2aec0 100644
--- a/website/generated-content/documentation/dsls/sql/zetasql/string-functions/index.html
+++ b/website/generated-content/documentation/dsls/sql/zetasql/string-functions/index.html
@@ -35,7 +35,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(" [...]
canonical equivalence.</p><div class=table-wrapper><table><thead><tr><th>Operator syntax</th><th>Description</th></tr></thead><tbody><tr><td><a href=#char_length>CHAR_LENGTH(value)</a></td><td>Returns the length of the string in characters</td></tr><tr><td><a href=#character_length>CHARACTER_LENGTH(value)</a></td><td>Synonym for CHAR_LENGTH</td></tr><tr><td><a href=#concat>CONCAT(value1[, …])</a></td><td>Concatenates up to five values into a single result</td></tr><tr><td><a href=#e [...]
</code></pre><p><strong>Description</strong></p><p>Returns the length of the STRING in characters.</p><p><strong>Return type</strong></p><p>INT64</p><p><strong>Examples</strong></p><pre tabindex=0><code>
Table example:
diff --git a/website/generated-content/documentation/dsls/sql/zetasql/syntax/index.html b/website/generated-content/documentation/dsls/sql/zetasql/syntax/index.html
index 94b1729c087..245f8ddf413 100644
--- a/website/generated-content/documentation/dsls/sql/zetasql/syntax/index.html
+++ b/website/generated-content/documentation/dsls/sql/zetasql/syntax/index.html
@@ -35,7 +35,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(" [...]
operand and the other operand is another numeric type, both operands are
converted to FLOAT64 before the function is
evaluated.</p></li><li><p>If an operand is <code>NULL</code>, the result is <code>NULL</code>, with the exception of the
diff --git a/website/generated-content/documentation/index.xml b/website/generated-content/documentation/index.xml
index 5de9d6aef98..f64f23c18b4 100644
--- a/website/generated-content/documentation/index.xml
+++ b/website/generated-content/documentation/index.xml
@@ -1635,7 +1635,7 @@ the implementation of your custom I/O depends on your use case. Before you
start, read the <a href="/documentation/io/developing-io-overview/">new I/O connector overview</a>
for an overview of developing a new I/O connector, the available implementation
options, and how to choose the right option for your use case.</p>
-<p>This guide covers using the <a href="https://beam.apache.org/releases/pydoc/2.66.0/apache_beam.io.iobase.html">Source and FileBasedSink interfaces</a>
+<p>This guide covers using the <a href="https://beam.apache.org/releases/pydoc/2.67.0/apache_beam.io.iobase.html">Source and FileBasedSink interfaces</a>
for Python. The Java SDK offers the same functionality, but uses a slightly
different API. See <a href="/documentation/io/developing-io-java/">Developing I/O connectors for Java</a>
for information specific to the Java SDK.</p>
@@ -1688,7 +1688,7 @@ why you should avoid exposing your sources, and walks through how to create
a wrapper.</li>
</ul>
<p>You can find these classes in the
-<a href="https://beam.apache.org/releases/pydoc/2.66.0/apache_beam.io.iobase.html">apache_beam.io.iobase module</a>.</p>
+<a href="https://beam.apache.org/releases/pydoc/2.67.0/apache_beam.io.iobase.html">apache_beam.io.iobase module</a>.</p>
<h3 id="implementing-the-boundedsource-subclass">Implementing the BoundedSource subclass</h3>
<p><code>BoundedSource</code> represents a finite data set from which the service reads, possibly in parallel. <code>BoundedSource</code> contains a set of methods that the service uses to split the data set for reading by multiple remote workers.</p>
<p>To implement a <code>BoundedSource</code>, your subclass must override the following methods:</p>
@@ -1835,7 +1835,7 @@ demonstrated in the example above. Use a wrapping <code>PTransform</code>
<a href="#ptransform-wrappers">PTransform wrappers</a> discusses why you should avoid
exposing your sources, and walks through how to create a wrapper.</p>
<h2 id="using-the-filebasedsink-abstraction">Using the FileBasedSink abstraction</h2>
-<p>If your data source uses files, you can implement the <a href="https://beam.apache.org/releases/pydoc/2.66.0/apache_beam.io.filebasedsink.html">FileBasedSink</a>
+<p>If your data source uses files, you can implement the <a href="https://beam.apache.org/releases/pydoc/2.67.0/apache_beam.io.filebasedsink.html">FileBasedSink</a>
abstraction to create a file-based sink. For other sinks, use <code>ParDo</code>,
<code>GroupByKey</code>, and other transforms offered by the Beam SDK for Python. See the
<a href="/documentation/io/developing-io-overview/">developing I/O connectors overview</a>
@@ -2688,22 +2688,22 @@ to <a href="https://parquet.apache.org">Apache Parquet</a> files.</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-java" data-lang="java"><span class="line"><span class="cl"><span class="o">&lt;</span><span class="n">dependency</span><span class="o">&gt;</span>
</span></span><span class="line"><span class="cl"> <span class="o">&lt;</span><span class="n">groupId</span><span class="o">&gt;</span><span class="n">org</span><span class="o">.</span><span class="na">apache</span><span class="o">.</span><span class="na">beam</span><span class="o">&lt;/</span><span class="n">groupId</span><span class="o">&gt;</span>
</span></span><span class="line"><span class="cl"> <span class="o">&lt;</span><span class="n">artifactId</span><span class="o">&gt;</span><span class="n">beam</span><span class="o">-</span><span class="n">sdks</span><span class="o">-</span><span class="n">java</span><span class="o">-</span><span class="n">io</span><span class="o">-</span><span class="n">parquet</span><span class="o">&lt;/&l [...]
-</span></span><span class="line"><span class="cl"> <span class="o">&lt;</span><span class="n">version</span><span class="o">&gt;</span><span class="n">2</span><span class="o">.</span><span class="na">66</span><span class="o">.</span><span class="na">0</span><span class="o">&lt;/</span><span class="n">version</span><span class="o">&gt;</span>
+</span></span><span class="line"><span class="cl"> <span class="o">&lt;</span><span class="n">version</span><span class="o">&gt;</span><span class="n">2</span><span class="o">.</span><span class="na">67</span><span class="o">.</span><span class="na">0</span><span class="o">&lt;/</span><span class="n">version</span><span class="o">&gt;</span>
</span></span><span class="line"><span class="cl"><span class="o">&lt;/</span><span class="n">dependency</span><span class="o">&gt;</span></span></span></code></pre></div>
</div>
</div>
<p class="language-java">Additional resources:</p>
<span class="language-java"><ul>
<li><a href="https://github.com/apache/beam/blob/master/sdks/java/io/parquet/src/main/java/org/apache/beam/sdk/io/parquet/ParquetIO.java">ParquetIO source code</a></li>
-<li><a href="https://beam.apache.org/releases/javadoc/2.66.0/org/apache/beam/sdk/io/parquet/ParquetIO.html">ParquetIO Javadoc</a></li>
+<li><a href="https://beam.apache.org/releases/javadoc/2.67.0/org/apache/beam/sdk/io/parquet/ParquetIO.html">ParquetIO Javadoc</a></li>
</ul>
</span>
<!-- Python specific -->
-<p class="language-py">ParquetIO comes preinstalled with the Apache Beam python sdk..2.66.0</p>
+<p class="language-py">ParquetIO comes preinstalled with the Apache Beam python sdk..2.67.0</p>
<p class="language-py">Additional resources:</p>
<span class="language-py"><ul>
<li><a href="https://github.com/apache/beam/blob/master/sdks/python/apache_beam/io/parquetio.py">ParquetIO source code</a></li>
-<li><a href="https://beam.apache.org/releases/pydoc/2.66.0/apache_beam.io.parquetio.html">ParquetIO Pydoc</a></li>
+<li><a href="https://beam.apache.org/releases/pydoc/2.67.0/apache_beam.io.parquetio.html">ParquetIO Pydoc</a></li>
</ul>
</span>
<p class="language-java"><h4 id="using-parquetio-with-spark-before-24">Using ParquetIO with Spark before 2.4</h4>
@@ -2808,14 +2808,14 @@ limitations under the License.
<pre tabindex="0"><code>&lt;dependency&gt;
&lt;groupId&gt;org.apache.beam&lt;/groupId&gt;
&lt;artifactId&gt;beam-sdks-java-io-singlestore&lt;/artifactId&gt;
-&lt;version&gt;2.66.0&lt;/version&gt;
+&lt;version&gt;2.67.0&lt;/version&gt;
&lt;/dependency&gt;</code></pre>
</div>
</div>
<p>Additional resources:</p>
<ul>
<li><a href="https://github.com/apache/beam/tree/master/sdks/java/io/singlestore/src/main/java/org/apache/beam/sdk/io/singlestore">SingleStoreIO source code</a></li>
-<li><a href="https://beam.apache.org/releases/javadoc/2.66.0/org/apache/beam/sdk/io/singlestore/SingleStoreIO.html">SingleStoreIO Javadoc</a></li>
+<li><a href="https://beam.apache.org/releases/javadoc/2.67.0/org/apache/beam/sdk/io/singlestore/SingleStoreIO.html">SingleStoreIO Javadoc</a></li>
<li><a href="https://docs.singlestore.com/">SingleStore documentation</a></li>
</ul>
<h2 id="authentication">Authentication</h2>
@@ -3112,14 +3112,14 @@ limitations under the License.
<pre tabindex="0"><code>&lt;dependency&gt;
&lt;groupId&gt;org.apache.beam&lt;/groupId&gt;
&lt;artifactId&gt;beam-sdks-java-io-snowflake&lt;/artifactId&gt;
-&lt;version&gt;2.66.0&lt;/version&gt;
+&lt;version&gt;2.67.0&lt;/version&gt;
&lt;/dependency&gt;</code></pre>
</div>
</div>
<p>Additional resources:</p>
<ul>
<li><a href="https://github.com/apache/beam/tree/master/sdks/java/io/snowflake/src/main/java/org/apache/beam/sdk/io/snowflake">SnowflakeIO source code</a></li>
-<li><a href="https://beam.apache.org/releases/javadoc/2.66.0/org/apache/beam/sdk/io/snowflake/SnowflakeIO.html">SnowflakeIO Javadoc</a></li>
+<li><a href="https://beam.apache.org/releases/javadoc/2.67.0/org/apache/beam/sdk/io/snowflake/SnowflakeIO.html">SnowflakeIO Javadoc</a></li>
<li><a href="https://docs.snowflake.com/en/">Snowflake documentation</a></li>
</ul>
<h2 id="authentication">Authentication</h2>
@@ -4162,7 +4162,7 @@ and <a href="/roadmap/connectors-multi-sdk/#cross-language-transforms-api-and
<p>Additional resources:</p>
<ul>
<li><a href="https://github.com/apache/beam/blob/master/sdks/python/apache_beam/io/snowflake.py">SnowflakeIO source code</a></li>
-<li><a href="https://beam.apache.org/releases/pydoc/2.66.0/apache_beam.io.snowflake.html">SnowflakeIO Pydoc</a></li>
+<li><a href="https://beam.apache.org/releases/pydoc/2.67.0/apache_beam.io.snowflake.html">SnowflakeIO Pydoc</a></li>
<li><a href="https://docs.snowflake.com/en">Snowflake documentation</a></li>
</ul>
<h3 id="reading-from-snowflake-1">Reading from Snowflake</h3>
@@ -5837,7 +5837,7 @@ asynchronous &ldquo;job&rdquo; (or equivalent) on that back-end.</p>
<h2 id="creating-a-pipeline">2. Creating a pipeline</h2>
<p>The <code>Pipeline</code> abstraction encapsulates all the data and steps in your data
processing task. Your Beam driver program typically starts by constructing a
-<span class="language-java"><a href="https://beam.apache.org/releases/javadoc/2.66.0/index.html?org/apache/beam/sdk/Pipeline.html">Pipeline</a></span>
+<span class="language-java"><a href="https://beam.apache.org/releases/javadoc/2.67.0/index.html?org/apache/beam/sdk/Pipeline.html">Pipeline</a></span>
<span class="language-py"><a href="https://github.com/apache/beam/blob/master/sdks/python/apache_beam/pipeline.py">Pipeline</a></span>
<span class="language-go"><a href="https://github.com/apache/beam/blob/master/sdks/go/pkg/beam/pipeline.go#L62">Pipeline</a></span>
object, and then using that object as the basis for creating the pipeline&rsquo;s data
@@ -6139,7 +6139,7 @@ with <code>PipelineOptionsFactory</code>:</p>
</div>
<p>Now your pipeline can accept <code>--input=value</code> and <code>--output=value</code> as command-line arguments.</p>
<h2 id="pcollections">3. PCollections</h2>
-<p>The <span class="language-java"><a href="https://beam.apache.org/releases/javadoc/2.66.0/index.html?org/apache/beam/sdk/values/PCollection.html">PCollection</a></span>
+<p>The <span class="language-java"><a href="https://beam.apache.org/releases/javadoc/2.67.0/index.html?org/apache/beam/sdk/values/PCollection.html">PCollection</a></span>
<span class="language-py"><code>PCollection</code></span>
<span class="language-go"><a href="https://github.com/apache/beam/blob/master/sdks/go/pkg/beam/pcollection.go#L39">PCollection</a></span>
abstraction represents a
@@ -7978,7 +7978,7 @@ parameters maps to the ordering of the <code>CoGroupByKey</code> inputs.&l
</div>
</div>
<h4 id="combine">4.2.4. Combine</h4>
-<p><span class="language-java"><a href="https://beam.apache.org/releases/javadoc/2.66.0/index.html?org/apache/beam/sdk/transforms/Combine.html"><code>Combine</code></a></span>
+<p><span class="language-java"><a href="https://beam.apache.org/releases/javadoc/2.67.0/index.html?org/apache/beam/sdk/transforms/Combine.html"><code>Combine</code></a></span>
<span class="language-py"><a href="https://github.com/apache/beam/blob/master/sdks/python/apache_beam/transforms/core.py"><code>Combine</code></a></span>
<span class="language-go"><a href="https://github.com/apache/beam/blob/master/sdks/go/pkg/beam/combine.go#L27"><code>Combine</code></a></span>
<span class="language-typescript"><a href="https://github.com/apache/beam/blob/master/sdks/typescript/src/apache_beam/transforms/group_and_combine.ts"><code>Combine</code></a></span>
@@ -8594,7 +8594,7 @@ PerKey must be an associative reduction function or a
</div>
</div>
<h4 id="flatten">4.2.5. Flatten</h4>
-<p><span class="language-java"><a href="https://beam.apache.org/releases/javadoc/2.66.0/index.html?org/apache/beam/sdk/transforms/Flatten.html"><code>Flatten</code></a></span>
+<p><span class="language-java"><a href="https://beam.apache.org/releases/javadoc/2.67.0/index.html?org/apache/beam/sdk/transforms/Flatten.html"><code>Flatten</code></a></span>
<span class="language-py"><a href="https://beam.apache.org/releases/pydoc/current/apache_beam.transforms.core.html#apache_beam.transforms.core.Flatten"><code>Flatten</code></a></span>
<span class="language-go"><a href="https://github.com/apache/beam/blob/master/sdks/go/pkg/beam/flatten.go"><code>Flatten</code></a></span>
<span class="language-typescript"><code>Flatten</code></span>
@@ -8618,7 +8618,7 @@ is a Beam transform for <code>PCollection</code> objects that store the sa
</span></span><span class="line"><span class="cl"><span class="n">PCollection</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">merged</span> <span class="o">=</span> <span class="n">collections</span><span class="o">.</span><span class="na">apply</span><span class="o">(</span><span class="n">Flatten</span><span class="o">.&lt;</span>< [...]
</div>
</div>
-<p class="language-java">One can also use the <a href="https://beam.apache.org/releases/javadoc/2.66.0/index.html?org/apache/beam/sdk/transforms/Flatten.html"><code>FlattenWith</code></a>
+<p class="language-java">One can also use the <a href="https://beam.apache.org/releases/javadoc/2.67.0/index.html?org/apache/beam/sdk/transforms/Flatten.html"><code>FlattenWith</code></a>
transform to merge PCollections into an output PCollection in a manner more compatible with chaining.</p>
<div class='language-java snippet'>
<div class="notebook-skip code-snippet">
@@ -8733,7 +8733,7 @@ fixed windows or 4-minute sliding windows starting every 30 seconds.</p>
incompatible windows, Beam generates an <code>IllegalStateException</code> error when your
pipeline is constructed.</p>
<h4 id="partition">4.2.6. Partition</h4>
-<p><span class="language-java"><a href="https://beam.apache.org/releases/javadoc/2.66.0/index.html?org/apache/beam/sdk/transforms/Partition.html"><code>Partition</code></a></span>
+<p><span class="language-java"><a href="https://beam.apache.org/releases/javadoc/2.67.0/index.html?org/apache/beam/sdk/transforms/Partition.html"><code>Partition</code></a></span>
<span class="language-py"><a href="https://github.com/apache/beam/blob/master/sdks/python/apache_beam/transforms/core.py"><code>Partition</code></a></span>
<span class="language-go"><a href="https://github.com/apache/beam/blob/master/sdks/go/pkg/beam/partition.go"><code>Partition</code></a></span>
<span class="language-typescript"><code>Partition</code></span>
@@ -9838,8 +9838,8 @@ transform can make your code more modular and easier to understand.</p>
<p>The Beam SDK comes packed with many useful composite transforms. See the API
reference pages for a list of transforms:</p>
<ul>
-<li><a href="https://beam.apache.org/releases/javadoc/2.66.0/index.html?org/apache/beam/sdk/transforms/package-summary.html">Pre-written Beam transforms for Java</a></li>
-<li><a href="https://beam.apache.org/releases/pydoc/2.66.0/apache_beam.transforms.html">Pre-written Beam transforms for Python</a></li>
+<li><a href="https://beam.apache.org/releases/javadoc/2.67.0/index.html?org/apache/beam/sdk/transforms/package-summary.html">Pre-written Beam transforms for Java</a></li>
+<li><a href="https://beam.apache.org/releases/pydoc/2.67.0/apache_beam.transforms.html">Pre-written Beam transforms for Python</a></li>
<li><a href="https://github.com/apache/beam/tree/master/sdks/go/pkg/beam/transforms">Pre-written Beam transforms for Go</a></li>
</ul>
<h4 id="composite-transform-example">4.6.1. An example composite transform</h4>
@@ -12216,7 +12216,7 @@ all the elements are by default part of a single, global window.</p>
<p>To use windowing with fixed data sets, you can assign your own timestamps to
each element. To assign timestamps to elements, use a <code>ParDo</code> transform with a
<code>DoFn</code> that outputs each element with a new timestamp (for example, the
-<a href="https://beam.apache.org/releases/javadoc/2.66.0/index.html?org/apache/beam/sdk/transforms/WithTimestamps.html">WithTimestamps</a>
+<a href="https://beam.apache.org/releases/javadoc/2.67.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>
diff --git a/website/generated-content/documentation/io/built-in/google-bigquery/index.html b/website/generated-content/documentation/io/built-in/google-bigquery/index.html
index f23f4f418a8..00239ab43c9 100644
--- a/website/generated-content/documentation/io/built-in/google-bigquery/index.html
+++ b/website/generated-content/documentation/io/built-in/google-bigquery/index.html
@@ -39,9 +39,9 @@
to <a href=https://cloud.google.com/bigquery>Google BigQuery</a> tables.</p><h2 id=before-you-start>Before you start</h2><p class=language-java>To use BigQueryIO, add the Maven artifact dependency to your <code>pom.xml</code> file.</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=chro [...]
</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>groupId</span><span class=o>></span><span class=n>org</span><span class=o>.</span><span class=na>apache</span><span class=o>.</span><span class=na>beam</span><span class=o></</span><span class=n>groupId</span><span class=o>></span>
</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>artifactId</span><span class=o>></span><span class=n>beam</span><span class=o>-</span><span class=n>sdks</span><span class=o>-</span><span class=n>java</span><span class=o>-</span><span class=n>io</span><span class=o>-</span><span class=n>google</span><span class=o>-</span><span class=n>cloud</span><span class=o>-</span><span class=n>platform</span><span class=o></</span><span class=n>artifactI [...]
-</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>version</span><span class=o>></span><span class=n>2</span><span class=o>.</span><span class=na>66</span><span class=o>.</span><span class=na>0</span><span class=o></</span><span class=n>version</span><span class=o>></span>
-</span></span><span class=line><span class=cl><span class=o></</span><span class=n>dependency</span><span class=o>></span></span></span></code></pre></div></div></div><p class=language-java>Additional resources:</p><span class=language-java><ul><li><a href=https://github.com/apache/beam/tree/master/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery>BigQueryIO source code</a></li><li><a href=https://beam.apache.org/releases/javadoc/2.66.0/org/apache [...]
-running <code>pip install apache-beam[gcp]</code>.</p><p class=language-py>Additional resources:</p><span class=language-py><ul><li><a href=https://github.com/apache/beam/blob/master/sdks/python/apache_beam/io/gcp/bigquery.py>BigQueryIO source code</a></li><li><a href=https://beam.apache.org/releases/pydoc/2.66.0/apache_beam.io.gcp.bigquery.html>BigQueryIO Pydoc</a></li><li><a href=https://cloud.google.com/bigquery/docs>Google BigQuery documentation</a></li></ul></span><h2 id=bigquery-ba [...]
+</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>version</span><span class=o>></span><span class=n>2</span><span class=o>.</span><span class=na>67</span><span class=o>.</span><span class=na>0</span><span class=o></</span><span class=n>version</span><span class=o>></span>
+</span></span><span class=line><span class=cl><span class=o></</span><span class=n>dependency</span><span class=o>></span></span></span></code></pre></div></div></div><p class=language-java>Additional resources:</p><span class=language-java><ul><li><a href=https://github.com/apache/beam/tree/master/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery>BigQueryIO source code</a></li><li><a href=https://beam.apache.org/releases/javadoc/2.67.0/org/apache [...]
+running <code>pip install apache-beam[gcp]</code>.</p><p class=language-py>Additional resources:</p><span class=language-py><ul><li><a href=https://github.com/apache/beam/blob/master/sdks/python/apache_beam/io/gcp/bigquery.py>BigQueryIO source code</a></li><li><a href=https://beam.apache.org/releases/pydoc/2.67.0/apache_beam.io.gcp.bigquery.html>BigQueryIO Pydoc</a></li><li><a href=https://cloud.google.com/bigquery/docs>Google BigQuery documentation</a></li></ul></span><h2 id=bigquery-ba [...]
BigQuery table name (for example, <code>bigquery-public-data:github_repos.sample_contents</code>).
A fully-qualified BigQuery table name consists of three parts:</p><ul><li><strong>Project ID</strong>: The ID for your Google Cloud Project. The default value comes
from your pipeline options object.</li><li><strong>Dataset ID</strong>: The BigQuery dataset ID, which is unique within a given Cloud
@@ -55,8 +55,8 @@ object.</p><h4 id=using-a-string>Using a string</h4><p>To specify a table with a
table name.</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>String</span> <span class=n>tableSpec</span> <span class=o>=</span> <span class=s>"apache-beam-testing.samples.weather_station [...]
</span></span><span class=line><span class=cl><span class=n>table_spec</span> <span class=o>=</span> <span class=s1>'apache-beam-testing.samples.weather_stations'</span></span></span></code></pre></div></div></div><p>You can also omit <code>project_id</code> and use the <code>[dataset_id].[table_id]</code> format. If
you omit the project ID, Beam uses the default project ID from your
-<span class=language-java><a href=https://beam.apache.org/releases/javadoc/2.66.0/org/apache/beam/sdk/extensions/gcp/options/GcpOptions.html>pipeline options</a>.</span>
-<span class=language-py><a href=https://beam.apache.org/releases/pydoc/2.66.0/apache_beam.options.pipeline_options.html#apache_beam.options.pipeline_options.GoogleCloudOptions>pipeline options</a>.</span></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-jav [...]
+<span class=language-java><a href=https://beam.apache.org/releases/javadoc/2.67.0/org/apache/beam/sdk/extensions/gcp/options/GcpOptions.html>pipeline options</a>.</span>
+<span class=language-py><a href=https://beam.apache.org/releases/pydoc/2.67.0/apache_beam.options.pipeline_options.html#apache_beam.options.pipeline_options.GoogleCloudOptions>pipeline options</a>.</span></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-jav [...]
</span></span><span class=line><span class=cl><span class=n>table_spec</span> <span class=o>=</span> <span class=s1>'samples.weather_stations'</span></span></span></code></pre></div></div></div><h4 id=using-a-tablereference>Using a TableReference</h4><p>To specify a table with a <code>TableReference</code>, create a new <code>TableReference</code> using
the three parts of the BigQuery table name.</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>TableReference</span> <span class=n>tableSpec</span> <span class=o>=</span>
</span></span><span class=line><span class=cl> <span class=k>new</span> <span class=n>TableReference</span><span class=o>()</span>
@@ -67,7 +67,7 @@ the three parts of the BigQuery table name.</p><div class='language-java snippet
</span></span><span class=line><span class=cl><span class=n>table_spec</span> <span class=o>=</span> <span class=n>bigquery</span><span class=o>.</span><span class=n>TableReference</span><span class=p>(</span>
</span></span><span class=line><span class=cl> <span class=n>projectId</span><span class=o>=</span><span class=s1>'clouddataflow-readonly'</span><span class=p>,</span>
</span></span><span class=line><span class=cl> <span class=n>datasetId</span><span class=o>=</span><span class=s1>'samples'</span><span class=p>,</span>
-</span></span><span class=line><span class=cl> <span class=n>tableId</span><span class=o>=</span><span class=s1>'weather_stations'</span><span class=p>)</span></span></span></code></pre></div></div></div><p class=language-java>The Beam SDK for Java also provides the <a href=https://beam.apache.org/releases/javadoc/2.66.0/org/apache/beam/sdk/io/gcp/bigquery/BigQueryHelpers.html><code>parseTableSpec</code></a>
+</span></span><span class=line><span class=cl> <span class=n>tableId</span><span class=o>=</span><span class=s1>'weather_stations'</span><span class=p>)</span></span></span></code></pre></div></div></div><p class=language-java>The Beam SDK for Java also provides the <a href=https://beam.apache.org/releases/javadoc/2.67.0/org/apache/beam/sdk/io/gcp/bigquery/BigQueryHelpers.html><code>parseTableSpec</code></a>
helper method, which constructs a <code>TableReference</code> object from a String that
contains the fully-qualified BigQuery table name. However, the static factory
methods for BigQueryIO transforms accept the table name as a String and
@@ -534,10 +534,10 @@ quota, and data consistency. See the BigQuery documentation for
and <a href=https://cloud.google.com/bigquery/streaming-data-into-bigquery>streaming inserts</a>)
for more information about these tradeoffs.</p><p class=language-java>BigQueryIO chooses a default insertion method based on the input <code>PCollection</code>.
You can use <code>withMethod</code> to specify the desired insertion method. See
-<a href=https://beam.apache.org/releases/javadoc/2.66.0/org/apache/beam/sdk/io/gcp/bigquery/BigQueryIO.Write.Method.html><code>Write.Method</code></a>
+<a href=https://beam.apache.org/releases/javadoc/2.67.0/org/apache/beam/sdk/io/gcp/bigquery/BigQueryIO.Write.Method.html><code>Write.Method</code></a>
for the list of the available methods and their restrictions.</p><p class=language-py>BigQueryIO chooses a default insertion method based on the input <code>PCollection</code>.
You can use <code>method</code> to specify the desired insertion method. See
-<a href=https://beam.apache.org/releases/pydoc/2.66.0/apache_beam.io.gcp.bigquery.html#apache_beam.io.gcp.bigquery.WriteToBigQuery><code>WriteToBigQuery</code></a>
+<a href=https://beam.apache.org/releases/pydoc/2.67.0/apache_beam.io.gcp.bigquery.html#apache_beam.io.gcp.bigquery.WriteToBigQuery><code>WriteToBigQuery</code></a>
for the list of the available methods and their restrictions.</p><p>BigQueryIO uses load jobs in the following situations:</p><span class=language-java><ul><li>When you apply a BigQueryIO write transform to a bounded <code>PCollection</code>.</li><li>When you specify load jobs as the insertion method using
<code>BigQueryIO.write().withMethod(FILE_LOADS)</code>.</li></ul></span><span class=language-py><ul><li>When you apply a BigQueryIO write transform to a bounded <code>PCollection</code>.</li><li>When you specify load jobs as the insertion method using
<code>WriteToBigQuery(method='FILE_LOADS')</code>.</li></ul></span><p><em><strong>Note:</strong></em> If you use batch loads in a streaming pipeline:</p><p class=language-java>You must use <code>withTriggeringFrequency</code> to specify a triggering frequency for
diff --git a/website/generated-content/documentation/io/built-in/parquet/index.html b/website/generated-content/documentation/io/built-in/parquet/index.html
index e7819515db7..2fcf42ef16c 100644
--- a/website/generated-content/documentation/io/built-in/parquet/index.html
+++ b/website/generated-content/documentation/io/built-in/parquet/index.html
@@ -39,8 +39,8 @@
to <a href=https://parquet.apache.org>Apache Parquet</a> files.</p><h2 id=before-you-start>Before you start</h2><p class=language-java>To use ParquetIO, add the Maven artifact dependency to your <code>pom.xml</code> file.</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 c [...]
</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>groupId</span><span class=o>></span><span class=n>org</span><span class=o>.</span><span class=na>apache</span><span class=o>.</span><span class=na>beam</span><span class=o></</span><span class=n>groupId</span><span class=o>></span>
</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>artifactId</span><span class=o>></span><span class=n>beam</span><span class=o>-</span><span class=n>sdks</span><span class=o>-</span><span class=n>java</span><span class=o>-</span><span class=n>io</span><span class=o>-</span><span class=n>parquet</span><span class=o></</span><span class=n>artifactId</span><span class=o>></span>
-</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>version</span><span class=o>></span><span class=n>2</span><span class=o>.</span><span class=na>66</span><span class=o>.</span><span class=na>0</span><span class=o></</span><span class=n>version</span><span class=o>></span>
-</span></span><span class=line><span class=cl><span class=o></</span><span class=n>dependency</span><span class=o>></span></span></span></code></pre></div></div></div><p class=language-java>Additional resources:</p><span class=language-java><ul><li><a href=https://github.com/apache/beam/blob/master/sdks/java/io/parquet/src/main/java/org/apache/beam/sdk/io/parquet/ParquetIO.java>ParquetIO source code</a></li><li><a href=https://beam.apache.org/releases/javadoc/2.66.0/org/apache/beam [...]
+</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>version</span><span class=o>></span><span class=n>2</span><span class=o>.</span><span class=na>67</span><span class=o>.</span><span class=na>0</span><span class=o></</span><span class=n>version</span><span class=o>></span>
+</span></span><span class=line><span class=cl><span class=o></</span><span class=n>dependency</span><span class=o>></span></span></span></code></pre></div></div></div><p class=language-java>Additional resources:</p><span class=language-java><ul><li><a href=https://github.com/apache/beam/blob/master/sdks/java/io/parquet/src/main/java/org/apache/beam/sdk/io/parquet/ParquetIO.java>ParquetIO source code</a></li><li><a href=https://beam.apache.org/releases/javadoc/2.67.0/org/apache/beam [...]
The Parquet files that are consumed or generated by this Beam connector should remain interoperable with the other tools on your cluster.</p></blockquote></p><p class=language-java>Include the Parquet artifact normally and ensure that it brings in the correct version of Parquet as a transitive dependency.</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 sr [...]
</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>groupId</span><span class=o>></span><span class=n>org</span><span class=o>.</span><span class=na>apache</span><span class=o>.</span><span class=na>beam</span><span class=o></</span><span class=n>groupId</span><span class=o>></span>
</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>artifactId</span><span class=o>></span><span class=n>beam</span><span class=o>-</span><span class=n>sdks</span><span class=o>-</span><span class=n>java</span><span class=o>-</span><span class=n>io</span><span class=o>-</span><span class=n>parquet</span><span class=o></</span><span class=n>artifactId</span><span class=o>></span>
diff --git a/website/generated-content/documentation/io/built-in/singlestore/index.html b/website/generated-content/documentation/io/built-in/singlestore/index.html
index ffb26287c18..a25f0264e86 100644
--- a/website/generated-content/documentation/io/built-in/singlestore/index.html
+++ b/website/generated-content/documentation/io/built-in/singlestore/index.html
@@ -38,8 +38,8 @@
<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(" [...]
<groupId>org.apache.beam</groupId>
<artifactId>beam-sdks-java-io-singlestore</artifactId>
- <version>2.66.0</version>
-</dependency></code></pre></div></div><p>Additional resources:</p><ul><li><a href=https://github.com/apache/beam/tree/master/sdks/java/io/singlestore/src/main/java/org/apache/beam/sdk/io/singlestore>SingleStoreIO source code</a></li><li><a href=https://beam.apache.org/releases/javadoc/2.66.0/org/apache/beam/sdk/io/singlestore/SingleStoreIO.html>SingleStoreIO Javadoc</a></li><li><a href=https://docs.singlestore.com/>SingleStore documentation</a></li></ul><h2 id=authentication>Authen [...]
+ <version>2.67.0</version>
+</dependency></code></pre></div></div><p>Additional resources:</p><ul><li><a href=https://github.com/apache/beam/tree/master/sdks/java/io/singlestore/src/main/java/org/apache/beam/sdk/io/singlestore>SingleStoreIO source code</a></li><li><a href=https://beam.apache.org/releases/javadoc/2.67.0/org/apache/beam/sdk/io/singlestore/SingleStoreIO.html>SingleStoreIO Javadoc</a></li><li><a href=https://docs.singlestore.com/>SingleStore documentation</a></li></ul><h2 id=authentication>Authen [...]
.create("myHost:3306")
.withDatabase("db")
.withConnectionProperties("connectTimeout=30000;useServerPrepStmts=FALSE")
diff --git a/website/generated-content/documentation/io/built-in/snowflake/index.html b/website/generated-content/documentation/io/built-in/snowflake/index.html
index 2e693260a60..55752cb9029 100644
--- a/website/generated-content/documentation/io/built-in/snowflake/index.html
+++ b/website/generated-content/documentation/io/built-in/snowflake/index.html
@@ -38,8 +38,8 @@
<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(" [...]
<groupId>org.apache.beam</groupId>
<artifactId>beam-sdks-java-io-snowflake</artifactId>
- <version>2.66.0</version>
-</dependency></code></pre></div></div><p>Additional resources:</p><ul><li><a href=https://github.com/apache/beam/tree/master/sdks/java/io/snowflake/src/main/java/org/apache/beam/sdk/io/snowflake>SnowflakeIO source code</a></li><li><a href=https://beam.apache.org/releases/javadoc/2.66.0/org/apache/beam/sdk/io/snowflake/SnowflakeIO.html>SnowflakeIO Javadoc</a></li><li><a href=https://docs.snowflake.com/en/>Snowflake documentation</a></li></ul><h2 id=authentication>Authentication</h2> [...]
+ <version>2.67.0</version>
+</dependency></code></pre></div></div><p>Additional resources:</p><ul><li><a href=https://github.com/apache/beam/tree/master/sdks/java/io/snowflake/src/main/java/org/apache/beam/sdk/io/snowflake>SnowflakeIO source code</a></li><li><a href=https://beam.apache.org/releases/javadoc/2.67.0/org/apache/beam/sdk/io/snowflake/SnowflakeIO.html>SnowflakeIO Javadoc</a></li><li><a href=https://docs.snowflake.com/en/>Snowflake documentation</a></li></ul><h2 id=authentication>Authentication</h2> [...]
.withUsernamePasswordAuth(
options.getUsername(),
options.getPassword())
@@ -264,7 +264,7 @@ with <code>AwsAccessKey</code> and <code>AwsSecretKey</code> options. Example:</
);</code></pre></div></div>3. Create pipeline</p><div class=snippet><div class="notebook-skip code-snippet without_switcher"><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>Pipeline p = Pipeline.create(options);</code></pre></div></div><p><strong>Note</strong>: Remember to set <code>awsRegion</code> from <a href=https://beam.apache.org/releases/javadoc/current/org/apache/beam/sdk/ [...]
cross-language which is part of <a href=/roadmap/portability/>Portability Framework Roadmap</a> which aims to provide full interoperability
across the Beam ecosystem. From a developer perspective it means the possibility of combining transforms written in different languages(Java/Python/Go).</p><p>For more information about cross-language please see <a href=/roadmap/connectors-multi-sdk/>multi sdk efforts</a>
-and <a href=/roadmap/connectors-multi-sdk/#cross-language-transforms-api-and-expansion-service>Cross-language transforms API and expansion service</a> articles.</p><p>Additional resources:</p><ul><li><a href=https://github.com/apache/beam/blob/master/sdks/python/apache_beam/io/snowflake.py>SnowflakeIO source code</a></li><li><a href=https://beam.apache.org/releases/pydoc/2.66.0/apache_beam.io.snowflake.html>SnowflakeIO Pydoc</a></li><li><a href=https://docs.snowflake.com/en>Snowflake doc [...]
+and <a href=/roadmap/connectors-multi-sdk/#cross-language-transforms-api-and-expansion-service>Cross-language transforms API and expansion service</a> articles.</p><p>Additional resources:</p><ul><li><a href=https://github.com/apache/beam/blob/master/sdks/python/apache_beam/io/snowflake.py>SnowflakeIO source code</a></li><li><a href=https://beam.apache.org/releases/pydoc/2.67.0/apache_beam.io.snowflake.html>SnowflakeIO Pydoc</a></li><li><a href=https://docs.snowflake.com/en>Snowflake doc [...]
with TestPipeline(options=PipelineOptions(OPTIONS)) as p:
(p
diff --git a/website/generated-content/documentation/io/built-in/webapis/index.html b/website/generated-content/documentation/io/built-in/webapis/index.html
index 5442f4281b6..02423c51966 100644
--- a/website/generated-content/documentation/io/built-in/webapis/index.html
+++ b/website/generated-content/documentation/io/built-in/webapis/index.html
@@ -45,7 +45,7 @@ provided below.</p><h2 id=additional-resources>Additional resources</h2><span cl
<a href=https://central.sonatype.com/artifact/org.apache.beam/beam-sdks-java-io-rrio>Maven Central</a> for available versions.</p><p class=language-java>Below shows an example adding the <a href=https://central.sonatype.com/artifact/org.apache.beam/beam-sdks-java-bom>Beam BOM</a>
and related dependencies such as Beam core to your <code>build.gradle(.kts)</code> file.</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=c1>// Apache Beam BOM
</span></span></span><span class=line><span class=cl><span class=c1>// https://central.sonatype.com/artifact/org.apache.beam/beam-sdks-java-bom
-</span></span></span><span class=line><span class=cl><span class=c1></span><span class=n>implementation</span><span class=o>(</span><span class=s>"org.apache.beam:beam-sdks-java-bom:2.66.0"</span><span class=o>)</span>
+</span></span></span><span class=line><span class=cl><span class=c1></span><span class=n>implementation</span><span class=o>(</span><span class=s>"org.apache.beam:beam-sdks-java-bom:2.67.0"</span><span class=o>)</span>
</span></span><span class=line><span class=cl>
</span></span><span class=line><span class=cl><span class=c1>// Beam Core SDK
</span></span></span><span class=line><span class=cl><span class=c1>// https://central.sonatype.com/artifact/org.apache.beam/beam-sdks-java-core
@@ -56,7 +56,7 @@ and related dependencies such as Beam core to your <code>build.gradle(.kts)</cod
</span></span></span><span class=line><span class=cl><span class=c1></span><span class=n>implementation</span><span class=o>(</span><span class=s>"org.apache.beam:beam-sdks-java-io-rrio"</span><span class=o>)</span></span></span></code></pre></div></div></div><p class=language-java>Or using Maven, add the artifact dependency to your <code>pom.xml</code> file.</p><div class='language-java snippet'><div class="notebook-skip code-snippet"><a class=copy type=button data-bs-toggle=too [...]
</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>groupId</span><span class=o>></span><span class=n>org</span><span class=o>.</span><span class=na>apache</span><span class=o>.</span><span class=na>beam</span><span class=o></</span><span class=n>groupId</span><span class=o>></span>
</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>artifactId</span><span class=o>></span><span class=n>beam</span><span class=o>-</span><span class=n>sdks</span><span class=o>-</span><span class=n>java</span><span class=o>-</span><span class=n>io</span><span class=o>-</span><span class=n>rrio</span><span class=o></</span><span class=n>artifactId</span><span class=o>></span>
-</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>version</span><span class=o>></span><span class=n>2</span><span class=o>.</span><span class=na>66</span><span class=o>.</span><span class=na>0</span><span class=o></</span><span class=n>version</span><span class=o>></span>
+</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>version</span><span class=o>></span><span class=n>2</span><span class=o>.</span><span class=na>67</span><span class=o>.</span><span class=na>0</span><span class=o></</span><span class=n>version</span><span class=o>></span>
</span></span><span class=line><span class=cl><span class=o></</span><span class=n>dependency</span><span class=o>></span></span></span></code></pre></div></div></div><h2 id=requestresponseio-basics>RequestResponseIO basics</h2><h3 id=minimal-code>Minimal code</h3><p>The minimal code needed to read from or write to Web APIs is:</p><span class=language-java><ol><li><a href=https://beam.apache.org/releases/javadoc/current/org/apache/beam/io/requestresponse/Caller.html>Caller</a> impl [...]
only one method override: <a href=https://beam.apache.org/releases/javadoc/current/org/apache/beam/io/requestresponse/Caller.html#call-RequestT->call</a>, whose
purpose is to interact with the API, converting a request into a response.
diff --git a/website/generated-content/documentation/io/developing-io-python/index.html b/website/generated-content/documentation/io/developing-io-python/index.html
index fc66fe7d35a..7731b4d6790 100644
--- a/website/generated-content/documentation/io/developing-io-python/index.html
+++ b/website/generated-content/documentation/io/developing-io-python/index.html
@@ -42,7 +42,7 @@ source and a sink. All Beam sources and sinks are composite transforms; however,
the implementation of your custom I/O depends on your use case. Before you
start, read the <a href=/documentation/io/developing-io-overview/>new I/O connector overview</a>
for an overview of developing a new I/O connector, the available implementation
-options, and how to choose the right option for your use case.</p><p>This guide covers using the <a href=https://beam.apache.org/releases/pydoc/2.66.0/apache_beam.io.iobase.html>Source and FileBasedSink interfaces</a>
+options, and how to choose the right option for your use case.</p><p>This guide covers using the <a href=https://beam.apache.org/releases/pydoc/2.67.0/apache_beam.io.iobase.html>Source and FileBasedSink interfaces</a>
for Python. The Java SDK offers the same functionality, but uses a slightly
different API. See <a href=/documentation/io/developing-io-java/>Developing I/O connectors for Java</a>
for information specific to the Java SDK.</p><h2 id=basic-code-reqs>Basic code requirements</h2><p>Beam runners use the classes you provide to read and/or write data using
@@ -69,7 +69,7 @@ manage a range for a given position type.</li><li>One or more user-facing wrappe
wrap read operations. <a href=#ptransform-wrappers>PTransform wrappers</a> discusses
why you should avoid exposing your sources, and walks through how to create
a wrapper.</li></ul><p>You can find these classes in the
-<a href=https://beam.apache.org/releases/pydoc/2.66.0/apache_beam.io.iobase.html>apache_beam.io.iobase module</a>.</p><h3 id=implementing-the-boundedsource-subclass>Implementing the BoundedSource subclass</h3><p><code>BoundedSource</code> represents a finite data set from which the service reads, possibly in parallel. <code>BoundedSource</code> contains a set of methods that the service uses to split the data set for reading by multiple remote workers.</p><p>To implement a <code>BoundedS [...]
+<a href=https://beam.apache.org/releases/pydoc/2.67.0/apache_beam.io.iobase.html>apache_beam.io.iobase module</a>.</p><h3 id=implementing-the-boundedsource-subclass>Implementing the BoundedSource subclass</h3><p><code>BoundedSource</code> represents a finite data set from which the service reads, possibly in parallel. <code>BoundedSource</code> contains a set of methods that the service uses to split the data set for reading by multiple remote workers.</p><p>To implement a <code>BoundedS [...]
def __init__(self, count):
self.records_read = Metrics.counter(self.__class__, 'recordsRead')
self._count = count
@@ -112,7 +112,7 @@ a wrapper.</li></ul><p>You can find these classes in the
recommended that you do not expose the code for the source itself as
demonstrated in the example above. Use a wrapping <code>PTransform</code> instead.
<a href=#ptransform-wrappers>PTransform wrappers</a> discusses why you should avoid
-exposing your sources, and walks through how to create a wrapper.</p><h2 id=using-the-filebasedsink-abstraction>Using the FileBasedSink abstraction</h2><p>If your data source uses files, you can implement the <a href=https://beam.apache.org/releases/pydoc/2.66.0/apache_beam.io.filebasedsink.html>FileBasedSink</a>
+exposing your sources, and walks through how to create a wrapper.</p><h2 id=using-the-filebasedsink-abstraction>Using the FileBasedSink abstraction</h2><p>If your data source uses files, you can implement the <a href=https://beam.apache.org/releases/pydoc/2.67.0/apache_beam.io.filebasedsink.html>FileBasedSink</a>
abstraction to create a file-based sink. For other sinks, use <code>ParDo</code>,
<code>GroupByKey</code>, and other transforms offered by the Beam SDK for Python. See the
<a href=/documentation/io/developing-io-overview/>developing I/O connectors overview</a>
diff --git a/website/generated-content/documentation/pipelines/test-your-pipeline/index.html b/website/generated-content/documentation/pipelines/test-your-pipeline/index.html
index ffd7360f674..02269e2f1df 100644
--- a/website/generated-content/documentation/pipelines/test-your-pipeline/index.html
+++ b/website/generated-content/documentation/pipelines/test-your-pipeline/index.html
@@ -53,7 +53,7 @@
</span></span><span class=line><span class=cl> <span class=o>...</span>
</span></span><span class=line><span class=cl> <span class=p>})</span>
</span></span><span class=line><span class=cl> <span class=o>...</span>
-</span></span><span class=line><span class=cl><span class=p>}</span></span></span></code></pre></div></div></div><blockquote><p><strong>Note:</strong> Read about testing unbounded pipelines in Beam in <a href=/blog/2016/10/20/test-stream.html>this blog post</a>.</p></blockquote><h3 id=using-the-create-transform>Using the Create Transform</h3><p>You can use the <code>Create</code> transform to create a <code>PCollection</code> out of a standard in-memory collection class, such as Java or [...]
+</span></span><span class=line><span class=cl><span class=p>}</span></span></span></code></pre></div></div></div><blockquote><p><strong>Note:</strong> Read about testing unbounded pipelines in Beam in <a href=/blog/2016/10/20/test-stream.html>this blog post</a>.</p></blockquote><h3 id=using-the-create-transform>Using the Create Transform</h3><p>You can use the <code>Create</code> transform to create a <code>PCollection</code> out of a standard in-memory collection class, such as Java or [...]
</span></span><span class=line><span class=cl>
</span></span><span class=line><span class=cl><span class=c1>// Check whether a PCollection contains some elements in any order.
</span></span></span><span class=line><span class=cl><span class=c1></span><span class=n>PAssert</span><span class=o>.</span><span class=na>that</span><span class=o>(</span><span class=n>output</span><span class=o>)</span>
@@ -78,7 +78,7 @@
</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>artifactId</span><span class=o>></span><span class=n>hamcrest</span><span class=o></</span><span class=n>artifactId</span><span class=o>></span>
</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>version</span><span class=o>></span><span class=n>2</span><span class=o>.</span><span class=na>2</span><span class=o></</span><span class=n>version</span><span class=o>></span>
</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>scope</span><span class=o>></span><span class=n>test</span><span class=o></</span><span class=n>scope</span><span class=o>></span>
-</span></span><span class=line><span class=cl><span class=o></</span><span class=n>dependency</span><span class=o>></span></span></span></code></pre></div></div></div><p>For more information on how these classes work, see the <a href=https://beam.apache.org/releases/javadoc/2.66.0/index.html?org/apache/beam/sdk/testing/package-summary.html>org.apache.beam.sdk.testing</a> package documentation.</p><h3 id=an-example-test-for-a-composite-transform>An Example Test for a Composite Trans [...]
+</span></span><span class=line><span class=cl><span class=o></</span><span class=n>dependency</span><span class=o>></span></span></span></code></pre></div></div></div><p>For more information on how these classes work, see the <a href=https://beam.apache.org/releases/javadoc/2.67.0/index.html?org/apache/beam/sdk/testing/package-summary.html>org.apache.beam.sdk.testing</a> package documentation.</p><h3 id=an-example-test-for-a-composite-transform>An Example Test for a Composite Trans [...]
</span></span><span class=line><span class=cl>
</span></span><span class=line><span class=cl> <span class=c1>// Our static input data, which will make up the initial PCollection.
</span></span></span><span class=line><span class=cl><span class=c1></span> <span class=kd>static</span> <span class=kd>final</span> <span class=n>String</span><span class=o>[]</span> <span class=n>WORDS_ARRAY</span> <span class=o>=</span> <span class=k>new</span> <span class=n>String</span><span class=o>[]</span> <span class=o>{</span>
diff --git a/website/generated-content/documentation/programming-guide/index.html b/website/generated-content/documentation/programming-guide/index.html
index 93aed3c119c..661c91e3fff 100644
--- a/website/generated-content/documentation/programming-guide/index.html
+++ b/website/generated-content/documentation/programming-guide/index.html
@@ -89,7 +89,7 @@ objects you’ve created and transforms that you’ve applied. That grap
executed using the appropriate distributed processing back-end, becoming an
asynchronous “job” (or equivalent) on that back-end.</p><h2 id=creating-a-pipeline>2. Creating a pipeline</h2><p>The <code>Pipeline</code> abstraction encapsulates all the data and steps in your data
processing task. Your Beam driver program typically starts by constructing a
-<span class=language-java><a href=https://beam.apache.org/releases/javadoc/2.66.0/index.html?org/apache/beam/sdk/Pipeline.html>Pipeline</a></span>
+<span class=language-java><a href=https://beam.apache.org/releases/javadoc/2.67.0/index.html?org/apache/beam/sdk/Pipeline.html>Pipeline</a></span>
<span class=language-py><a href=https://github.com/apache/beam/blob/master/sdks/python/apache_beam/pipeline.py>Pipeline</a></span>
<span class=language-go><a href=https://github.com/apache/beam/blob/master/sdks/go/pkg/beam/pipeline.go#L62>Pipeline</a></span>
object, and then using that object as the basis for creating the pipeline’s data
@@ -210,7 +210,7 @@ compatible with all other registered options.</p><p class=language-java>The foll
with <code>PipelineOptionsFactory</code>:</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>PipelineOptionsFactory</span><span class=o>.</span><span class=na>register</span><span class=o>(</sp [...]
</span></span><span class=line><span class=cl><span class=n>MyOptions</span> <span class=n>options</span> <span class=o>=</span> <span class=n>PipelineOptionsFactory</span><span class=o>.</span><span class=na>fromArgs</span><span class=o>(</span><span class=n>args</span><span class=o>)</span>
</span></span><span class=line><span class=cl> <span class=o>.</span><span class=na>withValidation</span><span class=o>()</span>
-</span></span><span class=line><span class=cl> <span class=o>.</span><span class=na>as</span><span class=o>(</span><span class=n>MyOptions</span><span class=o>.</span><span class=na>class</span><span class=o>);</span></span></span></code></pre></div></div></div><p>Now your pipeline can accept <code>--input=value</code> and <code>--output=value</code> as command-line arguments.</p><h2 id=pcollections>3. PCollections</h2><p>The <span class=lan [...]
+</span></span><span class=line><span class=cl> <span class=o>.</span><span class=na>as</span><span class=o>(</span><span class=n>MyOptions</span><span class=o>.</span><span class=na>class</span><span class=o>);</span></span></span></code></pre></div></div></div><p>Now your pipeline can accept <code>--input=value</code> and <code>--output=value</code> as command-line arguments.</p><h2 id=pcollections>3. PCollections</h2><p>The <span class=lan [...]
<span class=language-py><code>PCollection</code></span>
<span class=language-go><a href=https://github.com/apache/beam/blob/master/sdks/go/pkg/beam/pcollection.go#L39>PCollection</a></span>
abstraction represents a
@@ -1281,7 +1281,7 @@ parameters maps to the ordering of the <code>CoGroupByKey</code> inputs.</p><div
</span></span><span class=line><span class=cl><span class=p>];</span></span></span></code></pre></div></div></div><div class='language-yaml 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-yaml data-lang=yaml><span class=line><span class=cl><span class=s2>"amy; ['amy@example.co [...]
</span></span></span><span class=line><span class=cl><span class=w></span><span class=s2>"carl; ['carl@email.com', 'carl@example.com']; ['444-555-6666']"</span><span class=p>,</span><span class=w>
</span></span></span><span class=line><span class=cl><span class=w></span><span class=s2>"james; []; ['222-333-4444']"</span><span class=p>,</span><span class=w>
-</span></span></span><span class=line><span class=cl><span class=w></span><span class=s2>"julia; ['julia@example.com']; []"</span><span class=p>,</span></span></span></code></pre></div></div></div><h4 id=combine>4.2.4. Combine</h4><p><span class=language-java><a href=https://beam.apache.org/releases/javadoc/2.66.0/index.html?org/apache/beam/sdk/transforms/Combine.html><code>Combine</code></a></span>
+</span></span></span><span class=line><span class=cl><span class=w></span><span class=s2>"julia; ['julia@example.com']; []"</span><span class=p>,</span></span></span></code></pre></div></div></div><h4 id=combine>4.2.4. Combine</h4><p><span class=language-java><a href=https://beam.apache.org/releases/javadoc/2.67.0/index.html?org/apache/beam/sdk/transforms/Combine.html><code>Combine</code></a></span>
<span class=language-py><a href=https://github.com/apache/beam/blob/master/sdks/python/apache_beam/transforms/core.py><code>Combine</code></a></span>
<span class=language-go><a href=https://github.com/apache/beam/blob/master/sdks/go/pkg/beam/combine.go#L27><code>Combine</code></a></span>
<span class=language-typescript><a href=https://github.com/apache/beam/blob/master/sdks/typescript/src/apache_beam/transforms/group_and_combine.ts><code>Combine</code></a></span>
@@ -1654,7 +1654,7 @@ PerKey must be an associative reduction function or a
</span></span></span><span class=line><span class=cl><span class=w> </span><span class=nt>value</span><span class=p>:</span><span class=w> </span><span class=l>weight</span><span class=w>
</span></span></span><span class=line><span class=cl><span class=w> </span><span class=nt>average_weight</span><span class=p>:</span><span class=w>
</span></span></span><span class=line><span class=cl><span class=w> </span><span class=nt>fn</span><span class=p>:</span><span class=w> </span><span class=l>mean</span><span class=w>
-</span></span></span><span class=line><span class=cl><span class=w> </span><span class=nt>value</span><span class=p>:</span><span class=w> </span><span class=l>weight</span></span></span></code></pre></div></div></div><h4 id=flatten>4.2.5. Flatten</h4><p><span class=language-java><a href=https://beam.apache.org/releases/javadoc/2.66.0/index.html?org/apache/beam/sdk/transforms/Flatten.html><code>Flatten</code></a></span>
+</span></span></span><span class=line><span class=cl><span class=w> </span><span class=nt>value</span><span class=p>:</span><span class=w> </span><span class=l>weight</span></span></span></code></pre></div></div></div><h4 id=flatten>4.2.5. Flatten</h4><p><span class=language-java><a href=https://beam.apache.org/releases/javadoc/2.67.0/index.html?org/apache/beam/sdk/transforms/Flatten.html><code>Flatten</code></a></span>
<span class=language-py><a href=https://beam.apache.org/releases/pydoc/current/apache_beam.transforms.core.html#apache_beam.transforms.core.Flatten><code>Flatten</code></a></span>
<span class=language-go><a href=https://github.com/apache/beam/blob/master/sdks/go/pkg/beam/flatten.go><code>Flatten</code></a></span>
<span class=language-typescript><code>Flatten</code></span>
@@ -1668,7 +1668,7 @@ is a Beam transform for <code>PCollection</code> objects that store the same dat
</span></span><span class=line><span class=cl><span class=n>PCollection</span><span class=o><</span><span class=n>String</span><span class=o>></span> <span class=n>pc3</span> <span class=o>=</span> <span class=o>...;</span>
</span></span><span class=line><span class=cl><span class=n>PCollectionList</span><span class=o><</span><span class=n>String</span><span class=o>></span> <span class=n>collections</span> <span class=o>=</span> <span class=n>PCollectionList</span><span class=o>.</span><span class=na>of</span><span class=o>(</span><span class=n>pc1</span><span class=o>).</span><span class=na>and</span><span class=o>(</span><span class=n>pc2</span><span class=o>).</span><span class=na>and</span><span [...]
</span></span><span class=line><span class=cl>
-</span></span><span class=line><span class=cl><span class=n>PCollection</span><span class=o><</span><span class=n>String</span><span class=o>></span> <span class=n>merged</span> <span class=o>=</span> <span class=n>collections</span><span class=o>.</span><span class=na>apply</span><span class=o>(</span><span class=n>Flatten</span><span class=o>.<</span><span class=n>String</span><span class=o>></span><span class=n>pCollections</span><span class=o>());</span></span></span></co [...]
+</span></span><span class=line><span class=cl><span class=n>PCollection</span><span class=o><</span><span class=n>String</span><span class=o>></span> <span class=n>merged</span> <span class=o>=</span> <span class=n>collections</span><span class=o>.</span><span class=na>apply</span><span class=o>(</span><span class=n>Flatten</span><span class=o>.<</span><span class=n>String</span><span class=o>></span><span class=n>pCollections</span><span class=o>());</span></span></span></co [...]
transform to merge PCollections into an output PCollection in a manner more compatible with chaining.</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><</sp [...]
</span></span><span class=line><span class=cl> <span class=o>.</span><span class=na>apply</span><span class=o>(...)</span>
</span></span><span class=line><span class=cl> <span class=c1>// Merges the elements of pc2 in at this point...
@@ -1717,7 +1717,7 @@ compatible windowing strategy and window sizing. For example, all the
collections you’re merging must all use (hypothetically) identical 5-minute
fixed windows or 4-minute sliding windows starting every 30 seconds.</p><p>If your pipeline attempts to use <code>Flatten</code> to merge <code>PCollection</code> objects with
incompatible windows, Beam generates an <code>IllegalStateException</code> error when your
-pipeline is constructed.</p><h4 id=partition>4.2.6. Partition</h4><p><span class=language-java><a href=https://beam.apache.org/releases/javadoc/2.66.0/index.html?org/apache/beam/sdk/transforms/Partition.html><code>Partition</code></a></span>
+pipeline is constructed.</p><h4 id=partition>4.2.6. Partition</h4><p><span class=language-java><a href=https://beam.apache.org/releases/javadoc/2.67.0/index.html?org/apache/beam/sdk/transforms/Partition.html><code>Partition</code></a></span>
<span class=language-py><a href=https://github.com/apache/beam/blob/master/sdks/python/apache_beam/transforms/core.py><code>Partition</code></a></span>
<span class=language-go><a href=https://github.com/apache/beam/blob/master/sdks/go/pkg/beam/partition.go><code>Partition</code></a></span>
<span class=language-typescript><code>Partition</code></span>
@@ -2444,7 +2444,7 @@ multiple simpler transforms (such as more than one <code>ParDo</code>, <code>Com
<code>GroupByKey</code>, or even other composite transforms). These transforms are called
composite transforms. Nesting multiple transforms inside a single composite
transform can make your code more modular and easier to understand.</p><p>The Beam SDK comes packed with many useful composite transforms. See the API
-reference pages for a list of transforms:</p><ul><li><a href=https://beam.apache.org/releases/javadoc/2.66.0/index.html?org/apache/beam/sdk/transforms/package-summary.html>Pre-written Beam transforms for Java</a></li><li><a href=https://beam.apache.org/releases/pydoc/2.66.0/apache_beam.transforms.html>Pre-written Beam transforms for Python</a></li><li><a href=https://github.com/apache/beam/tree/master/sdks/go/pkg/beam/transforms>Pre-written Beam transforms for Go</a></li></ul><h4 id=comp [...]
+reference pages for a list of transforms:</p><ul><li><a href=https://beam.apache.org/releases/javadoc/2.67.0/index.html?org/apache/beam/sdk/transforms/package-summary.html>Pre-written Beam transforms for Java</a></li><li><a href=https://beam.apache.org/releases/pydoc/2.67.0/apache_beam.transforms.html>Pre-written Beam transforms for Python</a></li><li><a href=https://github.com/apache/beam/tree/master/sdks/go/pkg/beam/transforms>Pre-written Beam transforms for Go</a></li></ul><h4 id=comp [...]
is an example of a composite transform. <code>CountWords</code> is a <code>PTransform</code>
<span class="language-java language-py">subclass</span> that consists
of multiple nested transforms.</p><p><span class="language-java language-py">In its <code>expand</code> method, the</span>
@@ -3341,7 +3341,7 @@ each element of a <code>PCollection</code>, and data sources that create fixed d
all the elements are by default part of a single, global window.</p><p>To use windowing with fixed data sets, you can assign your own timestamps to
each element. To assign timestamps to elements, use a <code>ParDo</code> transform with a
<code>DoFn</code> that outputs each element with a new timestamp (for example, the
-<a href=https://beam.apache.org/releases/javadoc/2.66.0/index.html?org/apache/beam/sdk/transforms/WithTimestamps.html>WithTimestamps</a>
+<a href=https://beam.apache.org/releases/javadoc/2.67.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 lines from a
file using <code>TextIO</code>. We then group the collection using <code>GroupByKey</code>,
diff --git a/website/generated-content/documentation/runners/dataflow/index.html b/website/generated-content/documentation/runners/dataflow/index.html
index 8dc2dd3209b..74656afd00c 100644
--- a/website/generated-content/documentation/runners/dataflow/index.html
+++ b/website/generated-content/documentation/runners/dataflow/index.html
@@ -43,7 +43,7 @@ Manager. You may need to enable additional APIs (such as BigQuery, Cloud
Pub/Sub, or Cloud Datastore) if you use them in your pipeline code.</li><li>Authenticate with Google Cloud Platform.</li><li>Install the Google Cloud SDK.</li><li>Create a Cloud Storage bucket.</li></ol><h3 id=dependency>Specify your dependency</h3><p><span class=language-java>When using Java, you must specify your dependency on the Cloud Dataflow Runner in your <code>pom.xml</code>.</span><div class='language-java snippet'><div class="notebook-skip code-snippet"><a class=copy type=butto [...]
</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>groupId</span><span class=o>></span><span class=n>org</span><span class=o>.</span><span class=na>apache</span><span class=o>.</span><span class=na>beam</span><span class=o></</span><span class=n>groupId</span><span class=o>></span>
</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>artifactId</span><span class=o>></span><span class=n>beam</span><span class=o>-</span><span class=n>runners</span><span class=o>-</span><span class=n>google</span><span class=o>-</span><span class=n>cloud</span><span class=o>-</span><span class=n>dataflow</span><span class=o>-</span><span class=n>java</span><span class=o></</span><span class=n>artifactId</span><span class=o>></span>
-</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>version</span><span class=o>></span><span class=n>2</span><span class=o>.</span><span class=na>66</span><span class=o>.</span><span class=na>0</span><span class=o></</span><span class=n>version</span><span class=o>></span>
+</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>version</span><span class=o>></span><span class=n>2</span><span class=o>.</span><span class=na>67</span><span class=o>.</span><span class=na>0</span><span class=o></</span><span class=n>version</span><span class=o>></span>
</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>scope</span><span class=o>></span><span class=n>runtime</span><span class=o></</span><span class=n>scope</span><span class=o>></span>
</span></span><span class=line><span class=cl><span class=o></</span><span class=n>dependency</span><span class=o>></span></span></span></code></pre></div></div></div></p><p><span class=language-py>This section is not applicable to the Beam SDK for Python.</span></p><h3 id=self-executing-jar>Self executing JAR</h3><p class=language-py>This section is not applicable to the Beam SDK for Python.</p><p class=language-java>In some cases, such as starting a pipeline using a scheduler suc [...]
</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>groupId</span><span class=o>></span><span class=n>org</span><span class=o>.</span><span class=na>apache</span><span class=o>.</span><span class=na>beam</span><span class=o></</span><span class=n>groupId</span><span class=o>></span>
@@ -77,8 +77,8 @@ Path for temporary files. Must be a valid Google Cloud Storage URL that begins w
<span class=language-java>If set, <code>tempLocation</code> is used as the default value for <code>gcpTempLocation</code>.</span></td><td>No default value.</td></tr><tr class=language-java><td><code>gcpTempLocation</code></td><td>Cloud Storage bucket path for temporary files. Must be a valid Cloud Storage URL that begins with <code>gs://</code>.</td><td>If not set, defaults to the value of <code>tempLocation</code>, provided that <code>tempLocation</code> is a valid Cloud Storage URL. If [...]
<span class=language-py><code>staging_location</code></span></td><td>Optional. Cloud Storage bucket path for staging your binary and any temporary files. Must be a valid Cloud Storage URL that begins with <code>gs://</code>.</td><td><span class=language-java>If not set, defaults to a staging directory within <code>gcpTempLocation</code>.</span>
<span class=language-py>If not set, defaults to a staging directory within <code>temp_location</code>.</span></td></tr><tr class=language-py><td><code>save_main_session</code></td><td>Save the main session state so that pickled functions and classes defined in <code>__main__</code> (e.g. interactive session) can be unpickled. Some workflows do not need the session state if, for instance, all of their functions/classes are defined in proper modules (not <code>__main__</code>) and the modu [...]
-<span class=language-java><a href=https://beam.apache.org/releases/javadoc/2.66.0/index.html?org/apache/beam/runners/dataflow/options/DataflowPipelineOptions.html>DataflowPipelineOptions</a></span>
-<span class=language-py><a href=https://beam.apache.org/releases/pydoc/2.66.0/apache_beam.options.pipeline_options.html#apache_beam.options.pipeline_options.PipelineOptions><code>PipelineOptions</code></a></span>
+<span class=language-java><a href=https://beam.apache.org/releases/javadoc/2.67.0/index.html?org/apache/beam/runners/dataflow/options/DataflowPipelineOptions.html>DataflowPipelineOptions</a></span>
+<span class=language-py><a href=https://beam.apache.org/releases/pydoc/2.67.0/apache_beam.options.pipeline_options.html#apache_beam.options.pipeline_options.PipelineOptions><code>PipelineOptions</code></a></span>
interface (and any subinterfaces) for additional pipeline configuration options.</p><h2 id=additional-info>Additional information and caveats</h2><h3 id=monitoring>Monitoring your job</h3><p>While your pipeline executes, you can monitor the job’s progress, view details on execution, and receive updates on the pipeline’s results by using the <a href=https://cloud.google.com/dataflow/pipelines/dataflow-monitoring-intf>Dataflow Monitoring Interface</a> or the <a href=https://clo [...]
You can cancel your streaming job from the <a href=https://cloud.google.com/dataflow/pipelines/stopping-a-pipeline>Dataflow Monitoring Interface</a>
or with the <a href=https://cloud.google.com/dataflow/pipelines/dataflow-command-line-intf>Dataflow Command-line Interface</a>
diff --git a/website/generated-content/documentation/runners/direct/index.html b/website/generated-content/documentation/runners/direct/index.html
index e63c433f6e1..acac2dcd919 100644
--- a/website/generated-content/documentation/runners/direct/index.html
+++ b/website/generated-content/documentation/runners/direct/index.html
@@ -36,15 +36,15 @@
<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(" [...]
-<span class=language-java>See <a href=https://beam.apache.org/releases/javadoc/current/org/apache/beam/sdk/transforms/ParDo.html>Serializability of DoFns</a> for details.</span></li></ul><p>Using the Direct Runner for testing and development helps ensure that pipelines are robust across different Beam runners. In addition, debugging failed runs can be a non-trivial task when a pipeline executes on a remote cluster. Instead, it is often faster and simpler to perform local unit testing on [...]
+<span class=language-java>See <a href=https://beam.apache.org/releases/javadoc/current/org/apache/beam/sdk/transforms/ParDo.html>Serializability of DoFns</a> for details.</span></li></ul><p>Using the Direct Runner for testing and development helps ensure that pipelines are robust across different Beam runners. In addition, debugging failed runs can be a non-trivial task when a pipeline executes on a remote cluster. Instead, it is often faster and simpler to perform local unit testing on [...]
</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>groupId</span><span class=o>></span><span class=n>org</span><span class=o>.</span><span class=na>apache</span><span class=o>.</span><span class=na>beam</span><span class=o></</span><span class=n>groupId</span><span class=o>></span>
</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>artifactId</span><span class=o>></span><span class=n>beam</span><span class=o>-</span><span class=n>runners</span><span class=o>-</span><span class=n>direct</span><span class=o>-</span><span class=n>java</span><span class=o></</span><span class=n>artifactId</span><span class=o>></span>
-</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>version</span><span class=o>></span><span class=n>2</span><span class=o>.</span><span class=na>66</span><span class=o>.</span><span class=na>0</span><span class=o></</span><span class=n>version</span><span class=o>></span>
+</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>version</span><span class=o>></span><span class=n>2</span><span class=o>.</span><span class=na>67</span><span class=o>.</span><span class=na>0</span><span class=o></</span><span class=n>version</span><span class=o>></span>
</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>scope</span><span class=o>></span><span class=n>runtime</span><span class=o></</span><span class=n>scope</span><span class=o>></span>
</span></span><span class=line><span class=cl><span class=o></</span><span class=n>dependency</span><span class=o>></span></span></span></code></pre></div></div></div></p><p><span class=language-py>This section is not applicable to the Beam SDK for Python.</span></p><h2 id=pipeline-options-for-the-direct-runner>Pipeline options for the Direct Runner</h2><p>For general instructions on how to set pipeline options, see the <a href=/documentation/programming-guide/#configuring-pipeline [...]
-<span class=language-java><a href=https://beam.apache.org/releases/javadoc/2.66.0/index.html?org/apache/beam/runners/direct/DirectOptions.html><code>DirectOptions</code></a></span>
-<span class=language-py><a href=https://beam.apache.org/releases/pydoc/2.66.0/apache_beam.options.pipeline_options.html#apache_beam.options.pipeline_options.DirectOptions><code>DirectOptions</code></a></span>
-interface for defaults and additional pipeline configuration options.</p><h2 id=additional-information-and-caveats>Additional information and caveats</h2><h3 id=memory-considerations>Memory considerations</h3><p>Local execution is limited by the memory available in your local environment. It is highly recommended that you run your pipeline with data sets small enough to fit in local memory. You can create a small in-memory data set using a <span class=language-java><a href=https://beam.a [...]
+<span class=language-java><a href=https://beam.apache.org/releases/javadoc/2.67.0/index.html?org/apache/beam/runners/direct/DirectOptions.html><code>DirectOptions</code></a></span>
+<span class=language-py><a href=https://beam.apache.org/releases/pydoc/2.67.0/apache_beam.options.pipeline_options.html#apache_beam.options.pipeline_options.DirectOptions><code>DirectOptions</code></a></span>
+interface for defaults and additional pipeline configuration options.</p><h2 id=additional-information-and-caveats>Additional information and caveats</h2><h3 id=memory-considerations>Memory considerations</h3><p>Local execution is limited by the memory available in your local environment. It is highly recommended that you run your pipeline with data sets small enough to fit in local memory. You can create a small in-memory data set using a <span class=language-java><a href=https://beam.a [...]
By default, <code>targetParallelism</code> is the greater of the number of available processors and 3.</p><p class=language-py>Number of threads or subprocesses is defined by setting the <code>direct_num_workers</code> pipeline option.
From 2.22.0, <code>direct_num_workers = 0</code> is supported. When <code>direct_num_workers</code> is set to 0, it will set the number of threads/subprocess to the number of cores of the machine where the pipeline is running.</p><p class=language-py><strong>Setting running mode</strong></p><p class=language-py>In Beam 2.19.0 and newer, you can use the <code>direct_running_mode</code> pipeline option to set the running mode.
<code>direct_running_mode</code> can be one of [<code>'in_memory'</code>, <code>'multi_threading'</code>, <code>'multi_processing'</code>].</p><p class=language-py><b>in_memory</b>: Runner and workers’ communication happens in memory (not through gRPC). This is a default mode.</p><p class=language-py><b>multi_threading</b>: Runner and workers communicate through gRPC and each worker runs in a thread.</p><p class=language-py><b>multi_processing</b>: Runner and workers communicate th [...]
diff --git a/website/generated-content/documentation/runners/flink/index.html b/website/generated-content/documentation/runners/flink/index.html
index 3423856f573..81b17548ba8 100644
--- a/website/generated-content/documentation/runners/flink/index.html
+++ b/website/generated-content/documentation/runners/flink/index.html
@@ -59,7 +59,7 @@ in your <code>pom.xml</code> or <code>build.gradle</code>. Use the Beam version
from the <a href=#flink-version-compatibility>compatibility table</a> below. 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=o><</span><span class=n>dependency</span><span clas [...]
</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>groupId</span><span class=o>></span><span class=n>org</span><span class=o>.</span><span class=na>apache</span><span class=o>.</span><span class=na>beam</span><span class=o></</span><span class=n>groupId</span><span class=o>></span>
</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>artifactId</span><span class=o>></span><span class=n>beam</span><span class=o>-</span><span class=n>runners</span><span class=o>-</span><span class=n>flink</span><span class=o>-</span><span class=n>1</span><span class=o>.</span><span class=na>18</span><span class=o></</span><span class=n>artifactId</span><span class=o>></span>
-</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>version</span><span class=o>></span><span class=n>2</span><span class=o>.</span><span class=na>66</span><span class=o>.</span><span class=na>0</span><span class=o></</span><span class=n>version</span><span class=o>></span>
+</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>version</span><span class=o>></span><span class=n>2</span><span class=o>.</span><span class=na>67</span><span class=o>.</span><span class=na>0</span><span class=o></</span><span class=n>version</span><span class=o>></span>
</span></span><span class=line><span class=cl><span class=o></</span><span class=n>dependency</span><span class=o>></span></span></span></code></pre></div></div></div><p class=language-py>You will need Docker to be installed in your execution environment.
To run an embedded flink cluster or use the Flink runner for Python < 3.6
you will also need to have java available in your execution environment.</p><p class=language-portable>You will need Docker to be installed in your execution environment.</p><h3 id=executing-a-beam-pipeline-on-a-flink-cluster>Executing a Beam pipeline on a Flink Cluster</h3><p class=language-java>For executing a pipeline on a Flink cluster you need to package your program
@@ -123,9 +123,9 @@ with beam.Pipeline(options=options) as p:
and will not work on remote clusters.
See <a href=/documentation/runtime/sdk-harness-config/>here</a> for details.</p><h2 id=additional-information-and-caveats>Additional information and caveats</h2><h3 id=monitoring-your-job>Monitoring your job</h3><p>You can monitor a running Flink job using the Flink JobManager Dashboard or its Rest interfaces. By default, this is available at port <code>8081</code> of the JobManager node. If you have a Flink installation on your local machine that would be <code>http://localhost:8081</co [...]
Many sources like <code>PubSubIO</code> rely on their checkpoints to be acknowledged which can only be done when checkpointing is enabled for the <code>FlinkRunner</code>. To enable checkpointing, please set <span class=language-java><code>checkpointingInterval</code></span><span class=language-py><code>checkpointing_interval</code></span> to the desired checkpointing interval in milliseconds.</p><h2 id=pipeline-options-for-the-flink-runner>Pipeline options for the Flink Runner</h2><p>Wh [...]
-<a href=https://beam.apache.org/releases/javadoc/2.66.0/index.html?org/apache/beam/runners/flink/FlinkPipelineOptions.html>FlinkPipelineOptions</a>
+<a href=https://beam.apache.org/releases/javadoc/2.67.0/index.html?org/apache/beam/runners/flink/FlinkPipelineOptions.html>FlinkPipelineOptions</a>
reference class:</p><div class=language-java><table class="table table-bordered"><tr><td><code>allowNonRestoredState</code></td><td>Flag indicating whether non restored state is allowed if the savepoint contains state for an operator that is no longer part of the pipeline.</td><td>Default: <code>false</code></td></tr><tr><td><code>attachedMode</code></td><td>Specifies if the pipeline is submitted in attached or detached mode</td><td>Default: <code>true</code></td></tr><tr><td><code>autoB [...]
-<a href=https://beam.apache.org/releases/javadoc/2.66.0/index.html?org/apache/beam/sdk/options/PipelineOptions.html>PipelineOptions</a>
+<a href=https://beam.apache.org/releases/javadoc/2.67.0/index.html?org/apache/beam/sdk/options/PipelineOptions.html>PipelineOptions</a>
reference.</p><h2 id=flink-version-compatibility>Flink Version Compatibility</h2><p>The Flink cluster version has to match the minor version used by the FlinkRunner.
The minor version is the first two numbers in the version string, e.g. in <code>1.18.0</code> the
minor version is <code>1.18</code>.</p><p>We try to track the latest version of Apache Flink at the time of the Beam release.
diff --git a/website/generated-content/documentation/runners/prism/index.html b/website/generated-content/documentation/runners/prism/index.html
index 4c0eafe3fc8..e84af879679 100644
--- a/website/generated-content/documentation/runners/prism/index.html
+++ b/website/generated-content/documentation/runners/prism/index.html
@@ -40,20 +40,20 @@ Prism is under active development to close these gaps.</p><p>With the exception
Processing Time timers do not yet have real time support.</p><p>See the <a href=/roadmap/prism-runner/>Roadmap</a> for how to find current progress.
Specific feature support information will soon migrate to the <a href=/documentation/runners/capability-matrix/>Runner Capability Matrix</a>.</p><h1 id=using-the-prism-runner>Using the Prism Runner</h1><nav class=language-switcher><strong>Adapt for:</strong><ul><li data-value=go>Go SDK</li><li data-value=java class=active>Java SDK</li><li data-value=py>Python SDK</li></ul></nav><p><span class=language-go>Prism is the default runner for the Go SDK and is used automatically. Set the runner [...]
<span class=language-java>Set the runner to <code>PrismRunner</code>.</span>
-<span class=language-py>Set the runner to <code>PrismRunner</code>.</span></p><p>For other SDKs, Prism is included as an asset on <a href=https://github.com/apache/beam/releases/tag/v2.66.0>Beam Github Releases</a> for download and stand alone use.</p><p>Here are some resources with information about how to test your pipelines.</p><ul><li><a href=/documentation/pipelines/test-your-pipeline/>Test Your Pipeline</a></li><li>The <a href=/get-started/wordcount-example/#testing-your-pipeline-w [...]
+<span class=language-py>Set the runner to <code>PrismRunner</code>.</span></p><p>For other SDKs, Prism is included as an asset on <a href=https://github.com/apache/beam/releases/tag/v2.67.0>Beam Github Releases</a> for download and stand alone use.</p><p>Here are some resources with information about how to test your pipelines.</p><ul><li><a href=/documentation/pipelines/test-your-pipeline/>Test Your Pipeline</a></li><li>The <a href=/get-started/wordcount-example/#testing-your-pipeline-w [...]
</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>groupId</span><span class=o>></span><span class=n>org</span><span class=o>.</span><span class=na>apache</span><span class=o>.</span><span class=na>beam</span><span class=o></</span><span class=n>groupId</span><span class=o>></span>
</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>artifactId</span><span class=o>></span><span class=n>beam</span><span class=o>-</span><span class=n>runners</span><span class=o>-</span><span class=n>prism</span><span class=o>-</span><span class=n>java</span><span class=o></</span><span class=n>artifactId</span><span class=o>></span>
-</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>version</span><span class=o>></span><span class=n>2</span><span class=o>.</span><span class=na>66</span><span class=o>.</span><span class=na>0</span><span class=o></</span><span class=n>version</span><span class=o>></span>
+</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>version</span><span class=o>></span><span class=n>2</span><span class=o>.</span><span class=na>67</span><span class=o>.</span><span class=na>0</span><span class=o></</span><span class=n>version</span><span class=o>></span>
</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>scope</span><span class=o>></span><span class=n>runtime</span><span class=o></</span><span class=n>scope</span><span class=o>></span>
</span></span><span class=line><span class=cl><span class=o></</span><span class=n>dependency</span><span class=o>></span></span></span></code></pre></div></div></div></p><p><span class=language-py>This section is not applicable to the Beam SDK for Python. Prism is built in.</span>
-<span class=language-go>This section is not applicable to the Beam SDK for Go. Prism is built in.</span></p><p>Except for the Go SDK, Prism is included as an asset on <a href=https://github.com/apache/beam/releases/tag/v2.66.0>Beam Github Releases</a> for automatic download, startup, and shutdown on SDKs.
+<span class=language-go>This section is not applicable to the Beam SDK for Go. Prism is built in.</span></p><p>Except for the Go SDK, Prism is included as an asset on <a href=https://github.com/apache/beam/releases/tag/v2.67.0>Beam Github Releases</a> for automatic download, startup, and shutdown on SDKs.
The binary is cached locally for subsequent executions.</p><h2 id=pipeline-options-for-the-prism-runner>Pipeline options for the Prism Runner</h2><p>Prism aims to have minimal configuration required, and does not currently present user pipeline options.</p><h2 id=running-prism-standalone>Running Prism Standalone</h2><p>Prism can be executed as a stand alone binary and will present a basic UI for listing jobs, and job status.
This is an optional mode for Prism that is useful for demos or rapid iteration.
It is not a requirement for using Prism in the Java or Python SDKs.</p><p>This can be done in two ways, downloading an asset from the github release, or building the binary locally with Go installed.</p><p>In either case, Prism serves a JobManagement API endpoint, and a Webpage UI locally.
Jobs can be submitted using <code>--runner=PortableRunner --endpoint=<endpoint address></code> and monitored using the webpage UI.</p><p>Example output from the Prism binary:</p><pre tabindex=0><code>2024/09/30 09:56:42 INFO Serving JobManagement endpoint=localhost:8073
2024/09/30 09:56:42 INFO Serving WebUI endpoint=http://localhost:8074
</code></pre><p>The binary has the following optional flags:</p><ul><li><code>--job_port</code> sets the port for the Job management server (defaults to 8073)</li><li><code>--web_port</code> sets the port for the web ui (defaults to 8074)</li><li><code>--serve_http</code> enables or disables the web ui (defaults to true)</li><li><code>---idle_shutdown_timeout</code> sets a duration that Prism will wait for a new job before automatically shutting itself down. Uses duration format like <co [...]
-This is recommended if you want to deploy Prism on some other machine.</p><p>Navigate to the latest <a href=https://github.com/apache/beam/releases/tag/v2.66.0>Beam Release Github page</a>, scroll to the bottom, and download the correct asset for where you want to run Prism.</p><p>For example, if you want to execute Prism on a newer MacBook, you’d download the <code>darwin-arm64</code> asset. For executing on many cloud machines, you’d download the <code>linux-amd64</code> as [...]
+This is recommended if you want to deploy Prism on some other machine.</p><p>Navigate to the latest <a href=https://github.com/apache/beam/releases/tag/v2.67.0>Beam Release Github page</a>, scroll to the bottom, and download the correct asset for where you want to run Prism.</p><p>For example, if you want to execute Prism on a newer MacBook, you’d download the <code>darwin-arm64</code> asset. For executing on many cloud machines, you’d download the <code>linux-amd64</code> as [...]
This is recommended if you only want to run Prism on your local machine.</p><p>You can insall Prism with <code>go install</code>:</p><div class=highlight><pre tabindex=0 class=chroma><code class=language-sh data-lang=sh><span class=line><span class=cl>go install github.com/apache/beam/sdks/v2/go/cmd/prism@latest
</span></span><span class=line><span class=cl>prism
</span></span></code></pre></div><p>Or simply build and execute the binary immeadiately using <code>go run</code>:</p><div class=highlight><pre tabindex=0 class=chroma><code class=language-sh data-lang=sh><span class=line><span class=cl>go run github.com/apache/beam/sdks/v2/go/cmd/prism@latest
diff --git a/website/generated-content/documentation/runners/samza/index.html b/website/generated-content/documentation/runners/samza/index.html
index e1a95f41cde..047e1b35915 100644
--- a/website/generated-content/documentation/runners/samza/index.html
+++ b/website/generated-content/documentation/runners/samza/index.html
@@ -38,7 +38,7 @@
<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(" [...]
</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>groupId</span><span class=o>></span><span class=n>org</span><span class=o>.</span><span class=na>apache</span><span class=o>.</span><span class=na>beam</span><span class=o></</span><span class=n>groupId</span><span class=o>></span>
</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>artifactId</span><span class=o>></span><span class=n>beam</span><span class=o>-</span><span class=n>runners</span><span class=o>-</span><span class=n>samza</span><span class=o></</span><span class=n>artifactId</span><span class=o>></span>
-</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>version</span><span class=o>></span><span class=n>2</span><span class=o>.</span><span class=na>66</span><span class=o>.</span><span class=na>0</span><span class=o></</span><span class=n>version</span><span class=o>></span>
+</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>version</span><span class=o>></span><span class=n>2</span><span class=o>.</span><span class=na>67</span><span class=o>.</span><span class=na>0</span><span class=o></</span><span class=n>version</span><span class=o>></span>
</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>scope</span><span class=o>></span><span class=n>runtime</span><span class=o></</span><span class=n>scope</span><span class=o>></span>
</span></span><span class=line><span class=cl><span class=o></</span><span class=n>dependency</span><span class=o>></span>
</span></span><span class=line><span class=cl>
diff --git a/website/generated-content/documentation/runners/spark/index.html b/website/generated-content/documentation/runners/spark/index.html
index 1bef22367dd..bb0df92ea40 100644
--- a/website/generated-content/documentation/runners/spark/index.html
+++ b/website/generated-content/documentation/runners/spark/index.html
@@ -47,7 +47,7 @@ the portable Runner. For more information on portability, please visit the
<a href=/roadmap/portability/>Portability page</a>.</p><nav class=language-switcher><strong>Adapt for:</strong><ul><li data-value=java>Non portable (Java)</li><li data-value=py>Portable (Java/Python/Go)</li></ul></nav><h2 id=spark-runner-prerequisites-and-setup>Spark Runner prerequisites and setup</h2><p>The Spark runner currently supports Spark’s 3.2.x branch.</p><blockquote><p><strong>Note:</strong> Support for Spark 2.4.x was dropped with Beam 2.46.0.</p></blockquote><p class=la [...]
</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>groupId</span><span class=o>></span><span class=n>org</span><span class=o>.</span><span class=na>apache</span><span class=o>.</span><span class=na>beam</span><span class=o></</span><span class=n>groupId</span><span class=o>></span>
</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>artifactId</span><span class=o>></span><span class=n>beam</span><span class=o>-</span><span class=n>runners</span><span class=o>-</span><span class=n>spark</span><span class=o>-</span><span class=n>3</span><span class=o></</span><span class=n>artifactId</span><span class=o>></span>
-</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>version</span><span class=o>></span><span class=n>2</span><span class=o>.</span><span class=na>66</span><span class=o>.</span><span class=na>0</span><span class=o></</span><span class=n>version</span><span class=o>></span>
+</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>version</span><span class=o>></span><span class=n>2</span><span class=o>.</span><span class=na>67</span><span class=o>.</span><span class=na>0</span><span class=o></</span><span class=n>version</span><span class=o>></span>
</span></span><span class=line><span class=cl><span class=o></</span><span class=n>dependency</span><span class=o>></span></span></span></code></pre></div></div></div><h3 id=deploying-spark-with-your-application>Deploying Spark with your application</h3><p class=language-java>In some cases, such as running in local mode/Standalone, your (self-contained) application would be required to pack Spark by explicitly adding the following dependencies in your pom.xml:</p><div class='langua [...]
</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>groupId</span><span class=o>></span><span class=n>org</span><span class=o>.</span><span class=na>apache</span><span class=o>.</span><span class=na>spark</span><span class=o></</span><span class=n>groupId</span><span class=o>></span>
</span></span><span class=line><span class=cl> <span class=o><</span><span class=n>artifactId</span><span class=o>></span><span class=n>spark</span><span class=o>-</span><span class=n>core_2</span><span class=o>.</span><span class=na>12</span><span class=o></</span><span class=n>artifactId</span><span class=o>></span>
@@ -145,8 +145,8 @@ For more on how to generally use <code>spark-submit</code> checkout Spark <a hre
Spark also has a history server to <a href=https://spark.apache.org/docs/latest/monitoring.html#viewing-after-the-fact>view after the fact</a>.<p class=language-java>Metrics are also available via <a href=https://spark.apache.org/docs/latest/monitoring.html#rest-api>REST API</a>.
Spark provides a <a href=https://spark.apache.org/docs/latest/monitoring.html#metrics>metrics system</a> that allows reporting Spark metrics to a variety of Sinks.
The Spark runner reports user-defined Beam Aggregators using this same metrics system and currently supports
-<a href=https://beam.apache.org/releases/javadoc/2.66.0/org/apache/beam/runners/spark/metrics/sink/GraphiteSink.html>GraphiteSink</a>
-and <a href=https://beam.apache.org/releases/javadoc/2.66.0/org/apache/beam/runners/spark/metrics/sink/CsvSink.html>CSVSink</a>.
+<a href=https://beam.apache.org/releases/javadoc/2.67.0/org/apache/beam/runners/spark/metrics/sink/GraphiteSink.html>GraphiteSink</a>
+and <a href=https://beam.apache.org/releases/javadoc/2.67.0/org/apache/beam/runners/spark/metrics/sink/CsvSink.html>CSVSink</a>.
Providing support for additional Sinks supported by Spark is easy and straight-forward.</p><p class=language-py>Spark metrics are not yet supported on the portable runner.</p></p><h3 id=streaming-execution>Streaming Execution</h3><p class=language-java><br><b>For RDD/DStream based runner:</b><br>If your pipeline uses an <code>UnboundedSource</code> the Spark Runner will automatically set streaming mode. Forcing streaming mode is mostly used for testing and is not recommended.<br><br><b>F [...]
Instead, you should use <code>SparkContextOptions</code> which can only be used programmatically and is not a common <code>PipelineOptions</code> implementation.<br><br><b>For Structured Streaming based runner:</b><br>Provided SparkSession and StreamingListeners are not supported on the Spark Structured Streaming runner</p><p class=language-py>Provided SparkContext and StreamingListeners are not supported on the Spark portable runner.</p><h3 id=kubernetes>Kubernetes</h3><h4 id=submit-bea [...]
--conf spark.kubernetes.driver.podTemplateFile=driver_pod_template.yaml \
diff --git a/website/generated-content/documentation/sdks/go-cross-compilation/index.html b/website/generated-content/documentation/sdks/go-cross-compilation/index.html
index 26863f0e09f..cfdf6667cb1 100644
--- a/website/generated-content/documentation/sdks/go-cross-compilation/index.html
+++ b/website/generated-content/documentation/sdks/go-cross-compilation/index.html
@@ -35,7 +35,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(" [...]
To execute a Go binary on a machine, it must be compiled for the matching operating system and processor architecture.
This has implications for how Go SDK pipelines execute on <a href=/documentation/glossary/#worker>workers</a>.</p><h1 id=development-using-go-run>Development: Using <code>go run</code></h1><p>When starting your in development pipeline against a remote runner, you can use <code>go run</code> from your development environment.
The Go SDK will cross-compile your pipeline for <code>linux-amd64</code>, and use that as the pipeline’s worker binary.</p><p>Alternatively, some local runners support Loopback execution.
diff --git a/website/generated-content/documentation/sdks/go-dependencies/index.html b/website/generated-content/documentation/sdks/go-dependencies/index.html
index 35b1ebbd9d3..14d45dba14c 100644
--- a/website/generated-content/documentation/sdks/go-dependencies/index.html
+++ b/website/generated-content/documentation/sdks/go-dependencies/index.html
@@ -35,10 +35,10 @@
<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(" [...]
Compile and runtime dependencies for your Beam SDK version are listed in <code>go.sum</code> in the Beam repository.
This can be found at</p><pre tabindex=0><code>https://raw.githubusercontent.com/apache/beam/v<VERSION_NUMBER>/sdks/go.sum
-</code></pre><p class=paragraph-wrap>Replace `<VERSION_NUMBER>` with the major.minor.patch version of the SDK. For example, <a href=https://raw.githubusercontent.com/apache/beam/v2.66.0/sdks/go.sum target=_blank rel="noopener noreferrer">https://raw.githubusercontent.com/apache/beam/v2.66.0/sdks/go.sum</a> will provide the dependencies for the 2.66.0 release.</p><p><strong>Note:</strong> To just view direct dependencies, you can view the <code>go.mod</code> file instead, direct dependencies
+</code></pre><p class=paragraph-wrap>Replace `<VERSION_NUMBER>` with the major.minor.patch version of the SDK. For example, <a href=https://raw.githubusercontent.com/apache/beam/v2.67.0/sdks/go.sum target=_blank rel="noopener noreferrer">https://raw.githubusercontent.com/apache/beam/v2.67.0/sdks/go.sum</a> will provide the dependencies for the 2.67.0 release.</p><p><strong>Note:</strong> To just view direct dependencies, you can view the <code>go.mod</code> file instead, direct dependencies
are listed in the initial <code>require</code> statement. This can be found at <code>https://raw.githubusercontent.com/apache/beam/v<VERSION_NUMBER>/sdks/go.mod</code></p></div></div><footer class=footer><div class=footer__contained><div class=footer__cols><div class="footer__cols__col footer__cols__col__logos"><div class=footer__cols__col__logo><img src=/images/beam_logo_circle.svg class=footer__logo alt="Beam logo"></div><div class=footer__cols__col__logo><img src=/images/apache_log [...]
<a href=https://www.apache.org>The Apache Software Foundation</a>
| <a href=/privacy_policy>Privacy Policy</a>
diff --git a/website/generated-content/documentation/sdks/go/index.html b/website/generated-content/documentation/sdks/go/index.html
index b425424e019..d2a69163269 100644
--- a/website/generated-content/documentation/sdks/go/index.html
+++ b/website/generated-content/documentation/sdks/go/index.html
@@ -35,7 +35,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(" [...]
It is based on the following <a href=https://s.apache.org/beam-go-sdk-design-rfc>design</a>.</p><p>Unlike Java and Python, Go is a statically compiled language.
This means worker binaries may need to be <a href=/documentation/sdks/go-cross-compilation/>cross-compiled</a> to execute on distributed runners.</p><h2 id=get-started-with-the-go-sdk>Get Started with the Go SDK</h2><p>Get started with the <a href=/get-started/quickstart-go>Beam Go SDK quickstart</a> to set up your development environment and run an example pipeline. Then, read through the <a href=/documentation/programming-guide>Beam programming guide</a> to learn the basic concepts tha [...]
It’s possible to write many kinds of transforms, but specific built in transforms may still be missing, or incomplete.</p><p>Requests for specific transforms may be filed to the <a href="https://github.com/apache/beam/issues?q=is%3Aopen+is%3Aissue+label%3Ago"><code>go</code> component in GitHub Issues</a>.
diff --git a/website/generated-content/documentation/sdks/java-dependencies/index.html b/website/generated-content/documentation/sdks/java-dependencies/index.html
index 6920c626ede..b7a213d7c24 100644
--- a/website/generated-content/documentation/sdks/java-dependencies/index.html
+++ b/website/generated-content/documentation/sdks/java-dependencies/index.html
@@ -35,7 +35,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(" [...]
import additional dependencies. You need to manage your dependencies for the following reasons:</p><ul><li>Dependencies might have version collisions or incompatible classes and libraries.</li><li>Some libraries are not forward compatible. When you use these packages in your code,
you might need to pin to the appropriate versions so that those versions are used
when you run your pipeline.</li></ul><p>When problems occur with dependencies, you might see unexpected behavior in the service,
@@ -47,10 +47,10 @@ through Maven and resolving the dependencies.</p><h3 id=use-beammoduleplugingroo
dependencies for your Beam SDK version.</p><ol><li><p>Use the following link to open the <code>BeamModulePlugin.groovy</code> file.</p><pre tabindex=0><code>https://raw.githubusercontent.com/apache/beam/vBEAM_VERSION/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy
</code></pre><p class=paragraph-wrap>Replace <em>BEAM_VERSION</em> with the SDK version
that you're using. The following example provides the dependencies for the
-2.66.0 release: <a href=https://raw.githubusercontent.com/apache/beam/v2.66.0/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy target=_blank rel="noopener noreferrer">https://raw.githubusercontent.com/apache/beam/v2.66.0/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy</a>.</p></li><li><p>Under <code>project.ext.library</code>, review the list of dependencies. Some dependencies in the
+2.67.0 release: <a href=https://raw.githubusercontent.com/apache/beam/v2.67.0/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy target=_blank rel="noopener noreferrer">https://raw.githubusercontent.com/apache/beam/v2.67.0/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy</a>.</p></li><li><p>Under <code>project.ext.library</code>, review the list of dependencies. Some dependencies in the
list use version variables, such as <code>google_cloud_bigdataoss_version</code>. These variables are
defined before the <code>project.ext.library</code> map definition.</p></li></ol><h3 id=use-a-maven-project-to-resolve-dependencies>Use a Maven project to resolve dependencies</h3><p>You can retrieve the list of dependencies by creating a new project through Maven and
-then resolving the dependencies.</p><ol><li><p>In your terminal or command line, use the following command to define the Beam SDK and Java versions for the new project.</p><pre tabindex=0><code>export BEAM_VERSION=2.66.0
+then resolving the dependencies.</p><ol><li><p>In your terminal or command line, use the following command to define the Beam SDK and Java versions for the new project.</p><pre tabindex=0><code>export BEAM_VERSION=2.67.0
export JAVA_VERSION=11
</code></pre></li><li><p>Create the project.</p><pre tabindex=0><code>mvn archetype:generate \
-DinteractiveMode=false \
diff --git a/website/generated-content/documentation/sdks/java-extensions/index.html b/website/generated-content/documentation/sdks/java-extensions/index.html
index f2ecdcef104..8a34dc20c21 100644
--- a/website/generated-content/documentation/sdks/java-extensions/index.html
+++ b/website/generated-content/documentation/sdks/java-extensions/index.html
@@ -35,7 +35,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(" [...]
is to simplify the most common cases of join to a simple function call.</p><p>The functions are generic and support joins of any Beam-supported types.
Input to the join functions are <code>PCollections</code> of <code>Key</code> / <code>Value</code>s. Both
the left and right <code>PCollection</code>s need the same type for the key. All the join
diff --git a/website/generated-content/documentation/sdks/java-multi-language-pipelines/index.html b/website/generated-content/documentation/sdks/java-multi-language-pipelines/index.html
index cdec350af28..f949a0a026a 100644
--- a/website/generated-content/documentation/sdks/java-multi-language-pipelines/index.html
+++ b/website/generated-content/documentation/sdks/java-multi-language-pipelines/index.html
@@ -35,7 +35,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(" [...]
with the Apache Beam SDK for Java. For a more complete discussion of the topic,
see
<a href=/documentation/programming-guide/#multi-language-pipelines>Multi-language pipelines</a>.</p><p>A <em>multi-language pipeline</em> is a pipeline that’s built in one Beam SDK language
diff --git a/website/generated-content/documentation/sdks/java-thirdparty/index.html b/website/generated-content/documentation/sdks/java-thirdparty/index.html
index 63ba52473f5..c31808b7904 100644
--- a/website/generated-content/documentation/sdks/java-thirdparty/index.html
+++ b/website/generated-content/documentation/sdks/java-thirdparty/index.html
@@ -35,7 +35,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(" [...]
the webserver. The format of these log files is a configuration option in the Apache HTTPD server so parsing this
into useful data elements is normally very hard to do.</p><p>To solve this problem in an easy way a library was created that works in combination with Apache Beam
and is capable of doing this for both the Apache HTTPD and NGINX.</p><p>The basic idea is that the logformat specification is the schema used to create the line.
diff --git a/website/generated-content/documentation/sdks/java/euphoria/index.html b/website/generated-content/documentation/sdks/java/euphoria/index.html
index 0e9a47bd5ce..c2df841b677 100644
--- a/website/generated-content/documentation/sdks/java/euphoria/index.html
+++ b/website/generated-content/documentation/sdks/java/euphoria/index.html
@@ -35,7 +35,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(" [...]
In 2015, <a href=https://www.vldb.org/pvldb/vol8/p1792-Akidau.pdf>DataFlow whitepaper</a> inspired original authors to go one step further and also provide the unified API for both stream and batch processing.
The API has been open-sourced in 2016 and is still in active development. As the Beam’s community goal was very similar, we decided to contribute
the API as a high level DSL over Beam Java SDK and share our effort with the community.</p><p>Euphoria DSL integration is still work in progress and is tracked as part of <a href=https://issues.apache.org/jira/browse/BEAM-3900>BEAM-3900</a>.</p><h2 id=wordcount-example>WordCount Example</h2><p>Lets start with the small example.<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 [...]
diff --git a/website/generated-content/documentation/sdks/java/index.html b/website/generated-content/documentation/sdks/java/index.html
index 6a8e902e26f..3c933a4921c 100644
--- a/website/generated-content/documentation/sdks/java/index.html
+++ b/website/generated-content/documentation/sdks/java/index.html
@@ -35,7 +35,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(" [...]
<a href=https://www.apache.org>The Apache Software Foundation</a>
| <a href=/privacy_policy>Privacy Policy</a>
| <a href=/feed.xml>RSS Feed</a><br><br>Apache Beam, Apache, Beam, the Beam logo, and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation. All other products or name brands are trademarks of their respective holders, including The Apache Software Foundation.</div></div><div class="footer__cols__col footer__cols__col__logos"><div class=footer__cols__col--group><div class=footer__cols__col__logo><a href=https://github.com/apache/beam><im [...]
\ No newline at end of file
diff --git a/website/generated-content/documentation/sdks/java/testing/nexmark/index.html b/website/generated-content/documentation/sdks/java/testing/nexmark/index.html
index d42f8d02ea4..4c3787833db 100644
--- a/website/generated-content/documentation/sdks/java/testing/nexmark/index.html
+++ b/website/generated-content/documentation/sdks/java/testing/nexmark/index.html
@@ -35,7 +35,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(" [...]
queries in <a href=https://web.archive.org/web/20100620010601/http://datalab.cs.pdx.edu/niagaraST/NEXMark/>Nexmark research
paper</a></p><p>These are multiple queries over a three entities model representing on online
auction system:</p><ul><li><strong>Person</strong> represents a person submitting an item for auction and/or making
@@ -103,7 +103,7 @@ or may be published to Pub/Sub or Kafka.</p><p>The query results may be:</p><ul>
--stagingLocation=gs://<a gs path for staging> \
--runner=DataflowRunner \
--tempLocation=gs://<a gs path for temporary files> \
---filesToStage=target/beam-sdks-java-nexmark-2.66.0.jar
+--filesToStage=target/beam-sdks-java-nexmark-2.67.0.jar
</code></pre><h3 id=direct-runner-specific-configuration>Direct runner specific configuration</h3><pre><code>--manageResources=false --monitorJobs=true \
--enforceEncodability=false --enforceImmutability=false
</code></pre><h3 id=flink-runner-specific-configuration>Flink runner specific configuration</h3><pre><code>--manageResources=false --monitorJobs=true \
@@ -224,7 +224,7 @@ PUBSUB_TOPCI=<existing pubsub topic>
--driver-memory 512m \
--executor-memory 512m \
--executor-cores 1 \
- sdks/java/testing/nexmark/build/libs/beam-sdks-java-nexmark-2.66.0-spark.jar \
+ sdks/java/testing/nexmark/build/libs/beam-sdks-java-nexmark-2.67.0-spark.jar \
--runner=SparkRunner \
--query=0 \
--streamTimeout=60 \
diff --git a/website/generated-content/documentation/sdks/java/testing/tpcds/index.html b/website/generated-content/documentation/sdks/java/testing/tpcds/index.html
index 02b25592fde..d3b34eef72c 100644
--- a/website/generated-content/documentation/sdks/java/testing/tpcds/index.html
+++ b/website/generated-content/documentation/sdks/java/testing/tpcds/index.html
@@ -35,7 +35,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(" [...]
including queries and data maintenance. The benchmark provides a representative evaluation of performance as a general
purpose decision support system.”</p></blockquote><p>In general, TPC-DS is:</p><ul><li>Industry standard benchmark (OLAP/Data Warehouse);<ul><li><a href=https://www.tpc.org/tpcds/>https://www.tpc.org/tpcds/</a></li></ul></li><li>Implemented for many analytical processing systems - RDBMS, Apache Spark, Apache Flink, etc;</li><li>It provides a wide range of different queries (SQL);</li><li>It incorporates the tools to generate input data of different sizes.</li></ul><h2 id=table-sche [...]
sales channels: stores, catalogs, and the Internet. The schema includes seven fact tables:</p><ul><li>A pair of fact tables focused on the product sales and returns for each of the three channels</li><li>A single fact table that models inventory for the catalog and internet sales channels.</li></ul><p>In addition, the schema includes 17 dimension tables that are associated with all sales channels.</p></blockquote><h3 id=tables>Tables</h3><ul><li><strong>store_sales</strong> - Every row r [...]
diff --git a/website/generated-content/documentation/sdks/python-custom-multi-language-pipelines-guide/index.html b/website/generated-content/documentation/sdks/python-custom-multi-language-pipelines-guide/index.html
index d016101e6c4..cca5d177b12 100644
--- a/website/generated-content/documentation/sdks/python-custom-multi-language-pipelines-guide/index.html
+++ b/website/generated-content/documentation/sdks/python-custom-multi-language-pipelines-guide/index.html
@@ -35,7 +35,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(" [...]
</span></span><span class=line><span class=cl> <span class=n>String</span> <span class=nf>identifier</span><span class=o>();</span>
</span></span><span class=line><span class=cl>
</span></span><span class=line><span class=cl> <span class=n>SchemaTransform</span> <span class=nf>from</span><span class=o>(</span><span class=n>T</span> <span class=n>configuration</span><span class=o>);</span>
diff --git a/website/generated-content/documentation/sdks/python-dependencies/index.html b/website/generated-content/documentation/sdks/python-dependencies/index.html
index af5f27bc8c7..70d8a295819 100644
--- a/website/generated-content/documentation/sdks/python-dependencies/index.html
+++ b/website/generated-content/documentation/sdks/python-dependencies/index.html
@@ -35,14 +35,14 @@
<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(" [...]
-</code></pre><p class=paragraph-wrap>Replace `<VERSION_NUMBER>` with the major.minor.patch version of the SDK. For example, <a href=https://github.com/apache/beam/blob/release-2.66.0/sdks/python/setup.py target=_blank rel="noopener noreferrer">https://github.com/apache/beam/blob/release-2.66.0/sdks/python/setup.py</a> provides the dependencies for the 2.66.0 release.</p></li><li><p>Review the core dependency list under <code>REQUIRED_PACKAGES</code>.</p><p><strong>Note:</strong> If yo [...]
+<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(" [...]
+</code></pre><p class=paragraph-wrap>Replace `<VERSION_NUMBER>` with the major.minor.patch version of the SDK. For example, <a href=https://github.com/apache/beam/blob/release-2.67.0/sdks/python/setup.py target=_blank rel="noopener noreferrer">https://github.com/apache/beam/blob/release-2.67.0/sdks/python/setup.py</a> provides the dependencies for the 2.67.0 release.</p></li><li><p>Review the core dependency list under <code>REQUIRED_PACKAGES</code>.</p><p><strong>Note:</strong> If yo [...]
</code></pre></li><li><p><a href=/get-started/quickstart-py/#download-and-install>Install the Beam Python SDK</a>.</p></li><li><p>Retrieve the list of dependencies.</p><pre tabindex=0><code>$ pip install pipdeptree && pipdeptree -p apache-beam
</code></pre></li></ol><p>If you have a <code>docker</code> installation, you can inspect the dependencies
preinstalled in Beam Python SDK <a href=/documentation/runtime/environments/>container
images</a> by creating a container from an
image, for example: <code>docker run --rm -it --entrypoint=/bin/sh apache/beam_python3.10_sdk:2.55.0 -c "pip list"</code>.</p><p>You can also find the list of the dependencies installed in Beam containers in
-<code>base_image_requirements.txt</code> files in the <a href=https://github.com/apache/beam/blob/release-2.66.0/sdks/python/container>Beam repository</a> for a corresponding Beam release branch and Python minor version.</p></div></div><footer class=footer><div class=footer__contained><div class=footer__cols><div class="footer__cols__col footer__cols__col__logos"><div class=footer__cols__col__logo><img src=/images/beam_logo_circle.svg class=footer__logo alt="Beam logo"></div><div class=f [...]
+<code>base_image_requirements.txt</code> files in the <a href=https://github.com/apache/beam/blob/release-2.67.0/sdks/python/container>Beam repository</a> for a corresponding Beam release branch and Python minor version.</p></div></div><footer class=footer><div class=footer__contained><div class=footer__cols><div class="footer__cols__col footer__cols__col__logos"><div class=footer__cols__col__logo><img src=/images/beam_logo_circle.svg class=footer__logo alt="Beam logo"></div><div class=f [...]
<a href=https://www.apache.org>The Apache Software Foundation</a>
| <a href=/privacy_policy>Privacy Policy</a>
| <a href=/feed.xml>RSS Feed</a><br><br>Apache Beam, Apache, Beam, the Beam logo, and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation. All other products or name brands are trademarks of their respective holders, including The Apache Software Foundation.</div></div><div class="footer__cols__col footer__cols__col__logos"><div class=footer__cols__col--group><div class=footer__cols__col__logo><a href=https://github.com/apache/beam><im [...]
\ No newline at end of file
diff --git a/website/generated-content/documentation/sdks/python-multi-language-pipelines/index.html b/website/generated-content/documentation/sdks/python-multi-language-pipelines/index.html
index 309ff450b17..06157b9221f 100644
--- a/website/generated-content/documentation/sdks/python-multi-language-pipelines/index.html
+++ b/website/generated-content/documentation/sdks/python-multi-language-pipelines/index.html
@@ -35,7 +35,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(" [...]
</span></span><span class=line><span class=cl>
</span></span><span class=line><span class=cl> <span class=kd>final</span> <span class=n>String</span> <span class=n>prefix</span><span class=o>;</span>
</span></span><span class=line><span class=cl>
diff --git a/website/generated-content/documentation/sdks/python-pipeline-dependencies/index.html b/website/generated-content/documentation/sdks/python-pipeline-dependencies/index.html
index fd31a942fcb..acb6e23d1e9 100644
--- a/website/generated-content/documentation/sdks/python-pipeline-dependencies/index.html
+++ b/website/generated-content/documentation/sdks/python-pipeline-dependencies/index.html
@@ -35,7 +35,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(" [...]
<code>requirements.txt</code> file. For more complex scenarios, define the <a href=#multiple-file-dependencies>pipeline in a package</a> and consider installing your dependencies in a <a href=#custom-containers>custom container</a>.</p><p>To supply a requirements.txt file:</p><ol><li><p>Find out which packages are installed on your machine. Run the following command:</p><pre><code> pip freeze > requirements.txt
</code></pre><p>This command creates a <code>requirements.txt</code> file that lists all packages that are installed on your machine, regardless of where they were installed from.</p></li><li><p>Edit the <code>requirements.txt</code> file and delete all packages that are not relevant to your code.</p></li><li><p>Run your pipeline with the following command-line option:</p><pre><code> --requirements_file requirements.txt
</code></pre><p>The runner will use the <code>requirements.txt</code> file to install your additional dependencies onto the remote workers.</p></li></ol><blockquote><p><strong>NOTE</strong>: As an alternative to <code>pip freeze</code>, use a library like <a href=https://github.com/jazzband/pip-tools>pip-tools</a> to compile all of the dependencies required for the pipeline from a <code>requirements.in</code> file. In the <code>requirements.in</code> file, only the top-level dependencies [...]
diff --git a/website/generated-content/documentation/sdks/python-streaming/index.html b/website/generated-content/documentation/sdks/python-streaming/index.html
index dfa0cd976f3..21d5c023cc4 100644
--- a/website/generated-content/documentation/sdks/python-streaming/index.html
+++ b/website/generated-content/documentation/sdks/python-streaming/index.html
@@ -35,7 +35,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(" [...]
<a href=#unsupported-features>limitations</a>) starting with Beam SDK version 2.5.0.</p><h2 id=why-use-streaming-execution>Why use streaming execution?</h2><p>Beam creates an unbounded PCollection if your pipeline reads from a streaming or
continuously-updating data source (such as Cloud Pub/Sub). A runner must
process an unbounded PCollection using a streaming job that runs continuously,
diff --git a/website/generated-content/documentation/sdks/python-type-safety/index.html b/website/generated-content/documentation/sdks/python-type-safety/index.html
index 067b1369992..e2af7e5ced4 100644
--- a/website/generated-content/documentation/sdks/python-type-safety/index.html
+++ b/website/generated-content/documentation/sdks/python-type-safety/index.html
@@ -35,7 +35,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(" [...]
The Beam SDK for Python implements a subset of <a href=https://www.python.org/dev/peps/pep-0484/>PEP 484</a> and aims to follow it as closely as possible in its own typehints module.</p><p>These flags control Beam type safety:</p><ul><li><p><code>--no_pipeline_type_check</code></p><p>Disables type checking during pipeline construction.
Default is to perform these checks.</p></li><li><p><code>--runtime_type_check</code></p><p>Enables runtime type checking of every element.
This may affect pipeline performance, so the default is to skip these checks.</p></li><li><p><code>--type_check_additional</code></p><p>Enables additional type checks. These are no enabled by default to preserve
diff --git a/website/generated-content/documentation/sdks/python-unrecoverable-errors/index.html b/website/generated-content/documentation/sdks/python-unrecoverable-errors/index.html
index c7bfc9edba5..632a9f1fdbb 100644
--- a/website/generated-content/documentation/sdks/python-unrecoverable-errors/index.html
+++ b/website/generated-content/documentation/sdks/python-unrecoverable-errors/index.html
@@ -35,7 +35,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(" [...]
prevent jobs from ever running successfully. The problem usually stems
from a misconfiguration. This page provides context about
common errors and troubleshooting information.</p><h2 id=python-version-mismatch>Job submission or Python runtime version mismatch</h2><p>If the Python version that you use to submit your job doesn’t match the
diff --git a/website/generated-content/documentation/sdks/python/index.html b/website/generated-content/documentation/sdks/python/index.html
index 0d353920209..65b04f5ee2f 100644
--- a/website/generated-content/documentation/sdks/python/index.html
+++ b/website/generated-content/documentation/sdks/python/index.html
@@ -35,7 +35,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(" [...]
is available (with some <a href=/documentation/sdks/python-streaming/#unsupported-features>limitations</a>)
starting with Beam SDK version 2.5.0.</p><h2 id=python-type-safety>Python type safety</h2><p>Python is a dynamically-typed language with no static type checking. The Beam SDK for Python uses type hints during pipeline construction and runtime to try to emulate the correctness guarantees achieved by true static typing. <a href=/documentation/sdks/python-type-safety>Ensuring Python Type Safety</a> walks through how to use type hints, which help you to catch potential bugs up front with the [...]
new I/O connectors. See the <a href=/documentation/io/developing-io-overview>Developing I/O connectors overview</a>
diff --git a/website/generated-content/documentation/sdks/scala/index.html b/website/generated-content/documentation/sdks/scala/index.html
index a416e3341c3..c2c39e188a6 100644
--- a/website/generated-content/documentation/sdks/scala/index.html
+++ b/website/generated-content/documentation/sdks/scala/index.html
@@ -35,7 +35,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(" [...]
Scio aims to be a thin wrapper on top of Beam while offering idiomatic Scala style API.</p><p>Learn more about Scio <a href=https://spotify.github.io/scio/>here</a>.</p></div></div><footer class=footer><div class=footer__contained><div class=footer__cols><div class="footer__cols__col footer__cols__col__logos"><div class=footer__cols__col__logo><img src=/images/beam_logo_circle.svg class=footer__logo alt="Beam logo"></div><div class=footer__cols__col__logo><img src=/images/apache_logo_cir [...]
<a href=https://www.apache.org>The Apache Software Foundation</a>
| <a href=/privacy_policy>Privacy Policy</a>
diff --git a/website/generated-content/documentation/sdks/typescript/index.html b/website/generated-content/documentation/sdks/typescript/index.html
index 309d31b7849..6d88c8f8f0c 100644
--- a/website/generated-content/documentation/sdks/typescript/index.html
+++ b/website/generated-content/documentation/sdks/typescript/index.html
@@ -35,7 +35,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(" [...]
to set up your development environment, get the Beam SDK for Typescript, and run an example pipeline.
Then, read through the <a href=/documentation/programming-guide>Beam programming guide</a>
to learn the basic concepts that apply to all SDKs in Beam.</p><h2 id=overview>Overview</h2><p>We generally try to apply the concepts from the Beam API in a TypeScript
diff --git a/website/generated-content/documentation/sdks/yaml-combine/index.html b/website/generated-content/documentation/sdks/yaml-combine/index.html
index cd6e11f9e3e..99b50a83ce6 100644
--- a/website/generated-content/documentation/sdks/yaml-combine/index.html
+++ b/website/generated-content/documentation/sdks/yaml-combine/index.html
@@ -35,7 +35,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(" [...]
values across records. The is accomplished via the <code>Combine</code> transform type.</p><p>For example, one can write</p><pre tabindex=0><code>- type: Combine
config:
group_by: col1
diff --git a/website/generated-content/documentation/sdks/yaml-errors/index.html b/website/generated-content/documentation/sdks/yaml-errors/index.html
index f7c3d0aa8d1..82042b6f753 100644
--- a/website/generated-content/documentation/sdks/yaml-errors/index.html
+++ b/website/generated-content/documentation/sdks/yaml-errors/index.html
@@ -35,7 +35,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(" [...]
data that is malformatted, doesn’t handle the proper preconditions, or otherwise
breaks during processing. Generally any such record will cause the pipeline to
permanently fail, but often it is desirable to allow the pipeline to continue,
diff --git a/website/generated-content/documentation/sdks/yaml-inline-python/index.html b/website/generated-content/documentation/sdks/yaml-inline-python/index.html
index 5b23b73df4e..b92c0849738 100644
--- a/website/generated-content/documentation/sdks/yaml-inline-python/index.html
+++ b/website/generated-content/documentation/sdks/yaml-inline-python/index.html
@@ -35,7 +35,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(" [...]
<code>PyTransform</code> type, simply referencing them by fully qualified name.
For example,</p><pre tabindex=0><code>- type: PyTransform
config:
diff --git a/website/generated-content/documentation/sdks/yaml-join/index.html b/website/generated-content/documentation/sdks/yaml-join/index.html
index 51c916d0d22..2453f0e2ad2 100644
--- a/website/generated-content/documentation/sdks/yaml-join/index.html
+++ b/website/generated-content/documentation/sdks/yaml-join/index.html
@@ -35,7 +35,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(" [...]
following pipeline joins the First Input pcollection and Second Input
pcollection when col1 in First Input is equal to col2 in Second Input.</p><pre tabindex=0><code>- type: Join
input:
diff --git a/website/generated-content/documentation/sdks/yaml-providers/index.html b/website/generated-content/documentation/sdks/yaml-providers/index.html
index 69a0e6cd1a9..f8c0454b694 100644
--- a/website/generated-content/documentation/sdks/yaml-providers/index.html
+++ b/website/generated-content/documentation/sdks/yaml-providers/index.html
@@ -35,7 +35,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(" [...]
that people will need to author their own. This is made possible
through the notion of Providers which leverage expansion services and
vend catalogues of schema transforms.</p><h2 id=java>Java</h2><p>Exposing transform in Java that can be used in a YAML pipeline consists of
diff --git a/website/generated-content/documentation/sdks/yaml-testing/index.html b/website/generated-content/documentation/sdks/yaml-testing/index.html
index 34e70e5f34b..34d20e1be47 100644
--- a/website/generated-content/documentation/sdks/yaml-testing/index.html
+++ b/website/generated-content/documentation/sdks/yaml-testing/index.html
@@ -35,7 +35,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(" [...]
Though the various built-in (and externally provided) transform in a Beam YAML
pipeline can be expected to be well tested, it can be important to have tests
that ensure the pipeline as a whole behaves as expected. This is particularly
diff --git a/website/generated-content/documentation/sdks/yaml-udf/index.html b/website/generated-content/documentation/sdks/yaml-udf/index.html
index edf2da24bc5..f9b30be3d09 100644
--- a/website/generated-content/documentation/sdks/yaml-udf/index.html
+++ b/website/generated-content/documentation/sdks/yaml-udf/index.html
@@ -35,7 +35,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(" [...]
get data into the correct shape. The simplest of these is <code>MapToFields</code>
which creates records with new fields defined in terms of the input fields.</p><h2 id=field-renames>Field renames</h2><p>To rename fields one can write</p><pre tabindex=0><code>- type: MapToFields
config:
diff --git a/website/generated-content/documentation/sdks/yaml/index.html b/website/generated-content/documentation/sdks/yaml/index.html
index b2b35103a36..b517136ab7b 100644
--- a/website/generated-content/documentation/sdks/yaml/index.html
+++ b/website/generated-content/documentation/sdks/yaml/index.html
@@ -35,7 +35,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(" [...]
YAML files. You can use Beam YAML to author and run a Beam pipeline without
writing any code.</p><h2 id=overview>Overview</h2><p>Beam provides a powerful model for creating sophisticated data processing
pipelines. However, getting started with Beam programming can be challenging
diff --git a/website/generated-content/get-started/downloads/index.html b/website/generated-content/get-started/downloads/index.html
index c4b3a2eb4db..df4f3b0e3c7 100644
--- a/website/generated-content/get-started/downloads/index.html
+++ b/website/generated-content/get-started/downloads/index.html
@@ -35,26 +35,26 @@
<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(" [...]
central repository. The Java SDK is available on <a href=https://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.apache.beam%22>Maven Central Repository</a>,
and the Python SDK is available on <a href=https://pypi.python.org/pypi/apache-beam>PyPI</a>.</p><p>For example, if you are developing using Maven and want to use the SDK for Java
with the <code>DirectRunner</code>, add the following dependencies to your <code>pom.xml</code> file:</p><pre><code><dependency>
<groupId>org.apache.beam</groupId>
<artifactId>beam-sdks-java-core</artifactId>
- <version>2.66.0</version>
+ <version>2.67.0</version>
</dependency>
<dependency>
<groupId>org.apache.beam</groupId>
<artifactId>beam-runners-direct-java</artifactId>
- <version>2.66.0</version>
+ <version>2.67.0</version>
<scope>runtime</scope>
</dependency>
</code></pre><p>Similarly in Python, if you are using PyPI and want to use the SDK for Python
-with <code>DirectRunner</code>, add the following requirement to your <code>setup.py</code> file:</p><pre><code>apache-beam==2.66.0
+with <code>DirectRunner</code>, add the following requirement to your <code>setup.py</code> file:</p><pre><code>apache-beam==2.67.0
</code></pre><p>Additionally, you may want to depend on additional SDK modules, such as IO
connectors or other extensions, and additional runners to execute your pipeline
at scale.</p><p>The Go SDK is accessible via Go Modules and calling <code>go get</code> from a module subdirectory:</p><pre><code> go get github.com/apache/beam/sdks/v2/go/pkg/beam
-</code></pre><p>Specific versions can be depended on similarly:</p><pre><code> go get github.com/apache/beam/sdks/v2@v2.66.0/go/pkg/beam
+</code></pre><p>Specific versions can be depended on similarly:</p><pre><code> go get github.com/apache/beam/sdks/v2@v2.67.0/go/pkg/beam
</code></pre><h2 id=downloading-source-code>Downloading source code</h2><p>You can download the source code package for a release from the links in the
<a href=#releases>Releases</a> section.</p><h3 id=release-integrity>Release integrity</h3><p>You <em>must</em> <a href=https://www.apache.org/info/verification.html>verify</a> the integrity
of downloaded files. We provide OpenPGP signatures for every release file. This
@@ -66,11 +66,13 @@ download the file, you should calculate a checksum for your download, and make
sure it is the same as ours.</p><h2 id=api-stability>API stability</h2><p>Apache Beam generally follows the rules of
<a href=https://semver.org/>semantic versioning</a> with exceptions. Version numbers use
the form <code>major.minor.patch</code> and are incremented as follows:</p><ul><li>major version for incompatible API changes</li><li>minor version for new functionality added in a backward-compatible manner, infrequent incompatible API changes</li><li>patch version for forward-compatible bug fixes</li></ul><p>Additionally, any API may change before the first stable release, i.e., between
-versions denoted <code>0.x.y</code>.</p><h2 id=releases>Releases</h2><h3 id=2660-2025-07-01>2.66.0 (2025-07-01)</h3><p>Official <a href=https://archive.apache.org/dist/beam/2.66.0/apache-beam-2.66.0-source-release.zip>source code download</a>.
-<a href=https://downloads.apache.org/beam/2.66.0/apache-beam-2.66.0-source-release.zip.sha512>SHA-512</a>.
-<a href=https://downloads.apache.org/beam/2.66.0/apache-beam-2.66.0-source-release.zip.asc>signature</a>.</p><p><a href=https://github.com/apache/beam/releases/tag/v2.66.0>Release notes</a></p><h3 id=2650-2025-05-12>2.65.0 (2025-05-12)</h3><p>Official <a href=https://archive.apache.org/dist/beam/2.65.0/apache-beam-2.65.0-source-release.zip>source code download</a>.
-<a href=https://downloads.apache.org/beam/2.65.0/apache-beam-2.65.0-source-release.zip.sha512>SHA-512</a>.
-<a href=https://downloads.apache.org/beam/2.65.0/apache-beam-2.65.0-source-release.zip.asc>signature</a>.</p><p><a href=https://github.com/apache/beam/releases/tag/v2.65.0>Release notes</a></p><h3 id=2640-2025-03-31>2.64.0 (2025-03-31)</h3><p>Official <a href=https://archive.apache.org/dist/beam/2.64.0/apache-beam-2.64.0-source-release.zip>source code download</a>.
+versions denoted <code>0.x.y</code>.</p><h2 id=releases>Releases</h2><h3 id=2670-2025-08-12>2.67.0 (2025-08-12)</h3><p>Official <a href=https://archive.apache.org/dist/beam/2.67.0/apache-beam-2.67.0-source-release.zip>source code download</a>.
+<a href=https://archive.apache.org/dist/beam/2.67.0/apache-beam-2.67.0-source-release.zip.sha512>SHA-512</a>.
+<a href=https://archive.apache.org/dist/beam/2.67.0/apache-beam-2.67.0-source-release.zip.asc>signature</a>.</p><p><a href=https://github.com/apache/beam/releases/tag/v2.67.0>Release notes</a></p><h3 id=2660-2025-07-01>2.66.0 (2025-07-01)</h3><p>Official <a href=https://archive.apache.org/dist/beam/2.66.0/apache-beam-2.66.0-source-release.zip>source code download</a>.
+<a href=https://archive.apache.org/dist/beam/2.66.0/apache-beam-2.66.0-source-release.zip.sha512>SHA-512</a>.
+<a href=https://archive.apache.org/dist/beam/2.66.0/apache-beam-2.66.0-source-release.zip.asc>signature</a>.</p><p><a href=https://github.com/apache/beam/releases/tag/v2.66.0>Release notes</a></p><h3 id=2650-2025-05-12>2.65.0 (2025-05-12)</h3><p>Official <a href=https://archive.apache.org/dist/beam/2.65.0/apache-beam-2.65.0-source-release.zip>source code download</a>.
+<a href=https://archive.apache.org/dist/beam/2.65.0/apache-beam-2.65.0-source-release.zip.sha512>SHA-512</a>.
+<a href=https://archive.apache.org/dist/beam/2.65.0/apache-beam-2.65.0-source-release.zip.asc>signature</a>.</p><p><a href=https://github.com/apache/beam/releases/tag/v2.65.0>Release notes</a></p><h3 id=2640-2025-03-31>2.64.0 (2025-03-31)</h3><p>Official <a href=https://archive.apache.org/dist/beam/2.64.0/apache-beam-2.64.0-source-release.zip>source code download</a>.
<a href=https://archive.apache.org/dist/beam/2.64.0/apache-beam-2.64.0-source-release.zip.sha512>SHA-512</a>.
<a href=https://archive.apache.org/dist/beam/2.64.0/apache-beam-2.64.0-source-release.zip.asc>signature</a>.</p><p><a href=https://github.com/apache/beam/releases/tag/v2.64.0>Release notes</a></p><h3 id=2630-2025-02-11>2.63.0 (2025-02-11)</h3><p>Official <a href=https://archive.apache.org/dist/beam/2.63.0/apache-beam-2.63.0-source-release.zip>source code download</a>.
<a href=https://archive.apache.org/dist/beam/2.63.0/apache-beam-2.63.0-source-release.zip.sha512>SHA-512</a>.
diff --git a/website/generated-content/get-started/index.xml b/website/generated-content/get-started/index.xml
index adb03ab74cb..640fc180f84 100644
--- a/website/generated-content/get-started/index.xml
+++ b/website/generated-content/get-started/index.xml
@@ -2018,7 +2018,7 @@ limitations under the License.
-->
<h1 id="apache-beamsupsup-downloads">Apache Beam<sup>®</sup> Downloads</h1>
<blockquote>
-<p>Beam SDK 2.66.0 is the latest released version.</p>
+<p>Beam SDK 2.67.0 is the latest released version.</p>
</blockquote>
<h2 id="using-a-central-repository">Using a central repository</h2>
<p>The easiest way to use Apache Beam is via one of the released versions in a
@@ -2029,18 +2029,18 @@ with the <code>DirectRunner</code>, add the following dependencies to your
<pre><code>&lt;dependency&gt;
&lt;groupId&gt;org.apache.beam&lt;/groupId&gt;
&lt;artifactId&gt;beam-sdks-java-core&lt;/artifactId&gt;
-&lt;version&gt;2.66.0&lt;/version&gt;
+&lt;version&gt;2.67.0&lt;/version&gt;
&lt;/dependency&gt;
&lt;dependency&gt;
&lt;groupId&gt;org.apache.beam&lt;/groupId&gt;
&lt;artifactId&gt;beam-runners-direct-java&lt;/artifactId&gt;
-&lt;version&gt;2.66.0&lt;/version&gt;
+&lt;version&gt;2.67.0&lt;/version&gt;
&lt;scope&gt;runtime&lt;/scope&gt;
&lt;/dependency&gt;
</code></pre>
<p>Similarly in Python, if you are using PyPI and want to use the SDK for Python
with <code>DirectRunner</code>, add the following requirement to your <code>setup.py</code> file:</p>
-<pre><code>apache-beam==2.66.0
+<pre><code>apache-beam==2.67.0
</code></pre>
<p>Additionally, you may want to depend on additional SDK modules, such as IO
connectors or other extensions, and additional runners to execute your pipeline
@@ -2049,7 +2049,7 @@ at scale.</p>
<pre><code> go get github.com/apache/beam/sdks/v2/go/pkg/beam
</code></pre>
<p>Specific versions can be depended on similarly:</p>
-<pre><code> go get github.com/apache/beam/sdks/v2@v2.66.0/go/pkg/beam
+<pre><code> go get github.com/apache/beam/sdks/v2@v2.67.0/go/pkg/beam
</code></pre>
<h2 id="downloading-source-code">Downloading source code</h2>
<p>You can download the source code package for a release from the links in the
@@ -2075,15 +2075,20 @@ the form <code>major.minor.patch</code> and are incremented as follows:<
<p>Additionally, any API may change before the first stable release, i.e., between
versions denoted <code>0.x.y</code>.</p>
<h2 id="releases">Releases</h2>
+<h3 id="2670-2025-08-12">2.67.0 (2025-08-12)</h3>
+<p>Official <a href="https://archive.apache.org/dist/beam/2.67.0/apache-beam-2.67.0-source-release.zip">source code download</a>.
+<a href="https://archive.apache.org/dist/beam/2.67.0/apache-beam-2.67.0-source-release.zip.sha512">SHA-512</a>.
+<a href="https://archive.apache.org/dist/beam/2.67.0/apache-beam-2.67.0-source-release.zip.asc">signature</a>.</p>
+<p><a href="https://github.com/apache/beam/releases/tag/v2.67.0">Release notes</a></p>
<h3 id="2660-2025-07-01">2.66.0 (2025-07-01)</h3>
<p>Official <a href="https://archive.apache.org/dist/beam/2.66.0/apache-beam-2.66.0-source-release.zip">source code download</a>.
-<a href="https://downloads.apache.org/beam/2.66.0/apache-beam-2.66.0-source-release.zip.sha512">SHA-512</a>.
-<a href="https://downloads.apache.org/beam/2.66.0/apache-beam-2.66.0-source-release.zip.asc">signature</a>.</p>
+<a href="https://archive.apache.org/dist/beam/2.66.0/apache-beam-2.66.0-source-release.zip.sha512">SHA-512</a>.
+<a href="https://archive.apache.org/dist/beam/2.66.0/apache-beam-2.66.0-source-release.zip.asc">signature</a>.</p>
<p><a href="https://github.com/apache/beam/releases/tag/v2.66.0">Release notes</a></p>
<h3 id="2650-2025-05-12">2.65.0 (2025-05-12)</h3>
<p>Official <a href="https://archive.apache.org/dist/beam/2.65.0/apache-beam-2.65.0-source-release.zip">source code download</a>.
-<a href="https://downloads.apache.org/beam/2.65.0/apache-beam-2.65.0-source-release.zip.sha512">SHA-512</a>.
-<a href="https://downloads.apache.org/beam/2.65.0/apache-beam-2.65.0-source-release.zip.asc">signature</a>.</p>
+<a href="https://archive.apache.org/dist/beam/2.65.0/apache-beam-2.65.0-source-release.zip.sha512">SHA-512</a>.
+<a href="https://archive.apache.org/dist/beam/2.65.0/apache-beam-2.65.0-source-release.zip.asc">signature</a>.</p>
<p><a href="https://github.com/apache/beam/releases/tag/v2.65.0">Release notes</a></p>
<h3 id="2640-2025-03-31">2.64.0 (2025-03-31)</h3>
<p>Official <a href="https://archive.apache.org/dist/beam/2.64.0/apache-beam-2.64.0-source-release.zip">source code download</a>.
@@ -4486,7 +4491,7 @@ python -m apache_beam.examples.streaming_wordcount \
<h3 id="reading-an-unbounded-dataset">Reading an unbounded dataset</h3>
<p>This example uses an unbounded dataset as input. The code reads Pub/Sub
messages from a Pub/Sub subscription or topic using
-<a href="https://beam.apache.org/releases/pydoc/2.66.0/apache_beam.io.gcp.pubsub.html#apache_beam.io.gcp.pubsub.ReadFromPubSub"><code>beam.io.ReadFromPubSub</code></a>.</p>
+<a href="https://beam.apache.org/releases/pydoc/2.67.0/apache_beam.io.gcp.pubsub.html#apache_beam.io.gcp.pubsub.ReadFromPubSub"><code>beam.io.ReadFromPubSub</code></a>.</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">
@@ -4526,7 +4531,7 @@ support only bounded output, while others support both bounded and unbounded
outputs.</p>
<p>This example uses an unbounded <code>PCollection</code> and streams the results to
Google Pub/Sub. The code formats the results and writes them to a Pub/Sub topic
-using <a href="https://beam.apache.org/releases/pydoc/2.66.0/apache_beam.io.gcp.pubsub.html#apache_beam.io.gcp.pubsub.WriteToPubSub"><code>beam.io.WriteToPubSub</code></a>.</p>
+using <a href="https://beam.apache.org/releases/pydoc/2.67.0/apache_beam.io.gcp.pubsub.html#apache_beam.io.gcp.pubsub.WriteToPubSub"><code>beam.io.WriteToPubSub</code></a>.</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">
@@ -5537,7 +5542,7 @@ for your operating system.</li>
<pre tabindex="0"><code class="language-unix" data-lang="unix">mvn archetype:generate \
-DarchetypeGroupId=org.apache.beam \
-DarchetypeArtifactId=beam-sdks-java-maven-archetypes-examples \
--DarchetypeVersion=2.66.0 \
+-DarchetypeVersion=2.67.0 \
-DgroupId=org.example \
-DartifactId=word-count-beam \
-Dversion=&#34;0.1&#34; \
@@ -5554,7 +5559,7 @@ for your operating system.</li>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-powerShell" data-lang="powerShell"><span class="line"><span class="cl"><span class="n">mvn</span> <span class="n">archetype</span><span class="err">:</span><span class="n">generate</span> <span class="p">`</span>
</span></span><span class="line"><span class="cl"> <span class="n">-D</span> <span class="n">archetypeGroupId</span><span class="p">=</span><span class="n">org</span><span class="p">.</span><span class="py">apache</span><span class="p">.</span><span class="py">beam</span> <span class="p">`</span>
</span></span><span class="line"><span class="cl"> <span class="n">-D</span> <span class="n">archetypeArtifactId</span><span class="p">=</span><span class="nb">beam-sdks</span><span class="n">-java-maven-archetypes-examples</span> <span class="p">`</span>
-</span></span><span class="line"><span class="cl"> <span class="n">-D</span> <span class="n">archetypeVersion</span><span class="p">=</span><span class="mf">2.66</span><span class="p">.</span><span class="py">0</span> <span class="p">`</span>
+</span></span><span class="line"><span class="cl"> <span class="n">-D</span> <span class="n">archetypeVersion</span><span class="p">=</span><span class="mf">2.67</span><span class="p">.</span><span class="py">0</span> <span class="p">`</span>
</span></span><span class="line"><span class="cl"> <span class="n">-D</span> <span class="n">groupId</span><span class="p">=</span><span class="n">org</span><span class="p">.</span><span class="py">example</span> <span class="p">`</span>
</span></span><span class="line"><span class="cl"> <span class="n">-D</span> <span class="n">artifactId</span><span class="p">=</span><span class="nb">word-count</span><span class="n">-beam</span> <span class="p">`</span>
</span></span><span class="line"><span class="cl"> <span class="n">-D</span> <span class="n">version</span><span class="p">=</span><span class="s2">&#34;0.1&#34;</span> <span class="p">`</span>
@@ -5671,7 +5676,7 @@ url = uri(&#34;https://packages.confluent.io/maven/&#34;)
</a>
<pre tabindex="0"><code>if (project.hasProperty(&#34;dataflow-runner&#34;)) {
dependencies {
-runtimeOnly(&#34;org.apache.beam:beam-runners-google-cloud-dataflow-java:2.66.0&#34;)
+runtimeOnly(&#34;org.apache.beam:beam-runners-google-cloud-dataflow-java:2.67.0&#34;)
}
}
</code></pre>
diff --git a/website/generated-content/get-started/quickstart-java/index.html b/website/generated-content/get-started/quickstart-java/index.html
index c67e5721b12..6c54f405672 100644
--- a/website/generated-content/get-started/quickstart-java/index.html
+++ b/website/generated-content/get-started/quickstart-java/index.html
@@ -49,7 +49,7 @@ for your operating system.</li><li>Optional: If you want to convert your Maven p
<a href=https://gradle.org/install/>Gradle</a>.</li></ol><h2 id=get-the-example-code>Get the example code</h2><ol><li><p>Generate a Maven example project that builds against the latest Beam release:<div class='shell-unix 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-unix data-lang=unix>mvn archetype:generate \
-DarchetypeGroupId=org.apache.beam \
-DarchetypeArtifactId=beam-sdks-java-maven-archetypes-examples \
- -DarchetypeVersion=2.66.0 \
+ -DarchetypeVersion=2.67.0 \
-DgroupId=org.example \
-DartifactId=word-count-beam \
-Dversion="0.1" \
@@ -58,7 +58,7 @@ for your operating system.</li><li>Optional: If you want to convert your Maven p
</code></pre></div></div><div class='shell-powerShell 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-powerShell data-lang=powerShell><span class=line><span class=cl><span class=n>mvn</span> <span class=n>archetype</span><span class=err>:</span><span class=n>generate</span> <span c [...]
</span></span><span class=line><span class=cl> <span class=n>-D</span> <span class=n>archetypeGroupId</span><span class=p>=</span><span class=n>org</span><span class=p>.</span><span class=py>apache</span><span class=p>.</span><span class=py>beam</span> <span class=p>`</span>
</span></span><span class=line><span class=cl> <span class=n>-D</span> <span class=n>archetypeArtifactId</span><span class=p>=</span><span class=nb>beam-sdks</span><span class=n>-java-maven-archetypes-examples</span> <span class=p>`</span>
-</span></span><span class=line><span class=cl> <span class=n>-D</span> <span class=n>archetypeVersion</span><span class=p>=</span><span class=mf>2.66</span><span class=p>.</span><span class=py>0</span> <span class=p>`</span>
+</span></span><span class=line><span class=cl> <span class=n>-D</span> <span class=n>archetypeVersion</span><span class=p>=</span><span class=mf>2.67</span><span class=p>.</span><span class=py>0</span> <span class=p>`</span>
</span></span><span class=line><span class=cl> <span class=n>-D</span> <span class=n>groupId</span><span class=p>=</span><span class=n>org</span><span class=p>.</span><span class=py>example</span> <span class=p>`</span>
</span></span><span class=line><span class=cl> <span class=n>-D</span> <span class=n>artifactId</span><span class=p>=</span><span class=nb>word-count</span><span class=n>-beam</span> <span class=p>`</span>
</span></span><span class=line><span class=cl> <span class=n>-D</span> <span class=n>version</span><span class=p>=</span><span class=s2>"0.1"</span> <span class=p>`</span>
@@ -84,7 +84,7 @@ also be prompted to choose a DSL (Groovy or Kotlin). For this tutorial, enter
}
</code></pre></div></div></li><li>At the end of the build script, add the following conditional dependency:<div class=snippet><div class="notebook-skip code-snippet without_switcher"><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>if (project.hasProperty("dataflow-runner")) {
dependencies {
- runtimeOnly("org.apache.beam:beam-runners-google-cloud-dataflow-java:2.66.0")
+ runtimeOnly("org.apache.beam:beam-runners-google-cloud-dataflow-java:2.67.0")
}
}
</code></pre></div></div></li><li>At the end of the build script, add the following task:<div class=snippet><div class="notebook-skip code-snippet without_switcher"><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>tasks.register<JavaExec>("execute") {
diff --git a/website/generated-content/get-started/wordcount-example/index.html b/website/generated-content/get-started/wordcount-example/index.html
index b42b02112dc..f7bb96300c4 100644
--- a/website/generated-content/get-started/wordcount-example/index.html
+++ b/website/generated-content/get-started/wordcount-example/index.html
@@ -607,7 +607,7 @@ python -m apache_beam.examples.streaming_wordcount \
<strong><a href=https://github.com/apache/beam/blob/master/sdks/python/apache_beam/examples/streaming_wordcount.py>streaming_wordcount.py</a>.</strong></p><p><strong>To run this example in Go:</strong></p><blockquote><p><strong>Note:</strong> StreamingWordCount is not yet available for the Go SDK. There is an open issue for this
(<a href=https://github.com/apache/beam/issues/18879>Issue 18879</a>).</p></blockquote><h3 id=reading-an-unbounded-dataset>Reading an unbounded dataset</h3><p>This example uses an unbounded dataset as input. The code reads Pub/Sub
messages from a Pub/Sub subscription or topic using
-<a href=https://beam.apache.org/releases/pydoc/2.66.0/apache_beam.io.gcp.pubsub.html#apache_beam.io.gcp.pubsub.ReadFromPubSub><code>beam.io.ReadFromPubSub</code></a>.</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><spa [...]
+<a href=https://beam.apache.org/releases/pydoc/2.67.0/apache_beam.io.gcp.pubsub.html#apache_beam.io.gcp.pubsub.ReadFromPubSub><code>beam.io.ReadFromPubSub</code></a>.</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><spa [...]
</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=c1># Read from Pub/Sub into a PCollection.</span>
</span></span><span class=line><span class=cl> <span class=k>if</span> <span class=n>known_args</span><span class=o>.</span><span class=n>input_subscription</span><span class=p>:</span>
</span></span><span class=line><span class=cl> <span class=n>data</span> <span class=o>=</span> <span class=n>p</span> <span class=o>|</span> <span class=n>beam</span><span class=o>.</span><span class=n>io</span><span class=o>.</span><span class=n>ReadFromPubSub</span><span class=p>(</span>
@@ -620,7 +620,7 @@ such, you must make sure to choose an appropriate I/O for the results. Some I/Os
support only bounded output, while others support both bounded and unbounded
outputs.</p><p>This example uses an unbounded <code>PCollection</code> and streams the results to
Google Pub/Sub. The code formats the results and writes them to a Pub/Sub topic
-using <a href=https://beam.apache.org/releases/pydoc/2.66.0/apache_beam.io.gcp.pubsub.html#apache_beam.io.gcp.pubsub.WriteToPubSub><code>beam.io.WriteToPubSub</code></a>.</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> [...]
+using <a href=https://beam.apache.org/releases/pydoc/2.67.0/apache_beam.io.gcp.pubsub.html#apache_beam.io.gcp.pubsub.WriteToPubSub><code>beam.io.WriteToPubSub</code></a>.</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></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=c1># Write to Pub/Sub</span>
</span></span><span class=line><span class=cl> <span class=n>_</span> <span class=o>=</span> <span class=p>(</span><span class=n>output</span>
</span></span><span class=line><span class=cl> <span class=o>|</span> <span class=s1>'EncodeString'</span> <span class=o>>></span> <span class=n>Map</span><span class=p>(</span><span class=k>lambda</span> <span class=n>s</span><span class=p>:</span> <span class=n>s</span><span class=o>.</span><span class=n>encode</span><span class=p>(</span><span class=s1>'utf-8'</span><span class=p>))</span>
diff --git a/website/generated-content/performance/index.html b/website/generated-content/performance/index.html
index ee01fd09a17..cd29258a136 100644
--- a/website/generated-content/performance/index.html
+++ b/website/generated-content/performance/index.html
@@ -40,7 +40,7 @@ various IOs.</p><h1 id=available-metrics>Available Metrics</h1><p>Various metric
<a href=/documentation/programming-guide/#metrics>Metrics API</a>
from a pipeline Job running on <a href=/documentation/runners/dataflow/>Dataflow</a>.</p><p>See the <a href=/performance/glossary>glossary</a> for a list of the metrics and their
definition.</p><h1 id=measured-beam-java-ios>Measured Beam Java IOs</h1><p>See the following pages for performance measures recorded when reading from and
-writing to various Beam IOs.</p><ul><li><a href=/performance/bigquery>BigQuery</a></li><li><a href=/performance/bigtable>BigTable</a></li><li><a href=/performance/textio>TextIO</a></li></ul><h1 id=measured-beam-python-ml-pipelines>Measured Beam Python ML Pipelines</h1><p>See the following pages for performance measures recorded when running various Beam ML pipelines.</p><h2 id=streaming>Streaming</h2><ul><li><a href=/performance/pytorchbertsentimentstreaming>PyTorch Sentiment Analysis St [...]
+writing to various Beam IOs.</p><ul><li><a href=/performance/bigquery>BigQuery</a></li><li><a href=/performance/bigtable>BigTable</a></li><li><a href=/performance/textio>TextIO</a></li></ul><h1 id=measured-beam-python-ml-pipelines>Measured Beam Python ML Pipelines</h1><p>See the following pages for performance measures recorded when running various Beam ML pipelines.</p><h2 id=streaming>Streaming</h2><ul><li><a href=/performance/pytorchbertsentimentstreaming>PyTorch Sentiment Analysis St [...]
<a href=https://www.apache.org>The Apache Software Foundation</a>
| <a href=/privacy_policy>Privacy Policy</a>
| <a href=/feed.xml>RSS Feed</a><br><br>Apache Beam, Apache, Beam, the Beam logo, and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation. All other products or name brands are trademarks of their respective holders, including The Apache Software Foundation.</div></div><div class="footer__cols__col footer__cols__col__logos"><div class=footer__cols__col--group><div class=footer__cols__col__logo><a href=https://github.com/apache/beam><im [...]
\ No newline at end of file
diff --git a/website/generated-content/performance/index.html b/website/generated-content/performance/vllmgemmabatchtesla/index.html
similarity index 54%
copy from website/generated-content/performance/index.html
copy to website/generated-content/performance/vllmgemmabatchtesla/index.html
index ee01fd09a17..abcd54c11f4 100644
--- a/website/generated-content/performance/index.html
+++ b/website/generated-content/performance/vllmgemmabatchtesla/index.html
@@ -1,4 +1,4 @@
-<!doctype html><html lang=en class=no-js><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><title>Beam IO Performance</title><meta name=description content="Apache Beam is an open source, unified model and set of language-specific SDKs for defining and executing data processing workflows, and also data ingestion and integration flows, supporting Enterprise Integration Patterns (EIPs) and Domain Sp [...]
+<!doctype html><html lang=en class=no-js><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><title>Apache Beam</title><meta name=description content="Apache Beam is an open source, unified model and set of language-specific SDKs for defining and executing data processing workflows, and also data ingestion and integration flows, supporting Enterprise Integration Patterns (EIPs) and Domain Specific L [...]
<script type=text/javascript src=/js/language-switch-v2.min.121952b7980b920320ab229551857669209945e39b05ba2b433a565385ca44c6.js defer></script>
<script type=text/javascript src=/js/fix-menu.min.039174b67107465f2090a493f91e126f7aa797f29420f9edab8a54d9dd4b3d2d.js defer></script>
<script type=text/javascript src=/js/section-nav.min.1405fd5e70fab5f6c54037c269b1d137487d8f3d1b3009032525f6db3fbce991.js defer></script>
@@ -8,7 +8,7 @@
<script type=text/javascript src=/js/calendar.min.336664054fa0f52b08bbd4e3c59b5cb6d63dcfb2b4d602839746516b0817446b.js defer></script>
<script type=text/javascript src=/js/fix-playground-nested-scroll.min.0283f1037cb1b9d5074c6eaf041292b524a8148a7cdb803d5ccd6d1fc4eb3253.js defer></script>
<script type=text/javascript src=/js/anchor-content-jump-fix.min.22d3240f81632e4c11179b9d2aaf37a40da9414333c43aa97344e8b21a7df0e4.js defer></script>
-<link rel=alternate type=application/rss+xml title="Apache Beam" href=/feed.xml><link rel=canonical href=/performance/ data-proofer-ignore><link rel="shortcut icon" type=image/x-icon href=/images/favicon.ico><link rel=stylesheet href=https://use.fontawesome.com/releases/v5.4.1/css/all.css integrity=sha384-5sAR7xN1Nv6T6+dT2mhtzEpVJvfS3NScPQTrOxhwjIuvcA67KV2R5Jz6kr4abQsz crossorigin=anonymous><link rel=stylesheet href=https://unpkg.com/swiper@8/swiper-bundle.min.css><script async src=https [...]
+<link rel=alternate type=application/rss+xml title="Apache Beam" href=/feed.xml><link rel=canonical href=/performance/vllmgemmabatchtesla/ data-proofer-ignore><link rel="shortcut icon" type=image/x-icon href=/images/favicon.ico><link rel=stylesheet href=https://use.fontawesome.com/releases/v5.4.1/css/all.css integrity=sha384-5sAR7xN1Nv6T6+dT2mhtzEpVJvfS3NScPQTrOxhwjIuvcA67KV2R5Jz6kr4abQsz crossorigin=anonymous><link rel=stylesheet href=https://unpkg.com/swiper@8/swiper-bundle.min.css><sc [...]
<script>(function(e,t,n,s,o,i){e.hj=e.hj||function(){(e.hj.q=e.hj.q||[]).push(arguments)},e._hjSettings={hjid:2182187,hjsv:6},o=t.getElementsByTagName("head")[0],i=t.createElement("script"),i.async=1,i.src=n+e._hjSettings.hjid+s+e._hjSettings.hjsv,o.appendChild(i)})(window,document,"https://static.hotjar.com/c/hotjar-",".js?sv=")</script></head><body class=body data-spy=scroll data-target=.page-nav data-offset=0><nav class="navigation-bar-mobile header navbar navbar-fixed-top"><div class [...]
<a class=navbar-link href=/get-started/>Get Started</a>
<a class=navbar-link href=/documentation/>Documentation</a>
@@ -20,7 +20,7 @@
<span class=sr-only>Toggle navigation</span>
<span class=icon-bar></span>
<span class=icon-bar></span>
-<span class=icon-bar></span></button><ul class="nav navbar-nav"><li><div class=searchBar-mobile><script>(function(){var t,n="012923275103528129024:4emlchv9wzi",e=document.createElement("script");e.type="text/javascript",e.async=!0,e.src="https://cse.google.com/cse.js?cx="+n,t=document.getElementsByTagName("script")[0],t.parentNode.insertBefore(e,t)})()</script><gcse:search></gcse:search></div></li><li><a class=navbar-link href=/about>About</a></li><li><a class=navbar-link href=/get-start [...]
+<span class=icon-bar></span></button><ul class="nav navbar-nav"><li><div class=searchBar-mobile><script>(function(){var t,n="012923275103528129024:4emlchv9wzi",e=document.createElement("script");e.type="text/javascript",e.async=!0,e.src="https://cse.google.com/cse.js?cx="+n,t=document.getElementsByTagName("script")[0],t.parentNode.insertBefore(e,t)})()</script><gcse:search></gcse:search></div></li><li><a class=navbar-link href=/about>About</a></li><li><a class=navbar-link href=/get-start [...]
Apache
<span class=arrow-icon><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="none" viewBox="0 0 20 20"><circle cx="10" cy="10" r="10" fill="#ff6d00"/><path stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8.535 5.28l4.573 4.818-4.573 4.403"/></svg></span></a><ul class="dropdown-menu dropdown-menu-right"><li><a target=_blank href=https://www.apache.org/>ASF Homepage</a></li><li><a target=_blank href=https://www.apache.org/licenses/>License</ [...]
<a class=navbar-link href=/get-started/>Get Started</a><li class="dropdown navbar-dropdown navbar-dropdown-documentation"><a href=# class="dropdown-toggle navbar-link" role=button aria-haspopup=true aria-expanded=false>Documentation
@@ -28,19 +28,17 @@
<a class=navbar-link href=/community/>Community</a>
<a class=navbar-link href=/contribute/>Contribute</a>
<a class=navbar-link href=/blog/>Blog</a>
-<a class=navbar-link href=/case-studies/>Case Studies</a></div><div id=iconsBar><a type=button onclick=showSearch()><svg xmlns="http://www.w3.org/2000/svg" width="25" height="24" fill="none" viewBox="0 0 25 24"><path stroke="#ff6d00" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.75" d="M10.191 17c3.866.0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm11 4-6-6"/></svg></a><a target=_blank href=https://github.com/apache/beam/edit/master/website/www/site/content/en/perfo [...]
+<a class=navbar-link href=/case-studies/>Case Studies</a></div><div id=iconsBar><a type=button onclick=showSearch()><svg xmlns="http://www.w3.org/2000/svg" width="25" height="24" fill="none" viewBox="0 0 25 24"><path stroke="#ff6d00" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.75" d="M10.191 17c3.866.0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm11 4-6-6"/></svg></a><a target=_blank href=https://github.com/apache/beam/edit/master/website/www/site/content/en/perfo [...]
Apache
<span class=arrow-icon><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="none" viewBox="0 0 20 20"><circle cx="10" cy="10" r="10" fill="#ff6d00"/><path stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8.535 5.28l4.573 4.818-4.573 4.403"/></svg></span></a><ul class=dropdown-menu><li><a class=navbar-dropdown-menu-link target=_blank href=https://www.apache.org/>ASF Homepage</a></li><li><a class=navbar-dropdown-menu-link target=_blank href= [...]
<a type=button onclick=endSearch()><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25"><path stroke="#ff6d00" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.75" d="M21.122 20.827 4.727 4.432M21.122 4.43 4.727 20.827"/></svg></a></div></div></nav><div class=header-push></div><div class="top-banners swiper"><div class=swiper-wrapper><div class=swiper-slide><a href=https://tour.beam.apache.org><img class=banner-img-desktop src=/imag [...]
<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(" [...]
-various IOs.</p><h1 id=available-metrics>Available Metrics</h1><p>Various metrics were gathered using the Beam SDK
-<a href=/documentation/programming-guide/#metrics>Metrics API</a>
-from a pipeline Job running on <a href=/documentation/runners/dataflow/>Dataflow</a>.</p><p>See the <a href=/performance/glossary>glossary</a> for a list of the metrics and their
-definition.</p><h1 id=measured-beam-java-ios>Measured Beam Java IOs</h1><p>See the following pages for performance measures recorded when reading from and
-writing to various Beam IOs.</p><ul><li><a href=/performance/bigquery>BigQuery</a></li><li><a href=/performance/bigtable>BigTable</a></li><li><a href=/performance/textio>TextIO</a></li></ul><h1 id=measured-beam-python-ml-pipelines>Measured Beam Python ML Pipelines</h1><p>See the following pages for performance measures recorded when running various Beam ML pipelines.</p><h2 id=streaming>Streaming</h2><ul><li><a href=/performance/pytorchbertsentimentstreaming>PyTorch Sentiment Analysis St [...]
+<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(" [...]
+<strong>Accelerator</strong>: NVIDIA Tesla T4 GPU
+<strong>Host</strong>: 3 × n1-standard-8 (8 vCPUs, 30 GB RAM)</p><p>The following graphs show various metrics when running VLLM Gemma 2b Batch Performance on Tesla T4 pipeline.
+See the <a href=/performance/glossary>glossary</a> for definitions.</p><p>Full pipeline implementation is available <a href=https://github.com/apache/beam/blob/master/sdks/python/apache_beam/examples/inference/vllm_gemma_batch.py>here</a>.</p><h2 id=what-is-the-estimated-cost-to-run-the-pipeline>What is the estimated cost to run the pipeline?</h2><div><h4>RunTime and EstimatedCost</h4><div class=performance><img src=https://storage.googleapis.com/public_looker_explores_us_a3853f40/86/tJW [...]
<a href=https://www.apache.org>The Apache Software Foundation</a>
| <a href=/privacy_policy>Privacy Policy</a>
| <a href=/feed.xml>RSS Feed</a><br><br>Apache Beam, Apache, Beam, the Beam logo, and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation. All other products or name brands are trademarks of their respective holders, including The Apache Software Foundation.</div></div><div class="footer__cols__col footer__cols__col__logos"><div class=footer__cols__col--group><div class=footer__cols__col__logo><a href=https://github.com/apache/beam><im [...]
\ No newline at end of file
diff --git a/website/generated-content/performance/vllmgemmabatchtesla/index.xml b/website/generated-content/performance/vllmgemmabatchtesla/index.xml
new file mode 100644
index 00000000000..7123afbd834
--- /dev/null
+++ b/website/generated-content/performance/vllmgemmabatchtesla/index.xml
@@ -0,0 +1 @@
+<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Apache Beam –</title><link>/performance/vllmgemmabatchtesla/</link><description>Recent content on Apache Beam</description><generator>Hugo -- gohugo.io</generator><language>en</language><atom:link href="/performance/vllmgemmabatchtesla/index.xml" rel="self" type="application/rss+xml"/></channel></rss>
\ No newline at end of file
diff --git a/website/generated-content/roadmap/index.xml b/website/generated-content/roadmap/index.xml
index 50ffd1e7287..1b409fc83f7 100644
--- a/website/generated-content/roadmap/index.xml
+++ b/website/generated-content/roadmap/index.xml
@@ -428,7 +428,7 @@ limitations under the License.
<ul>
<li><a href="/documentation/runners/prism">Runner documentation</a></li>
<li>Issues: <a href="https://github.com/apache/beam/issues?q=is%3Aopen+is%3Aissue+label%3Aprism">prism</a></li>
-<li>CLI <a href="https://github.com/apache/beam/tree/master/sdks/go/cmd/prism">Code</a>, CLI Binaries are available as assets on <a href="https://github.com/apache/beam/releases/tag/v2.66.0">Github Releases</a>.</li>
+<li>CLI <a href="https://github.com/apache/beam/tree/master/sdks/go/cmd/prism">Code</a>, CLI Binaries are available as assets on <a href="https://github.com/apache/beam/releases/tag/v2.67.0">Github Releases</a>.</li>
<li>Core <a href="https://github.com/apache/beam/tree/master/sdks/go/pkg/beam/runners/prism">Code</a></li>
<li><a href="https://github.com/apache/beam/blob/master/sdks/go/pkg/beam/runners/prism/internal/README.md">Prism Internals Deep Dive</a></li>
</ul></description></item><item><title>Roadmap: Python SDK Roadmap</title><link>/roadmap/python-sdk/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/roadmap/python-sdk/</guid><description>
diff --git a/website/generated-content/roadmap/prism-runner/index.html b/website/generated-content/roadmap/prism-runner/index.html
index 35e46474e45..b41fd064ba6 100644
--- a/website/generated-content/roadmap/prism-runner/index.html
+++ b/website/generated-content/roadmap/prism-runner/index.html
@@ -35,7 +35,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(" [...]
<a href=https://www.apache.org>The Apache Software Foundation</a>
| <a href=/privacy_policy>Privacy Policy</a>
| <a href=/feed.xml>RSS Feed</a><br><br>Apache Beam, Apache, Beam, the Beam logo, and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation. All other products or name brands are trademarks of their respective holders, including The Apache Software Foundation.</div></div><div class="footer__cols__col footer__cols__col__logos"><div class=footer__cols__col--group><div class=footer__cols__col__logo><a href=https://github.com/apache/beam><im [...]
\ No newline at end of file
diff --git a/website/generated-content/sitemap.xml b/website/generated-content/sitemap.xml
index 4052c253e68..f2fc1474fe3 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>/categories/blog/</loc><lastmod>2025-08-12T05:54:57+00:00</lastmod></url><url><loc>/blog/</loc><lastmod>2025-08-12T05:54:57+00:00</lastmod></url><url><loc>/categories/</loc><lastmod>2025-08-12T05:54:57+00:00</lastmod></url><url><loc>/blog/beam-summit-2025-hackathon-pcollectors-blog/</loc><lastmod>2025-08-12T05:54:57+00:00< [...]
\ 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>/categories/blog/</loc><lastmod>2025-08-12T12:30:40-05:00</lastmod></url><url><loc>/blog/</loc><lastmod>2025-08-12T12:30:40-05:00</lastmod></url><url><loc>/categories/</loc><lastmod>2025-08-12T12:30:40-05:00</lastmod></url><url><loc>/blog/beam-summit-2025-hackathon-pcollectors-blog/</loc><lastmod>2025-08-12T12:30:40-05:00< [...]
\ No newline at end of file