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 2018/10/05 23:03:00 UTC

[beam] branch asf-site updated: Publishing website 2018/10/05 23:02:55 at commit 9ac7ad4

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

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


The following commit(s) were added to refs/heads/asf-site by this push:
     new a3a8775  Publishing website 2018/10/05 23:02:55 at commit 9ac7ad4
a3a8775 is described below

commit a3a8775682ee5f95ce716138d476d8e93d75f0b6
Author: jenkins <bu...@apache.org>
AuthorDate: Fri Oct 5 23:02:56 2018 +0000

    Publishing website 2018/10/05 23:02:55 at commit 9ac7ad4
---
 .../blog/2016/10/20/test-stream.html               |   2 +-
 .../blog/2017/08/16/splittable-do-fn.html          |  10 +-
 .../blog/2018/06/26/beam-2.5.0.html                |   2 +-
 .../08/20/review-input-streaming-connectors.html   |  22 +-
 .../26/beam-2.5.0.html => 10/03/beam-2.7.0.html}   | 123 ++-
 website/generated-content/blog/index.html          |  32 +
 .../contribute/dependencies/index.html             |  24 +-
 website/generated-content/contribute/index.html    |   2 +-
 .../contribute/postcommits-policies/index.html     |   3 +-
 .../contribute/ptransform-style-guide/index.html   |   4 +-
 .../contribute/release-guide/index.html            |   5 +-
 .../contribute/runner-guide/index.html             |   2 +-
 .../contribute/testing/index.html                  |   6 +-
 .../dsls/sql/aggregate-functions/index.html        |   6 +-
 .../index.html                                     |  44 +-
 .../documentation/dsls/sql/create-table/index.html | 743 +-----------------
 .../documentation/dsls/sql/data-types/index.html   |   6 +-
 .../documentation/dsls/sql/joins/index.html        |   6 +-
 .../documentation/dsls/sql/lexical/index.html      |   6 +-
 .../documentation/dsls/sql/overview/index.html     |  10 +-
 .../dsls/sql/scalar-functions/index.html           |   6 +-
 .../documentation/dsls/sql/select/index.html       | 831 +++++++++++++++++++--
 .../documentation/dsls/sql/set/index.html          |   6 +-
 .../documentation/dsls/sql/shell/index.html        |  14 +-
 .../dsls/sql/statements/create-table/index.html    |   8 +-
 .../dsls/sql/user-defined-functions/index.html     |   6 +-
 .../documentation/dsls/sql/walkthrough/index.html  |  12 +-
 .../dsls/sql/windowing-and-triggering/index.html   |   6 +-
 .../documentation/io/testing/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        |  14 +-
 .../documentation/runners/flink/index.html         |   4 +-
 .../documentation/runners/gearpump/index.html      |   4 +-
 .../documentation/runners/jstorm/index.html        |   2 +-
 .../documentation/runners/mapreduce/index.html     |   2 +-
 .../documentation/runners/samza/index.html         |   2 +-
 .../documentation/runners/spark/index.html         |   2 +-
 .../sdks/feature-comparison/index.html             |   6 +-
 .../documentation/sdks/go/index.html               |   6 +-
 .../documentation/sdks/java-extensions/index.html  |   6 +-
 .../documentation/sdks/java-thirdparty/index.html  |   6 +-
 .../documentation/sdks/java/euphoria/index.html    |   6 +-
 .../documentation/sdks/java/index.html             |   6 +-
 .../documentation/sdks/java/nexmark/index.html     |  10 +-
 .../documentation/sdks/python-custom-io/index.html |   6 +-
 .../sdks/python-pipeline-dependencies/index.html   |   6 +-
 .../documentation/sdks/python-streaming/index.html |   6 +-
 .../sdks/python-type-safety/index.html             |   6 +-
 .../documentation/sdks/python/index.html           |   6 +-
 website/generated-content/feed.xml                 | 208 +++---
 .../get-started/downloads/index.html               |  18 +-
 .../get-started/quickstart-java/index.html         |   8 +-
 .../get-started/quickstart-py/index.html           |   2 +-
 .../get-started/wordcount-example/index.html       |   6 +-
 website/generated-content/index.html               |  14 +-
 57 files changed, 1185 insertions(+), 1156 deletions(-)

diff --git a/website/generated-content/blog/2016/10/20/test-stream.html b/website/generated-content/blog/2016/10/20/test-stream.html
index 596c845..7b306cd 100644
--- a/website/generated-content/blog/2016/10/20/test-stream.html
+++ b/website/generated-content/blog/2016/10/20/test-stream.html
@@ -210,7 +210,7 @@ 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.6.0/org/apache/beam/sdk/testing/PAssert.html">PAssert</a>
+<a href="https://beam.apache.org/releases/javadoc/2.7.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/blog/2017/08/16/splittable-do-fn.html b/website/generated-content/blog/2017/08/16/splittable-do-fn.html
index dd5d359..6a95ba5 100644
--- a/website/generated-content/blog/2017/08/16/splittable-do-fn.html
+++ b/website/generated-content/blog/2017/08/16/splittable-do-fn.html
@@ -223,22 +223,22 @@ has other limitations that make it insufficient for this task</em>).</p>
 <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.6.0/org/apache/beam/sdk/io/BoundedSource.html">BoundedSource</a>
+(<a href="https://beam.apache.org/releases/javadoc/2.7.0/org/apache/beam/sdk/io/BoundedSource.html">BoundedSource</a>
 and
-<a href="https://beam.apache.org/releases/javadoc/2.6.0/org/apache/beam/sdk/io/UnboundedSource.html">UnboundedSource</a>) which does
+<a href="https://beam.apache.org/releases/javadoc/2.7.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.6.0/org/apache/beam/sdk/io/Read.html"><code class="highlighter-rouge">Read.from(Source)</code></a> built-in <code class="highlighter-rouge">PTransform</code>.</p>
+<a href="https://beam.apache.org/releases/javadoc/2.7.0/org/apache/beam/sdk/io/Read.html"><code class="highlighter-rouge">Read.from(Source)</code></a> built-in <code class="highlighter-rouge">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.6.0/org/apache/beam/sdk/io/BoundedSource.html"><code class="highlighter-rouge">BoundedSource</code></a>
+<a href="https://beam.apache.org/releases/javadoc/2.7.0/org/apache/beam/sdk/io/BoundedSource.html"><code class="highlighter-rouge">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.6.0/org/apache/beam/sdk/io/UnboundedSource.html"><code class="highlighter-rouge">UnboundedSource</code></a> supports
+<a href="https://beam.apache.org/releases/javadoc/2.7.0/org/apache/beam/sdk/io/UnboundedSource.html"><code class="highlighter-rouge">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>
diff --git a/website/generated-content/blog/2018/06/26/beam-2.5.0.html b/website/generated-content/blog/2018/06/26/beam-2.5.0.html
index e054124..32a2531 100644
--- a/website/generated-content/blog/2018/06/26/beam-2.5.0.html
+++ b/website/generated-content/blog/2018/06/26/beam-2.5.0.html
@@ -165,7 +165,7 @@ please check the detailed release notes.</p>
 <h1 id="new-features--improvements">New Features / Improvements</h1>
 
 <h2 id="go-sdk-support">Go SDK support</h2>
-<p>The Go SDK has been officially accepted into the project, after an incubation period and community effort. Go pipelines run on Dataflow runner. More details are <a href="https://beam.apache.org/documentation/sdks/go/">here</a>.</p>
+<p>The Go SDK has been officially accepted into the project, after an incubation period and community effort. Go pipelines run on Dataflow runner. More details are <a href="/documentation/sdks/go/">here</a>.</p>
 
 <h2 id="parquet-support">Parquet support</h2>
 <p>Support for Apache Parquet format was added. It uses Parquet 1.10 release which, thanks to AvroParquerWriter’s API changes, allows FileIO.Sink implementation.</p>
diff --git a/website/generated-content/blog/2018/08/20/review-input-streaming-connectors.html b/website/generated-content/blog/2018/08/20/review-input-streaming-connectors.html
index 31384ac..58ed34c 100644
--- a/website/generated-content/blog/2018/08/20/review-input-streaming-connectors.html
+++ b/website/generated-content/blog/2018/08/20/review-input-streaming-connectors.html
@@ -190,7 +190,7 @@ limitations under the License.
    </td>
    <td>Local<br />(Using the <code>file://</code> URI)
    </td>
-   <td><a href="https://beam.apache.org/releases/javadoc/2.6.0/org/apache/beam/sdk/io/TextIO.html">TextIO</a>
+   <td><a href="https://beam.apache.org/releases/javadoc/2.7.0/org/apache/beam/sdk/io/TextIO.html">TextIO</a>
    </td>
    <td><a href="https://spark.apache.org/docs/latest/api/java/org/apache/spark/streaming/StreamingContext.html#textFileStream-java.lang.String-">textFileStream</a><br />(Spark treats most Unix systems as HDFS-compatible, but the location should be accessible from all nodes)
    </td>
@@ -198,7 +198,7 @@ limitations under the License.
   <tr>
    <td>HDFS<br />(Using the <code>hdfs://</code> URI)
    </td>
-    <td><a href="https://beam.apache.org/releases/javadoc/2.6.0/org/apache/beam/sdk/io/FileIO.html">FileIO</a> + <a href="https://beam.apache.org/releases/javadoc/2.6.0/org/apache/beam/sdk/io/hdfs/HadoopFileSystemOptions.html">HadoopFileSystemOptions</a>
+    <td><a href="https://beam.apache.org/releases/javadoc/2.7.0/org/apache/beam/sdk/io/FileIO.html">FileIO</a> + <a href="https://beam.apache.org/releases/javadoc/2.7.0/org/apache/beam/sdk/io/hdfs/HadoopFileSystemOptions.html">HadoopFileSystemOptions</a>
    </td>
    <td><a href="https://spark.apache.org/docs/latest/api/java/org/apache/spark/streaming/util/HdfsUtils.html">HdfsUtils</a>
    </td>
@@ -208,7 +208,7 @@ limitations under the License.
    </td>
    <td>Cloud Storage<br />(Using the <code>gs://</code> URI)
    </td>
-   <td><a href="https://beam.apache.org/releases/javadoc/2.6.0/org/apache/beam/sdk/io/FileIO.html">FileIO</a> + <a href="https://beam.apache.org/releases/javadoc/2.6.0/org/apache/beam/sdk/extensions/gcp/options/GcsOptions.html">GcsOptions</a>
+   <td><a href="https://beam.apache.org/releases/javadoc/2.7.0/org/apache/beam/sdk/io/FileIO.html">FileIO</a> + <a href="https://beam.apache.org/releases/javadoc/2.7.0/org/apache/beam/sdk/extensions/gcp/options/GcsOptions.html">GcsOptions</a>
    </td>
    <td rowspan="2"><a href="https://spark.apache.org/docs/latest/api/java/org/apache/spark/SparkContext.html#hadoopConfiguration--">hadoopConfiguration</a>
 and <a href="https://spark.apache.org/docs/latest/api/java/org/apache/spark/streaming/StreamingContext.html#textFileStream-java.lang.String-">textFileStream</a>
@@ -217,7 +217,7 @@ and <a href="https://spark.apache.org/docs/latest/api/java/org/apache/spark/stre
   <tr>
    <td>S3<br />(Using the <code>s3://</code> URI)
    </td>
-    <td><a href="https://beam.apache.org/releases/javadoc/2.6.0/org/apache/beam/sdk/io/FileIO.html">FileIO</a> + <a href="https://beam.apache.org/releases/javadoc/2.6.0/org/apache/beam/sdk/io/aws/options/S3Options.html">S3Options</a>
+    <td><a href="https://beam.apache.org/releases/javadoc/2.7.0/org/apache/beam/sdk/io/FileIO.html">FileIO</a> + <a href="https://beam.apache.org/releases/javadoc/2.7.0/org/apache/beam/sdk/io/aws/options/S3Options.html">S3Options</a>
    </td>
   </tr>
   <tr>
@@ -225,7 +225,7 @@ and <a href="https://spark.apache.org/docs/latest/api/java/org/apache/spark/stre
    </td>
    <td>Kafka
    </td>
-   <td><a href="https://beam.apache.org/releases/javadoc/2.6.0/org/apache/beam/sdk/io/kafka/KafkaIO.html">KafkaIO</a>
+   <td><a href="https://beam.apache.org/releases/javadoc/2.7.0/org/apache/beam/sdk/io/kafka/KafkaIO.html">KafkaIO</a>
    </td>
    <td><a href="https://spark.apache.org/docs/latest/streaming-kafka-0-10-integration.html">spark-streaming-kafka</a>
    </td>
@@ -233,7 +233,7 @@ and <a href="https://spark.apache.org/docs/latest/api/java/org/apache/spark/stre
   <tr>
    <td>Kinesis
    </td>
-   <td><a href="https://beam.apache.org/releases/javadoc/2.6.0/org/apache/beam/sdk/io/kinesis/KinesisIO.html">KinesisIO</a>
+   <td><a href="https://beam.apache.org/releases/javadoc/2.7.0/org/apache/beam/sdk/io/kinesis/KinesisIO.html">KinesisIO</a>
    </td>
    <td><a href="https://spark.apache.org/docs/latest/streaming-kinesis-integration.html">spark-streaming-kinesis</a>
    </td>
@@ -241,7 +241,7 @@ and <a href="https://spark.apache.org/docs/latest/api/java/org/apache/spark/stre
   <tr>
    <td>Cloud Pub/Sub
    </td>
-   <td><a href="https://beam.apache.org/releases/javadoc/2.6.0/org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.html">PubsubIO</a>
+   <td><a href="https://beam.apache.org/releases/javadoc/2.7.0/org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.html">PubsubIO</a>
    </td>
    <td><a href="https://github.com/apache/bahir/tree/master/streaming-pubsub">spark-streaming-pubsub</a> from <a href="http://bahir.apache.org">Apache Bahir</a>
    </td>
@@ -282,7 +282,7 @@ and <a href="https://spark.apache.org/docs/latest/api/java/org/apache/spark/stre
    </td>
    <td>Local
    </td>
-   <td><a href="https://beam.apache.org/releases/pydoc/2.6.0/apache_beam.io.textio.html">io.textio</a>
+   <td><a href="https://beam.apache.org/releases/pydoc/2.7.0/apache_beam.io.textio.html">io.textio</a>
    </td>
    <td><a href="http://spark.apache.org/docs/latest/api/python/pyspark.streaming.html#pyspark.streaming.StreamingContext.textFileStream">textFileStream</a>
    </td>
@@ -290,7 +290,7 @@ and <a href="https://spark.apache.org/docs/latest/api/java/org/apache/spark/stre
   <tr>
    <td>HDFS
    </td>
-   <td><a href="https://beam.apache.org/releases/pydoc/2.6.0/apache_beam.io.hadoopfilesystem.html">io.hadoopfilesystem</a>
+   <td><a href="https://beam.apache.org/releases/pydoc/2.7.0/apache_beam.io.hadoopfilesystem.html">io.hadoopfilesystem</a>
    </td>
    <td><a href="https://spark.apache.org/docs/latest/api/java/org/apache/spark/SparkContext.html#hadoopConfiguration--">hadoopConfiguration</a> (Access through <code>sc._jsc</code> with Py4J)
 and <a href="http://spark.apache.org/docs/latest/api/python/pyspark.streaming.html#pyspark.streaming.StreamingContext.textFileStream">textFileStream</a>
@@ -301,7 +301,7 @@ and <a href="http://spark.apache.org/docs/latest/api/python/pyspark.streaming.ht
    </td>
    <td>Google Cloud Storage
    </td>
-   <td><a href="https://beam.apache.org/releases/pydoc/2.6.0/apache_beam.io.gcp.gcsio.html">io.gcp.gcsio</a>
+   <td><a href="https://beam.apache.org/releases/pydoc/2.7.0/apache_beam.io.gcp.gcsio.html">io.gcp.gcsio</a>
    </td>
    <td rowspan="2"><a href="http://spark.apache.org/docs/latest/api/python/pyspark.streaming.html#pyspark.streaming.StreamingContext.textFileStream">textFileStream</a>
    </td>
@@ -333,7 +333,7 @@ and <a href="http://spark.apache.org/docs/latest/api/python/pyspark.streaming.ht
   <tr>
    <td>Cloud Pub/Sub
    </td>
-   <td><a href="https://beam.apache.org/releases/pydoc/2.6.0/apache_beam.io.gcp.pubsub.html">io.gcp.pubsub</a>
+   <td><a href="https://beam.apache.org/releases/pydoc/2.7.0/apache_beam.io.gcp.pubsub.html">io.gcp.pubsub</a>
    </td>
    <td>N/A
    </td>
diff --git a/website/generated-content/blog/2018/06/26/beam-2.5.0.html b/website/generated-content/blog/2018/10/03/beam-2.7.0.html
similarity index 65%
copy from website/generated-content/blog/2018/06/26/beam-2.5.0.html
copy to website/generated-content/blog/2018/10/03/beam-2.7.0.html
index e054124..9476ed0 100644
--- a/website/generated-content/blog/2018/06/26/beam-2.5.0.html
+++ b/website/generated-content/blog/2018/10/03/beam-2.7.0.html
@@ -28,8 +28,8 @@
   <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 2.5.0</title>
-  <meta name="description" content="We are glad to present the new 2.5.0 release of Beam. This release includesmultiple fixes and new functionalities.">
+  <title>Apache Beam 2.7.0</title>
+  <meta name="description" content="We are happy to present the new 2.7.0 release of Beam. This release includes both improvements and new functionality.See the download page for this release.">
   <link href="https://fonts.googleapis.com/css?family=Roboto:100,300,400" rel="stylesheet">
   <link rel="stylesheet" href="/css/site.css">
   <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
@@ -38,7 +38,7 @@
   <script src="/js/fix-menu.js"></script>
   <script src="/js/section-nav.js"></script>
   <script src="/js/page-nav.js"></script>
-  <link rel="canonical" href="https://beam.apache.org/blog/2018/06/26/beam-2.5.0.html" data-proofer-ignore>
+  <link rel="canonical" href="https://beam.apache.org/blog/2018/10/03/beam-2.7.0.html" data-proofer-ignore>
   <link rel="shortcut icon" type="image/x-icon" href="/images/favicon.ico">
   <link rel="alternate" type="application/rss+xml" title="Apache Beam" href="https://beam.apache.org/feed.xml">
   <script>
@@ -136,9 +136,9 @@
 <article class="post" itemscope itemtype="http://schema.org/BlogPosting">
 
   <header class="post-header">
-    <h1 class="post-title" itemprop="name headline">Apache Beam 2.5.0</h1>
-    <p class="post-meta"><time datetime="2018-06-26T01:00:01-07:00" itemprop="datePublished">Jun 26, 2018</time> •
-       Alexey Romanenko [<a href="https://twitter.com/alexromdev">@alexromdev</a>]
+    <h1 class="post-title" itemprop="name headline">Apache Beam 2.7.0</h1>
+    <p class="post-meta"><time datetime="2018-10-03T01:00:01-07:00" itemprop="datePublished">Oct 3, 2018</time> •
+       Charles Chen 
       
     </p>
   </header>
@@ -158,95 +158,66 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
-<p>We are glad to present the new 2.5.0 release of Beam. This release includes
-multiple fixes and new functionalities. <!--more--> For more information
-please check the detailed release notes.</p>
+<p>We are happy to present the new 2.7.0 release of Beam. This release includes both improvements and new functionality.
+See the <a href="/get-started/downloads/#270-2018-10-02">download page</a> for this release.<!--more-->
+For more information on changes in 2.7.0, check out the
+<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12319527&amp;version=12343654">detailed release notes</a>.</p>
 
-<h1 id="new-features--improvements">New Features / Improvements</h1>
+<h2 id="new-features--improvements">New Features / Improvements</h2>
 
-<h2 id="go-sdk-support">Go SDK support</h2>
-<p>The Go SDK has been officially accepted into the project, after an incubation period and community effort. Go pipelines run on Dataflow runner. More details are <a href="https://beam.apache.org/documentation/sdks/go/">here</a>.</p>
+<h3 id="new-ios">New I/Os</h3>
 
-<h2 id="parquet-support">Parquet support</h2>
-<p>Support for Apache Parquet format was added. It uses Parquet 1.10 release which, thanks to AvroParquerWriter’s API changes, allows FileIO.Sink implementation.</p>
-
-<h2 id="performanceintegration-tests">Performance/Integration Tests</h2>
 <ul>
-  <li>Added new integration tests - HCatalogIOIT (Hive), HBaseIOIT, ParquetIOIT (with the IO itself, local filesystem, HDFS)</li>
-  <li>Multinode (3 data node) HDFS cluster is used for running tests on HDFS.</li>
-  <li>Several improvements on performance tests running and results analysis.</li>
-  <li>Scaled up Kubernetes cluster from 1 to 3 nodes.</li>
-  <li>Added metrics in Spark streaming.</li>
+  <li>KuduIO</li>
+  <li>Amazon SNS sink</li>
+  <li>Amazon SqsIO</li>
 </ul>
 
-<h2 id="internal-build-system-migrated-to-gradle">Internal Build System: Migrated to Gradle</h2>
-<p>After a months-long community effort, the internal Beam build has been migrated from Maven to Gradle. The new build system was chosen because of dependency-driven build support, incremental build/test, and support for non-Java languages.</p>
+<h3 id="dependency-upgrades">Dependency Upgrades</h3>
 
-<h2 id="nexmark-improvements">Nexmark Improvements</h2>
 <ul>
-  <li>Kafka support as a source/sink for events and results.</li>
-  <li>Translation of some queries to Beam SQL.</li>
+  <li>Apache Calcite dependency upgraded to 1.17.0</li>
+  <li>Apache Derby dependency upgraded to 10.14.2.0</li>
+  <li>Apache HTTP components upgraded (see release notes).</li>
 </ul>
 
-<h2 id="beam-sql">Beam SQL</h2>
-<ul>
-  <li>Support for MAP, ROW, ARRAY data types</li>
-  <li>Support UNNEST on array fields</li>
-  <li>Improved optimizations</li>
-  <li>Upgrade Calcite to 1.16</li>
-  <li>Support SQL on POJOs via automatic conversion</li>
-  <li>Schema moved into core Beam</li>
-  <li>UDAFs can be indirect suclasses of CombineFn</li>
-  <li>Many other small bugfixes</li>
-</ul>
+<h3 id="portability">Portability</h3>
 
-<h2 id="portability">Portability</h2>
 <ul>
-  <li>Common shared code related to supporting portable execution for runners.</li>
-  <li>Python SDK supporting side inputs over the portability APIs.</li>
+  <li>Experimental support for Python on local Flink runner for simple
+examples, see latest information here:
+/contribute/portability/#status.</li>
 </ul>
 
-<h2 id="extract-metrics-in-a-runner-agnostic-way">Extract metrics in a runner agnostic way</h2>
-<p>Metrics are pushed by the runners to configurable sinks (Http REST sink available). It is already enabled in Flink and Spark runner, work is in progress for Dataflow.</p>
+<h2 id="miscellaneous-fixes">Miscellaneous Fixes</h2>
 
-<h1 id="miscellaneous-fixes">Miscellaneous Fixes</h1>
-
-<h2 id="sdks">SDKs</h2>
+<h3 id="ios">I/Os</h3>
 
 <ul>
-  <li>Implemented HDFS FileSystem for Python SDK.</li>
-  <li>Python SDK adds support for side inputs for streaming execution.</li>
+  <li>KinesisIO, fixed dependency issue</li>
 </ul>
 
-<h2 id="runners">Runners</h2>
-<ul>
-  <li>Updated Spark runner to Spark version 2.3.1</li>
-  <li>Fixed issue with late elements windowed into expired fixed windows get dropped in Directrunner.</li>
-</ul>
-
-<h2 id="ios">IOs</h2>
-
-<ul>
-  <li>CassandraIO gained a better split algorithm based on overlapping regions.</li>
-  <li>ElasticsearchIO supports partial updates.</li>
-  <li>ElasticsearchIO allows to pass id, type and index per document.</li>
-  <li>SolrIO supports a more robust retry on write strategy.</li>
-  <li>S3 FileSystem supports encryption (SSE-S3, SSE-C and SSE-KMS).</li>
-  <li>Improved connection management in JdbcIO.</li>
-  <li>Added support the element timestamps while publishing to Kafka.</li>
-</ul>
-
-<h2 id="other">Other</h2>
-
-<ul>
-  <li>Use Java ErrorProne for static analysis.</li>
-</ul>
-
-<h1 id="list-of-contributors">List of Contributors</h1>
-
-<p>According to git shortlog, the following 84 people contributed to the 2.5.0 release. Thank you to all contributors!</p>
-
-<p>Ahmet Altay, Alan Myrvold, Alex Amato, Alex Van Boxel, Alexander Dejanovski, Alexey Romanenko, Aljoscha Krettek, ananvay, Andreas Ehrencrona, Andrew Pilloud, Ankur Goenka, Anton Kedin, arkash, Austin Bennett, Axel Magnuson, Ben Chambers, Ben Sidhom, Bill Neubauer, Boyuan Zhang, Braden Bassingthwaite, Cade Markegard, cclauss, Chamikara Jayalath, Charles Chen, Chuan Yu Foo, Cody Schroeder, Colm O hEigeartaigh, Daniel Oliveira, Dariusz Aniszewski, David Cavazos, Dawid Wysakowicz, Eric Ro [...]
+<h2 id="list-of-contributors">List of Contributors</h2>
+
+<p>According to git shortlog, the following 72 people contributed
+to the 2.7.0 release. Thank you to all contributors!</p>
+
+<p>Ahmet Altay, Alan Myrvold, Alexey Romanenko, Aljoscha Krettek,
+Andrew Pilloud, Ankit Jhalaria, Ankur Goenka, Anton Kedin, Boyuan
+Zhang, Carl McGraw, Carlos Alonso, cclauss, Chamikara Jayalath,
+Charles Chen, Cory Brzycki, Daniel Oliveira, Dariusz Aniszewski,
+devinduan, Eric Beach, Etienne Chauchot, Eugene Kirpichov, Garrett
+Jones, Gene Peters, Gleb Kanterov, Henning Rohde, Henry Suryawirawan,
+Holden Karau, Huygaa Batsaikhan, Ismaël Mejía, Jason Kuster, Jean-
+Baptiste Onofré, Joachim van der Herten, Jozef Vilcek, jxlewis, Kai
+Jiang, Katarzyna Kucharczyk, Kenn Knowles, Krzysztof Trubalski, Kyle
+Winkelman, Leen Toelen, Luis Enrique Ortíz Ramirez, Lukasz Cwik,
+Łukasz Gajowy, Luke Cwik, Mark Liu, Matthias Feys, Maximilian Michels,
+Melissa Pashniak, Mikhail Gryzykhin, Mikhail Sokolov, mingmxu, Norbert
+Chen, Pablo Estrada, Prateek Chanda, Raghu Angadi, Ravi Pathak, Reuven
+Lax, Robert Bradshaw, Robert Burke, Rui Wang, Ryan Williams, Sindy Li,
+Thomas Weise, Tim Robertson, Tormod Haavi, Udi Meiri, Vaclav Plajt,
+Valentyn Tymofieiev, xiliu, XuMingmin, Yifan Zou, Yueyang Qiu.</p>
 
   </div>
 
diff --git a/website/generated-content/blog/index.html b/website/generated-content/blog/index.html
index f3c8774..24639b1 100644
--- a/website/generated-content/blog/index.html
+++ b/website/generated-content/blog/index.html
@@ -139,6 +139,38 @@ limitations under the License.
 <p>This is the blog for the Apache Beam project. This blog contains news and updates
 for the project.</p>
 
+<h3 id="apache-beam-270"><a class="post-link" href="/blog/2018/10/03/beam-2.7.0.html">Apache Beam 2.7.0</a></h3>
+<p><i>Oct 3, 2018 •
+ Charles Chen 
+</i></p>
+
+<!--
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+<p>We are happy to present the new 2.7.0 release of Beam. This release includes both improvements and new functionality.
+See the <a href="/get-started/downloads/#270-2018-10-02">download page</a> for this release.</p>
+
+<!-- Render a "read more" button if the post is longer than the excerpt -->
+
+<p>
+<a class="btn btn-default btn-sm" href="/blog/2018/10/03/beam-2.7.0.html" role="button">
+Read more&nbsp;<span class="glyphicon glyphicon-menu-right" aria-hidden="true"></span>
+</a>
+</p>
+
+<hr />
+
 <h3 id="beam-summit-europe-2018"><a class="post-link" href="/blog/2018/08/21/beam-summit-europe.html">Beam Summit Europe 2018</a></h3>
 <p><i>Aug 21, 2018 •
  Matthias Baetens [<a href="https://twitter.com/matthiasbaetens">@matthiasbaetens</a>]
diff --git a/website/generated-content/contribute/dependencies/index.html b/website/generated-content/contribute/dependencies/index.html
index a1f750c..9239370 100644
--- a/website/generated-content/contribute/dependencies/index.html
+++ b/website/generated-content/contribute/dependencies/index.html
@@ -200,7 +200,7 @@
 
 <ul class="nav">
   <li><a href="#identifying-outdated-dependencies">Identifying outdated dependencies</a></li>
-  <li><a href="#jira-automation">JIRA Automation</a></li>
+  <li><a href="#jira-issue-automation">JIRA Issue Automation</a></li>
   <li><a href="#upgrading-identified-outdated-dependencies">Upgrading identified outdated dependencies</a></li>
   <li><a href="#dependency-updates-and-backwards-compatibility">Dependency updates and backwards compatibility</a></li>
 </ul>
@@ -259,17 +259,21 @@ limitations under the License.
 
 <p>These kind of urgently required upgrades might not get automatically picked up by the Jenkins job for few months. So Beam community has to act to identify such issues and perform upgrades early.</p>
 
-<h2 id="jira-automation">JIRA Automation</h2>
+<h2 id="jira-issue-automation">JIRA Issue Automation</h2>
 
 <p>In order to track the dependency upgrade process, JIRA tickets will be created per significant outdated dependency based on the report. A bot named <em>Beam Jira Bot</em> was created for managing JIRA issues. Beam community agrees on the following policies that creates and updates issues.</p>
 <ul>
-  <li>Issues will be named as “Beam Dependency Update Request: <dep_name> <dep_newest_version>".</dep_newest_version></dep_name></li>
-  <li>Issues will be created under the component <em>“dependencies”</em></li>
-  <li>Issues will be assigned to the primary owner of the dependencies, who are mentioned in the dependency ownership files. (<a href="https://github.com/apache/beam/blob/master/ownership/JAVA_DEPENDENCY_OWNERS.yaml">Java Dependency Owners</a> and <a href="https://github.com/apache/beam/blob/master/ownership/PYTHON_DEPENDENCY_OWNERS.yaml">Python Dependency Owners</a>)</li>
-  <li>If more than one owners found for a dependency, the first owner will be picked as the primary owner, the others will be pinged in the issue’s description.</li>
-  <li>If no owners found, leave the assignee empty. The component lead is responsible for triaging the issue.</li>
-  <li>Avoid creating duplicate issues. Updating the descriptions of the open issues created by the previous dependency check.</li>
-  <li>The dependency sometimes is not able to be upgraded, the issue should be closed as <em>“won’t fix”</em>. And, the bot should avoid recreating issues with “won’t fix”.</li>
+  <li>Title (summary) of the issues will be in the format “Beam Dependency Update Request: <dep_name>" where <dep_name> is the dependency artifact name.</dep_name></dep_name></li>
+  <li>Issues will be created under the component <em>“dependencies”</em>.</li>
+  <li>Owners of dependencies will be notified by tagging the corresponding JIRA IDs mentioned in the ownership files in the issue description. See <a href="https://github.com/apache/beam/blob/master/ownership/JAVA_DEPENDENCY_OWNERS.yaml">Java Dependency Owners</a> and <a href="https://github.com/apache/beam/blob/master/ownership/PYTHON_DEPENDENCY_OWNERS.yaml">Python Dependency Owners</a> for current owners for Java SDK and Python SDK dependencies respectively.</li>
+  <li>Automated tool will not create duplicate issues for the same dependency. Instead the tool will look for an existing JIRA when one has to be created for a given dependency and description of the JIRA will be updated with latest information, for example, current version of the dependency.</li>
+  <li>If a Beam community member determines that a given dependency should not be upgraded the corresponding JIRA issue can be closed with a fix version specified.</li>
+  <li>Automated tool will reopen a JIRA for a given dependency when one of following conditions is met:
+    <ul>
+      <li>Next SDK release is for a fix version mentioned in the JIRA.</li>
+      <li>Six months <strong>and</strong> three or more minor releases have passed since the JIRA was closed.</li>
+    </ul>
+  </li>
 </ul>
 
 <h2 id="upgrading-identified-outdated-dependencies">Upgrading identified outdated dependencies</h2>
@@ -300,7 +304,7 @@ limitations under the License.
 
 <h2 id="dependency-updates-and-backwards-compatibility">Dependency updates and backwards compatibility</h2>
 
-<p>Beam releases <a href="https://beam.apache.org/get-started/downloads/">adhere to</a> semantic versioning. Hence, community members should take care when updating dependencies. Minor version updates to dependencies should be backwards compatible in most cases. Some updates to dependencies though may result in backwards incompatible API or functionality changes to Beam. PR reviewers and committers should take care to detect any dependency updates that could potentially introduce backwar [...]
+<p>Beam releases <a href="/get-started/downloads/">adhere to</a> semantic versioning. Hence, community members should take care when updating dependencies. Minor version updates to dependencies should be backwards compatible in most cases. Some updates to dependencies though may result in backwards incompatible API or functionality changes to Beam. PR reviewers and committers should take care to detect any dependency updates that could potentially introduce backwards incompatible changes [...]
 
       </div>
     </div>
diff --git a/website/generated-content/contribute/index.html b/website/generated-content/contribute/index.html
index 094b4c0..6259dea 100644
--- a/website/generated-content/contribute/index.html
+++ b/website/generated-content/contribute/index.html
@@ -631,7 +631,7 @@ When submitting a new PR, please tag <a href="https://github.com/robbesneyders">
   <li>improving existing Performance Testing Framework and it’s documentation</li>
 </ul>
 
-<p>See the <a href="https://beam.apache.org/documentation/io/testing/#i-o-transform-integration-tests">documentation</a> and the <a href="https://docs.google.com/document/d/1dA-5s6OHiP_cz-NRAbwapoKF5MEC1wKps4A5tFbIPKE/edit?usp=sharing">initial proposal</a>(for file based tests).</p>
+<p>See the <a href="/documentation/io/testing/#i-o-transform-integration-tests">documentation</a> and the <a href="https://docs.google.com/document/d/1dA-5s6OHiP_cz-NRAbwapoKF5MEC1wKps4A5tFbIPKE/edit?usp=sharing">initial proposal</a>(for file based tests).</p>
 
 <p>If you’re willing to help in this area, tag the following people in PRs: <a href="https://github.com/chamikaramj">@chamikaramj</a>, <a href="https://github.com/dariuszaniszewski">@DariuszAniszewski</a>, <a href="https://github.com/lgajowy">@lgajowy</a>, <a href="https://github.com/szewi">@szewi</a>, <a href="https://github.com/kkucharc">@kkucharc</a></p>
 
diff --git a/website/generated-content/contribute/postcommits-policies/index.html b/website/generated-content/contribute/postcommits-policies/index.html
index af94c5b..90bb9e3 100644
--- a/website/generated-content/contribute/postcommits-policies/index.html
+++ b/website/generated-content/contribute/postcommits-policies/index.html
@@ -261,8 +261,7 @@ community follows these post-commit test policies:</p>
 <h3 id="found-failing-test">I found a test failure</h3>
 
 <ol>
-  <li>Create a <a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20BEAM%20AND%20component%20%3D%20test-failures">JIRA issue</a>
-and assign it to yourself.</li>
+  <li>Create a <a href="https://s.apache.org/beam-test-failure">JIRA issue</a> and assign it to yourself.</li>
   <li>Do high level triage of the failure.</li>
   <li><a href="/contribute/postcommits-guides/index.html#find_specialist">Assign the JIRA issue to a relevant person</a>.</li>
 </ol>
diff --git a/website/generated-content/contribute/ptransform-style-guide/index.html b/website/generated-content/contribute/ptransform-style-guide/index.html
index 0474d13..7359f26 100644
--- a/website/generated-content/contribute/ptransform-style-guide/index.html
+++ b/website/generated-content/contribute/ptransform-style-guide/index.html
@@ -528,8 +528,8 @@ E.g. when expanding a filepattern into files, log what the filepattern was and h
 
 <ul>
   <li>Generally, follow the rules of <a href="http://semver.org/">semantic versioning</a>.</li>
-  <li>If the API of the transform is not yet stable, annotate it as <code class="highlighter-rouge">@Experimental</code> (Java) or <code class="highlighter-rouge">@experimental</code> (<a href="https://beam.apache.org/releases/pydoc/2.6.0/apache_beam.utils.annotations.html">Python</a>).</li>
-  <li>If the API deprecated, annotate it as <code class="highlighter-rouge">@Deprecated</code> (Java) or <code class="highlighter-rouge">@deprecated</code> (<a href="https://beam.apache.org/releases/pydoc/2.6.0/apache_beam.utils.annotations.html">Python</a>).</li>
+  <li>If the API of the transform is not yet stable, annotate it as <code class="highlighter-rouge">@Experimental</code> (Java) or <code class="highlighter-rouge">@experimental</code> (<a href="https://beam.apache.org/releases/pydoc/2.7.0/apache_beam.utils.annotations.html">Python</a>).</li>
+  <li>If the API deprecated, annotate it as <code class="highlighter-rouge">@Deprecated</code> (Java) or <code class="highlighter-rouge">@deprecated</code> (<a href="https://beam.apache.org/releases/pydoc/2.7.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’s API: if they are unstable or improperly versioned (do not obey <a href="http://semver.org/">semantic versioning</a>), it is better to wrap them in your own classes.</li>
 </ul>
 
diff --git a/website/generated-content/contribute/release-guide/index.html b/website/generated-content/contribute/release-guide/index.html
index 965fdb4..d291075 100644
--- a/website/generated-content/contribute/release-guide/index.html
+++ b/website/generated-content/contribute/release-guide/index.html
@@ -585,8 +585,9 @@ Automation Reliability</a>.</p>
 <p><strong>Attention</strong>: Only PMC has permission to perform this. If you are not a PMC, please ask for help in dev@ mailing list.</p>
 
 <ol>
-  <li>In JIRA, navigate to the <a href="https://issues.apache.org/jira/plugins/servlet/project-config/BEAM/versions"><code class="highlighter-rouge">Beam &gt; Administration &gt; Versions</code></a>.</li>
-  <li>Add a new release: choose the next minor version number compared to the one currently underway, select today’s date as the <code class="highlighter-rouge">Start Date</code>, and choose <code class="highlighter-rouge">Add</code>.</li>
+  <li>In JIRA, navigate to <a href="https://issues.apache.org/jira/plugins/servlet/project-config/BEAM/versions"><code class="highlighter-rouge">Beam &gt; Administration &gt; Versions</code></a>.</li>
+  <li>Add a new release. Choose the next minor version number after the version currently underway, select the release cut date (today’s date) as the <code class="highlighter-rouge">Start Date</code>, and choose <code class="highlighter-rouge">Add</code>.</li>
+  <li>At the end of the release, go to the same page and mark the recently released version as released. Use the <code class="highlighter-rouge">...</code> menu and choose <code class="highlighter-rouge">Release</code>.</li>
 </ol>
 
 <h3 id="triage-release-blocking-issues-in-jira">Triage release-blocking issues in JIRA</h3>
diff --git a/website/generated-content/contribute/runner-guide/index.html b/website/generated-content/contribute/runner-guide/index.html
index 03f55e3..86eb847 100644
--- a/website/generated-content/contribute/runner-guide/index.html
+++ b/website/generated-content/contribute/runner-guide/index.html
@@ -911,7 +911,7 @@ collection of log files, or a database table. The capabilities are:</p>
   <li><code class="highlighter-rouge">createReader(...)</code> - call this to start reading elements; it is an enhanced iterator, with also:</li>
   <li>timestamps to associate with each element read</li>
   <li><code class="highlighter-rouge">splitAtFraction</code> for dynamic splitting to enable work stealing, and other
-methods to support it - see the <a href="https://beam.apache.org/blog/2016/05/18/splitAtFraction-method.html">Beam blog post on dynamic work
+methods to support it - see the <a href="/blog/2016/05/18/splitAtFraction-method.html">Beam blog post on dynamic work
 rebalancing</a></li>
 </ul>
 
diff --git a/website/generated-content/contribute/testing/index.html b/website/generated-content/contribute/testing/index.html
index c3761cf..8ce9d05 100644
--- a/website/generated-content/contribute/testing/index.html
+++ b/website/generated-content/contribute/testing/index.html
@@ -336,13 +336,13 @@ desired configurations.</p>
 <p>NeedsRunner is a category of tests that require a Beam runner. To run
 NeedsRunner tests:</p>
 
-<div class="highlighter-rouge"><pre class="highlight"><code>$ ./gradlew :runners:direct-java:needsRunnerTests
+<div class="highlighter-rouge"><pre class="highlight"><code>$ ./gradlew beam-runners-direct-java:needsRunnerTests
 </code></pre>
 </div>
 
 <p>To run a single NeedsRunner test use the <code class="highlighter-rouge">test</code> property, e.g.</p>
 
-<div class="highlighter-rouge"><pre class="highlight"><code>$ ./gradlew :runners:direct-java:needsRunnerTests --tests org.apache.beam.sdk.transforms.MapElementsTest.testMapBasic
+<div class="highlighter-rouge"><pre class="highlight"><code>$ ./gradlew beam-runners-direct-java:needsRunnerTests --tests org.apache.beam.sdk.transforms.MapElementsTest.testMapBasic
 </code></pre>
 </div>
 
@@ -352,7 +352,7 @@ NeedsRunner tests:</p>
 <code class="highlighter-rouge">sdks/java/io/google-cloud-platform</code>) can be executed with the <code class="highlighter-rouge">gradle test</code>
 command:</p>
 
-<div class="highlighter-rouge"><pre class="highlight"><code>$ ./gradlew sdks:java:io:google-cloud-platform:test --tests org.apache.beam.sdk.io.gcp.spanner.SpannerIOWriteTest
+<div class="highlighter-rouge"><pre class="highlight"><code>$ ./gradlew beam-sdks-java-io-google-cloud-platform:test --tests org.apache.beam.sdk.io.gcp.spanner.SpannerIOWriteTest
 </code></pre>
 </div>
 
diff --git a/website/generated-content/documentation/dsls/sql/aggregate-functions/index.html b/website/generated-content/documentation/dsls/sql/aggregate-functions/index.html
index 00b3644..ce4480d 100644
--- a/website/generated-content/documentation/dsls/sql/aggregate-functions/index.html
+++ b/website/generated-content/documentation/dsls/sql/aggregate-functions/index.html
@@ -142,7 +142,7 @@
   <span class="section-nav-list-title">Java</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/java/">Java SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/javadoc/2.6.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/javadoc/2.7.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -156,7 +156,7 @@
   <span class="section-nav-list-title">Python</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/python/">Python SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/pydoc/2.6.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/pydoc/2.7.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -190,7 +190,7 @@
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
         <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
-        <li><a href="/documentation/dsls/sql/create-table/">CREATE TABLE</a></li>
+        <li><a href="/documentation/dsls/sql/create-external-table/">CREATE EXTERNAL TABLE</a></li>
         <li><a href="/documentation/dsls/sql/select/">SELECT</a></li>
         <li><a href="/documentation/dsls/sql/windowing-and-triggering/">Windowing & Triggering</a></li>
         <li><a href="/documentation/dsls/sql/joins/">Joins</a></li>
diff --git a/website/generated-content/documentation/dsls/sql/create-table/index.html b/website/generated-content/documentation/dsls/sql/create-external-table/index.html
similarity index 94%
copy from website/generated-content/documentation/dsls/sql/create-table/index.html
copy to website/generated-content/documentation/dsls/sql/create-external-table/index.html
index df62158..1d143e8 100644
--- a/website/generated-content/documentation/dsls/sql/create-table/index.html
+++ b/website/generated-content/documentation/dsls/sql/create-external-table/index.html
@@ -28,7 +28,7 @@
   <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 SQL: CREATE TABLE Statement</title>
+  <title>Beam SQL: CREATE EXTERNAL TABLE Statement</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 Languages (DSLs). Dataflow pipelines simplify the mechanics of large-scale batch and streaming data processing and can run on a number of runtimes like Apache Flink, Apache Spark, and Google Cloud Dataflow  [...]
 ">
   <link href="https://fonts.googleapis.com/css?family=Roboto:100,300,400" rel="stylesheet">
@@ -39,7 +39,7 @@
   <script src="/js/fix-menu.js"></script>
   <script src="/js/section-nav.js"></script>
   <script src="/js/page-nav.js"></script>
-  <link rel="canonical" href="https://beam.apache.org/documentation/dsls/sql/create-table/" data-proofer-ignore>
+  <link rel="canonical" href="https://beam.apache.org/documentation/dsls/sql/create-external-table/" data-proofer-ignore>
   <link rel="shortcut icon" type="image/x-icon" href="/images/favicon.ico">
   <link rel="alternate" type="application/rss+xml" title="Apache Beam" href="https://beam.apache.org/feed.xml">
   <script>
@@ -142,7 +142,7 @@
   <span class="section-nav-list-title">Java</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/java/">Java SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/javadoc/2.6.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/javadoc/2.7.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -156,7 +156,7 @@
   <span class="section-nav-list-title">Python</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/python/">Python SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/pydoc/2.6.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/pydoc/2.7.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -190,7 +190,7 @@
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
         <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
-        <li><a href="/documentation/dsls/sql/create-table/">CREATE TABLE</a></li>
+        <li><a href="/documentation/dsls/sql/create-external-table/">CREATE EXTERNAL TABLE</a></li>
         <li><a href="/documentation/dsls/sql/select/">SELECT</a></li>
         <li><a href="/documentation/dsls/sql/windowing-and-triggering/">Windowing & Triggering</a></li>
         <li><a href="/documentation/dsls/sql/joins/">Joins</a></li>
@@ -282,19 +282,19 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
-<h1 id="create-table">CREATE TABLE</h1>
+<h1 id="create-external-table">CREATE EXTERNAL TABLE</h1>
 
-<p>Beam SQL’s <code class="highlighter-rouge">CREATE TABLE</code> statement registers a virtual table that maps to an
-<a href="https://beam.apache.org/documentation/io/built-in/">external storage system</a>.
-For some storage systems, <code class="highlighter-rouge">CREATE TABLE</code> does not create a physical table until
+<p>Beam SQL’s <code class="highlighter-rouge">CREATE EXTERNAL TABLE</code> statement registers a virtual table that maps to an
+<a href="/documentation/io/built-in/">external storage system</a>.
+For some storage systems, <code class="highlighter-rouge">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
 the <code class="highlighter-rouge">SELECT</code>, <code class="highlighter-rouge">JOIN</code>, and <code class="highlighter-rouge">INSERT INTO</code> statements.</p>
 
-<p>The <code class="highlighter-rouge">CREATE TABLE</code> statement includes a schema and extended clauses.</p>
+<p>The <code class="highlighter-rouge">CREATE EXTERNAL TABLE</code> statement includes a schema and extended clauses.</p>
 
 <h2 id="syntax">Syntax</h2>
 
-<div class="highlighter-rouge"><pre class="highlight"><code>CREATE TABLE [ IF NOT EXISTS ] tableName (tableElement [, tableElement ]*)
+<div class="highlighter-rouge"><pre class="highlight"><code>CREATE EXTERNAL TABLE [ IF NOT EXISTS ] tableName (tableElement [, tableElement ]*)
 TYPE type
 [LOCATION location]
 [TBLPROPERTIES tblProperties]
@@ -312,7 +312,7 @@ tableElement: columnName fieldType [ NOT NULL ]
 ignores the statement instead of returning an error.</li>
   <li><code class="highlighter-rouge">tableName</code>: The case sensitive name of the table to create and register,
 specified as an
-<a href="https://beam.apache.org/documentation/dsls/sql/lexical/#identifiers">Identifier</a>.
+<a href="/documentation/dsls/sql/lexical/#identifiers">Identifier</a>.
 The table name does not need to match the name in the underlying data
 storage system.</li>
   <li><code class="highlighter-rouge">tableElement</code>: <code class="highlighter-rouge">columnName</code> <code class="highlighter-rouge">fieldType</code> <code class="highlighter-rouge">[ NOT NULL ]</code>
@@ -333,7 +333,7 @@ backtick_quoted_expression.</li>
     </ul>
   </li>
   <li><code class="highlighter-rouge">type</code>: The I/O transform that backs the virtual table, specified as an
-<a href="https://beam.apache.org/documentation/dsls/sql/lexical/#identifiers">Identifier</a>
+<a href="/documentation/dsls/sql/lexical/#identifiers">Identifier</a>
 with one of the following values:
     <ul>
       <li><code class="highlighter-rouge">bigquery</code></li>
@@ -343,11 +343,11 @@ with one of the following values:
     </ul>
   </li>
   <li><code class="highlighter-rouge">location</code>: The I/O specific location of the underlying table, specified as
-a <a href="https://beam.apache.org/documentation/dsls/sql/lexical/#string-literals">String
+a <a href="/documentation/dsls/sql/lexical/#string-literals">String
 Literal</a>.
 See the I/O specific sections for <code class="highlighter-rouge">location</code> format requirements.</li>
   <li><code class="highlighter-rouge">tblProperties</code>: The I/O specific quoted key value JSON object with extra
-configuration, specified as a <a href="https://beam.apache.org/documentation/dsls/sql/lexical/#string-literals">String
+configuration, specified as a <a href="/documentation/dsls/sql/lexical/#string-literals">String
 Literal</a>.
 See the I/O specific sections for <code class="highlighter-rouge">tblProperties</code> format requirements.</li>
 </ul>
@@ -356,7 +356,7 @@ See the I/O specific sections for <code class="highlighter-rouge">tblProperties<
 
 <h3 id="syntax-1">Syntax</h3>
 
-<div class="highlighter-rouge"><pre class="highlight"><code>CREATE TABLE [ IF NOT EXISTS ] tableName (tableElement [, tableElement ]*)
+<div class="highlighter-rouge"><pre class="highlight"><code>CREATE EXTERNAL TABLE [ IF NOT EXISTS ] tableName (tableElement [, tableElement ]*)
 TYPE bigquery
 LOCATION '[PROJECT_ID]:[DATASET].[TABLE]'
 </code></pre>
@@ -461,7 +461,7 @@ as follows:</p>
 
 <h3 id="example">Example</h3>
 
-<div class="highlighter-rouge"><pre class="highlight"><code>CREATE TABLE users (id INTEGER, username VARCHAR)
+<div class="highlighter-rouge"><pre class="highlight"><code>CREATE EXTERNAL TABLE users (id INTEGER, username VARCHAR)
 TYPE bigquery
 LOCATION 'testing-integration:apache.users'
 </code></pre>
@@ -471,7 +471,7 @@ LOCATION 'testing-integration:apache.users'
 
 <h3 id="syntax-2">Syntax</h3>
 
-<div class="highlighter-rouge"><pre class="highlight"><code>CREATE TABLE [ IF NOT EXISTS ] tableName
+<div class="highlighter-rouge"><pre class="highlight"><code>CREATE EXTERNAL TABLE [ IF NOT EXISTS ] tableName
   (
    event_timestamp TIMESTAMP,
    attributes MAP&lt;VARCHAR, VARCHAR&gt;,
@@ -557,7 +557,7 @@ objects. Beam attempts to parse JSON to match the schema of the
 
 <h3 id="example-1">Example</h3>
 
-<div class="highlighter-rouge"><pre class="highlight"><code>CREATE TABLE locations (event_timestamp TIMESTAMP, attributes MAP&lt;VARCHAR, VARCHAR&gt;, payload ROW&lt;id INTEGER, location VARCHAR&gt;)
+<div class="highlighter-rouge"><pre class="highlight"><code>CREATE EXTERNAL TABLE locations (event_timestamp TIMESTAMP, attributes MAP&lt;VARCHAR, VARCHAR&gt;, payload ROW&lt;id INTEGER, location VARCHAR&gt;)
 TYPE pubsub
 LOCATION 'projects/testing-integration/topics/user-location'
 </code></pre>
@@ -569,7 +569,7 @@ LOCATION 'projects/testing-integration/topics/user-location'
 
 <h3 id="syntax-3">Syntax</h3>
 
-<div class="highlighter-rouge"><pre class="highlight"><code>CREATE TABLE [ IF NOT EXISTS ] tableName (tableElement [, tableElement ]*)
+<div class="highlighter-rouge"><pre class="highlight"><code>CREATE EXTERNAL TABLE [ IF NOT EXISTS ] tableName (tableElement [, tableElement ]*)
 TYPE kafka
 LOCATION 'kafka://localhost:2181/brokers'
 TBLPROPERTIES '{"bootstrap.servers":"localhost:9092", "topics": ["topic1", "topic2"]}'
@@ -617,7 +617,7 @@ access the same underlying data.</p>
 
 <h3 id="syntax-4">Syntax</h3>
 
-<div class="highlighter-rouge"><pre class="highlight"><code>CREATE TABLE [ IF NOT EXISTS ] tableName (tableElement [, tableElement ]*)
+<div class="highlighter-rouge"><pre class="highlight"><code>CREATE EXTERNAL TABLE [ IF NOT EXISTS ] tableName (tableElement [, tableElement ]*)
 TYPE text
 LOCATION '/home/admin/orders'
 TBLPROPERTIES '{"format: "Excel"}'
@@ -659,7 +659,7 @@ types specified in the schema using org.apache.commons.csv.</li>
 
 <h3 id="example-2">Example</h3>
 
-<div class="highlighter-rouge"><pre class="highlight"><code>CREATE TABLE orders (id INTEGER, price INTEGER)
+<div class="highlighter-rouge"><pre class="highlight"><code>CREATE EXTERNAL TABLE orders (id INTEGER, price INTEGER)
 TYPE text
 LOCATION '/home/admin/orders'
 </code></pre>
diff --git a/website/generated-content/documentation/dsls/sql/create-table/index.html b/website/generated-content/documentation/dsls/sql/create-table/index.html
index df62158..d1ba0da 100644
--- a/website/generated-content/documentation/dsls/sql/create-table/index.html
+++ b/website/generated-content/documentation/dsls/sql/create-table/index.html
@@ -1,737 +1,10 @@
 <!DOCTYPE html>
-<!--
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-   http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License. See accompanying LICENSE file.
--->
-
-<html lang="en">
-  <!--
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-   http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License. See accompanying LICENSE file.
--->
-
-<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 SQL: CREATE TABLE Statement</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 Languages (DSLs). Dataflow pipelines simplify the mechanics of large-scale batch and streaming data processing and can run on a number of runtimes like Apache Flink, Apache Spark, and Google Cloud Dataflow  [...]
-">
-  <link href="https://fonts.googleapis.com/css?family=Roboto:100,300,400" rel="stylesheet">
-  <link rel="stylesheet" href="/css/site.css">
-  <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
-  <script src="/js/bootstrap.min.js"></script>
-  <script src="/js/language-switch.js"></script>
-  <script src="/js/fix-menu.js"></script>
-  <script src="/js/section-nav.js"></script>
-  <script src="/js/page-nav.js"></script>
-  <link rel="canonical" href="https://beam.apache.org/documentation/dsls/sql/create-table/" data-proofer-ignore>
-  <link rel="shortcut icon" type="image/x-icon" href="/images/favicon.ico">
-  <link rel="alternate" type="application/rss+xml" title="Apache Beam" href="https://beam.apache.org/feed.xml">
-  <script>
-    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
-    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
-    m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
-    })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
-    ga('create', 'UA-73650088-1', 'auto');
-    ga('send', 'pageview');
-  </script>
-</head>
-
-  <body class="body" data-spy="scroll" data-target=".page-nav" data-offset="0">
-    <!--
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-   http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License. See accompanying LICENSE file.
--->
-
-<nav class="header navbar navbar-fixed-top">
-    <div class="navbar-header">
-      <button type="button" class="navbar-toggle" aria-expanded="false" aria-controls="navbar">
-        <span class="sr-only">Toggle navigation</span>
-        <span class="icon-bar"></span>
-        <span class="icon-bar"></span>
-        <span class="icon-bar"></span>
-      </button>
-
-      <a href="/" class="navbar-brand" >
-        <img alt="Brand" style="height: 25px" src="/images/beam_logo_navbar.png">
-      </a>
-    </div>
-
-    <div class="navbar-mask closed"></div>
-
-    <div id="navbar" class="navbar-container closed">
-      <ul class="nav navbar-nav">
-        <li>
-          <a href="/get-started/beam-overview/">Get Started</a>
-        </li>
-        <li>
-          <a href="/documentation/">Documentation</a>
-        </li>
-        <li>
-          <a href="/documentation/sdks/java/">SDKS</a>
-        </li>
-        <li>
-          <a href="/documentation/runners/capability-matrix/">RUNNERS</a>
-        </li>
-        <li>
-          <a href="/contribute/">Contribute</a>
-        </li>
-        <li>
-          <a href="/community/contact-us/">Community</a>
-        </li>
-        <li><a href="/blog">Blog</a></li>
-      </ul>
-      <ul class="nav navbar-nav navbar-right">
-        <li class="dropdown">
-          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><img src="https://www.apache.org/foundation/press/kit/feather_small.png" alt="Apache Logo" style="height:20px;"><span class="caret"></span></a>
-          <ul class="dropdown-menu dropdown-menu-right">
-            <li><a href="http://www.apache.org/">ASF Homepage</a></li>
-            <li><a href="http://www.apache.org/licenses/">License</a></li>
-            <li><a href="http://www.apache.org/security/">Security</a></li>
-            <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
-            <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
-            <li><a href="https://www.apache.org/foundation/policies/conduct">Code of Conduct</a></li>
-          </ul>
-        </li>
-      </ul>
-    </div>
-</nav>
-
-    <div class="clearfix container-main-content">
-      <div class="section-nav closed" data-offset-top="90" data-offset-bottom="500">
-        <span class="section-nav-back glyphicon glyphicon-menu-left"></span>
-        <nav>
-          <ul class="section-nav-list" data-section-nav>
-            <!--
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-   http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License. See accompanying LICENSE file.
--->
-
-<li><span class="section-nav-list-main-title">SDKS</span></li>
-
-<li>
-  <span class="section-nav-list-title">Java</span>
-  <ul class="section-nav-list">
-    <li><a href="/documentation/sdks/java/">Java SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/javadoc/2.6.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
-                                                                                                                                   width="14" height="14"
-                                                                                                                                   alt="External link."></a>
-    </li>
-    <li><a href="/documentation/sdks/java-extensions/">Java SDK extensions</a></li>
-    <li><a href="/documentation/sdks/java-thirdparty/">Java 3rd party extensions</a></li>
-    <li><a href="/documentation/sdks/java/nexmark/">Nexmark benchmark suite</a></li>
-  </ul>
-</li>
-
-<li>
-  <span class="section-nav-list-title">Python</span>
-  <ul class="section-nav-list">
-    <li><a href="/documentation/sdks/python/">Python SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/pydoc/2.6.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
-                                                                                                                                   width="14" height="14"
-                                                                                                                                   alt="External link."></a>
-    </li>
-    <li><a href="/documentation/sdks/python-streaming/">Python streaming pipelines</a></li>
-    <li><a href="/documentation/sdks/python-type-safety/">Ensuring Python type safety</a></li>
-    <li><a href="/documentation/sdks/python-pipeline-dependencies/">Managing pipeline dependencies</a></li>
-    <li><a href="/documentation/sdks/python-custom-io/">Creating new sources and sinks</a></li>
-  </ul>
-</li>
-
-<li>
-  <span class="section-nav-list-title">Go SDK</span>
-  <ul class="section-nav-list">
-    <li><a href="/documentation/sdks/go/">Go SDK overview</a></li>
-    <li><a href="https://godoc.org/github.com/apache/beam/sdks/go/pkg/beam" target="_blank">Go SDK API reference <img src="/images/external-link-icon.png"
-                                                                                                                                   width="14" height="14"
-                                                                                                                                   alt="External link."></a>
-    </li>
-  </ul>
-</li>
-
-<li>
-  <span class="section-nav-list-title">SQL</span>
-  <ul class="section-nav-list">
-    <li><a href="/documentation/dsls/sql/overview/">Overview</a></li>
-    <li><a href="/documentation/dsls/sql/walkthrough/">Walkthrough</a></li>
-    <li><a href="/documentation/dsls/sql/shell/">Shell</a></li>
-    <li class="section-nav-item--collapsible">
-      <span class="section-nav-list-title">SQL Reference</span>
-
-      <ul class="section-nav-list">
-        <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
-        <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
-        <li><a href="/documentation/dsls/sql/create-table/">CREATE TABLE</a></li>
-        <li><a href="/documentation/dsls/sql/select/">SELECT</a></li>
-        <li><a href="/documentation/dsls/sql/windowing-and-triggering/">Windowing & Triggering</a></li>
-        <li><a href="/documentation/dsls/sql/joins/">Joins</a></li>
-        <li><a href="/documentation/dsls/sql/scalar-functions/">Scalar functions</a></li>
-        <li><a href="/documentation/dsls/sql/aggregate-functions/">Aggregate functions</a></li>
-        <li><a href="/documentation/dsls/sql/user-defined-functions/">User-defined functions</a></li>
-        <li><a href="/documentation/dsls/sql/set/">SET Pipeline Options</a></li>
-      </ul>
-    </li>
-  </ul>
-</li>
-
-          </ul>
-        </nav>
-      </div>
-
-      <nav class="page-nav clearfix" data-offset-top="90" data-offset-bottom="500">
-        <!--
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-   http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License. See accompanying LICENSE file.
--->
-
-
-
-<ul class="nav">
-  <li><a href="#syntax">Syntax</a></li>
-  <li><a href="#bigquery">BigQuery</a>
-    <ul>
-      <li><a href="#syntax-1">Syntax</a></li>
-      <li><a href="#read-mode">Read Mode</a></li>
-      <li><a href="#write-mode">Write Mode</a></li>
-      <li><a href="#schema">Schema</a></li>
-      <li><a href="#example">Example</a></li>
-    </ul>
-  </li>
-  <li><a href="#pubsub">Pub/Sub</a>
-    <ul>
-      <li><a href="#syntax-2">Syntax</a></li>
-      <li><a href="#read-mode-1">Read Mode</a></li>
-      <li><a href="#write-mode-1">Write Mode</a></li>
-      <li><a href="#schema-1">Schema</a></li>
-      <li><a href="#supported-payload">Supported Payload</a></li>
-      <li><a href="#example-1">Example</a></li>
-    </ul>
-  </li>
-  <li><a href="#kafka">Kafka</a>
-    <ul>
-      <li><a href="#syntax-3">Syntax</a></li>
-      <li><a href="#read-mode-2">Read Mode</a></li>
-      <li><a href="#write-mode-2">Write Mode</a></li>
-      <li><a href="#supported-payload-1">Supported Payload</a></li>
-      <li><a href="#schema-2">Schema</a></li>
-    </ul>
-  </li>
-  <li><a href="#text">Text</a>
-    <ul>
-      <li><a href="#syntax-4">Syntax</a></li>
-      <li><a href="#read-mode-3">Read Mode</a></li>
-      <li><a href="#write-mode-3">Write Mode</a></li>
-      <li><a href="#supported-payload-2">Supported Payload</a></li>
-      <li><a href="#schema-3">Schema</a></li>
-      <li><a href="#example-2">Example</a></li>
-    </ul>
-  </li>
-</ul>
-
-
-      </nav>
-
-      <div class="body__contained body__section-nav">
-        <!--
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-
-<h1 id="create-table">CREATE TABLE</h1>
-
-<p>Beam SQL’s <code class="highlighter-rouge">CREATE TABLE</code> statement registers a virtual table that maps to an
-<a href="https://beam.apache.org/documentation/io/built-in/">external storage system</a>.
-For some storage systems, <code class="highlighter-rouge">CREATE TABLE</code> does not create a physical table until
-a write occurs. After the physical table exists, you can access the table with
-the <code class="highlighter-rouge">SELECT</code>, <code class="highlighter-rouge">JOIN</code>, and <code class="highlighter-rouge">INSERT INTO</code> statements.</p>
-
-<p>The <code class="highlighter-rouge">CREATE TABLE</code> statement includes a schema and extended clauses.</p>
-
-<h2 id="syntax">Syntax</h2>
-
-<div class="highlighter-rouge"><pre class="highlight"><code>CREATE TABLE [ IF NOT EXISTS ] tableName (tableElement [, tableElement ]*)
-TYPE type
-[LOCATION location]
-[TBLPROPERTIES tblProperties]
-
-simpleType: TINYINT | SMALLINT | INTEGER | BIGINT | FLOAT | DOUBLE | DECIMAL | BOOLEAN | DATE | TIME | TIMESTAMP | CHAR | VARCHAR
-
-fieldType: simpleType | MAP&lt;simpleType, fieldType&gt; | ARRAY&lt;fieldType&gt; | ROW&lt;tableElement [, tableElement ]*&gt;
-
-tableElement: columnName fieldType [ NOT NULL ]
-</code></pre>
-</div>
-
-<ul>
-  <li><code class="highlighter-rouge">IF NOT EXISTS</code>: Optional. If the table is already registered, Beam SQL
-ignores the statement instead of returning an error.</li>
-  <li><code class="highlighter-rouge">tableName</code>: The case sensitive name of the table to create and register,
-specified as an
-<a href="https://beam.apache.org/documentation/dsls/sql/lexical/#identifiers">Identifier</a>.
-The table name does not need to match the name in the underlying data
-storage system.</li>
-  <li><code class="highlighter-rouge">tableElement</code>: <code class="highlighter-rouge">columnName</code> <code class="highlighter-rouge">fieldType</code> <code class="highlighter-rouge">[ NOT NULL ]</code>
-    <ul>
-      <li><code class="highlighter-rouge">columnName</code>: The case sensitive name of the column, specified as a
-backtick_quoted_expression.</li>
-      <li><code class="highlighter-rouge">fieldType</code>: The field’s type, specified as one of the following types:
-        <ul>
-          <li><code class="highlighter-rouge">simpleType</code>: <code class="highlighter-rouge">TINYINT</code>, <code class="highlighter-rouge">SMALLINT</code>, <code class="highlighter-rouge">INTEGER</code>, <code class="highlighter-rouge">BIGINT</code>, <code class="highlighter-rouge">FLOAT</code>,
-<code class="highlighter-rouge">DOUBLE</code>, <code class="highlighter-rouge">DECIMAL</code>, <code class="highlighter-rouge">BOOLEAN</code>, <code class="highlighter-rouge">DATE</code>, <code class="highlighter-rouge">TIME</code>, <code class="highlighter-rouge">TIMESTAMP</code>, <code class="highlighter-rouge">CHAR</code>,
-<code class="highlighter-rouge">VARCHAR</code></li>
-          <li><code class="highlighter-rouge">MAP&lt;simpleType, fieldType&gt;</code></li>
-          <li><code class="highlighter-rouge">ARRAY&lt;fieldType&gt;</code></li>
-          <li><code class="highlighter-rouge">ROW&lt;tableElement [, tableElement ]*&gt;</code></li>
-        </ul>
-      </li>
-      <li><code class="highlighter-rouge">NOT NULL</code>: Optional. Indicates that the column is not nullable.</li>
-    </ul>
-  </li>
-  <li><code class="highlighter-rouge">type</code>: The I/O transform that backs the virtual table, specified as an
-<a href="https://beam.apache.org/documentation/dsls/sql/lexical/#identifiers">Identifier</a>
-with one of the following values:
-    <ul>
-      <li><code class="highlighter-rouge">bigquery</code></li>
-      <li><code class="highlighter-rouge">pubsub</code></li>
-      <li><code class="highlighter-rouge">kafka</code></li>
-      <li><code class="highlighter-rouge">text</code></li>
-    </ul>
-  </li>
-  <li><code class="highlighter-rouge">location</code>: The I/O specific location of the underlying table, specified as
-a <a href="https://beam.apache.org/documentation/dsls/sql/lexical/#string-literals">String
-Literal</a>.
-See the I/O specific sections for <code class="highlighter-rouge">location</code> format requirements.</li>
-  <li><code class="highlighter-rouge">tblProperties</code>: The I/O specific quoted key value JSON object with extra
-configuration, specified as a <a href="https://beam.apache.org/documentation/dsls/sql/lexical/#string-literals">String
-Literal</a>.
-See the I/O specific sections for <code class="highlighter-rouge">tblProperties</code> format requirements.</li>
-</ul>
-
-<h2 id="bigquery">BigQuery</h2>
-
-<h3 id="syntax-1">Syntax</h3>
-
-<div class="highlighter-rouge"><pre class="highlight"><code>CREATE TABLE [ IF NOT EXISTS ] tableName (tableElement [, tableElement ]*)
-TYPE bigquery
-LOCATION '[PROJECT_ID]:[DATASET].[TABLE]'
-</code></pre>
-</div>
-
-<ul>
-  <li><code class="highlighter-rouge">LOCATION:</code>Location of the table in the BigQuery CLI format.
-    <ul>
-      <li><code class="highlighter-rouge">PROJECT_ID</code>: ID of the Google Cloud Project</li>
-      <li><code class="highlighter-rouge">DATASET</code>: BigQuery Dataset ID</li>
-      <li><code class="highlighter-rouge">TABLE</code>: BigQuery Table ID within the Dataset</li>
-    </ul>
-  </li>
-</ul>
-
-<h3 id="read-mode">Read Mode</h3>
-
-<p>Beam SQL supports reading columns with simple types (<code class="highlighter-rouge">simpleType</code>) and arrays of simple
-types (<code class="highlighter-rouge">ARRAY&lt;simpleType&gt;</code>).</p>
-
-<h3 id="write-mode">Write Mode</h3>
-
-<p>if the table does not exist, Beam creates the table specified in location when
-the first record is written. If the table does exist, the specified columns must
-match the existing table.</p>
-
-<h3 id="schema">Schema</h3>
-
-<p>Schema-related errors will cause the pipeline to crash. The Map type is not
-supported. Beam SQL types map to <a href="https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types">BigQuery Standard SQL
-types</a>
-as follows:</p>
-
-<table>
-  <tr>
-   <td>Beam SQL Type
-   </td>
-   <td>BigQuery Standard SQL Type
-   </td>
-  </tr>
-  <tr>
-   <td>TINYINT, SMALLINT, INTEGER, BIGINT &nbsp;
-   </td>
-   <td>INT64
-   </td>
-  </tr>
-  <tr>
-   <td>FLOAT, DOUBLE, DECIMAL
-   </td>
-   <td>FLOAT64
-   </td>
-  </tr>
-  <tr>
-   <td>BOOLEAN
-   </td>
-   <td>BOOL
-   </td>
-  </tr>
-  <tr>
-   <td>DATE
-   </td>
-   <td>DATE
-   </td>
-  </tr>
-  <tr>
-   <td>TIME
-   </td>
-   <td>TIME
-   </td>
-  </tr>
-  <tr>
-   <td>TIMESTAMP
-   </td>
-   <td>TIMESTAMP
-   </td>
-  </tr>
-  <tr>
-   <td>CHAR, VARCHAR
-   </td>
-   <td>STRING
-   </td>
-  </tr>
-  <tr>
-   <td>MAP
-   </td>
-   <td>(not supported)
-   </td>
-  </tr>
-  <tr>
-   <td>ARRAY
-   </td>
-   <td>ARRAY
-   </td>
-  </tr>
-  <tr>
-   <td>ROW
-   </td>
-   <td>STRUCT
-   </td>
-  </tr>
-</table>
-
-<h3 id="example">Example</h3>
-
-<div class="highlighter-rouge"><pre class="highlight"><code>CREATE TABLE users (id INTEGER, username VARCHAR)
-TYPE bigquery
-LOCATION 'testing-integration:apache.users'
-</code></pre>
-</div>
-
-<h2 id="pubsub">Pub/Sub</h2>
-
-<h3 id="syntax-2">Syntax</h3>
-
-<div class="highlighter-rouge"><pre class="highlight"><code>CREATE TABLE [ IF NOT EXISTS ] tableName
-  (
-   event_timestamp TIMESTAMP,
-   attributes MAP&lt;VARCHAR, VARCHAR&gt;,
-   payload ROW&lt;tableElement [, tableElement ]*&gt;
-  )
-TYPE pubsub
-LOCATION 'projects/[PROJECT]/topics/[TOPIC]'
-TBLPROPERTIES '{"timestampAttributeKey": "key", "deadLetterQueue": "projects/[PROJECT]/topics/[TOPIC]"}'
-</code></pre>
-</div>
-
-<ul>
-  <li><code class="highlighter-rouge">event_timestamp</code>: The event timestamp associated with the Pub/Sub message
-by PubsubIO. It can be one of the following:
-    <ul>
-      <li>Message publish time, which is provided by Pub/Sub. This is the default
-value if no extra configuration is provided.</li>
-      <li>A timestamp specified in one of the user-provided message attributes.
-The attribute key is configured by the <code class="highlighter-rouge">timestampAttributeKey</code> field of
-the <code class="highlighter-rouge">tblProperties</code> blob. The value of the attribute should conform to
-the <a href="https://beam.apache.org/releases/javadoc/2.4.0/org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.Read.html#withTimestampAttribute-java.lang.String-">requirements of
-PubsubIO</a>,
-which is either millis since Unix epoch or <a href="https://www.ietf.org/rfc/rfc3339.txt">RFC 339
-</a>date string.</li>
-    </ul>
-  </li>
-  <li><code class="highlighter-rouge">attributes</code>: The user-provided attributes map from the Pub/Sub message;</li>
-  <li><code class="highlighter-rouge">payload</code>: The schema of the JSON payload of the Pub/Sub message. No other
-payload formats are currently supported by Beam SQL. If a record can’t be
-unmarshalled, the record is written to the topic specified in the
-<code class="highlighter-rouge">deadLeaderQueue</code> field of the <code class="highlighter-rouge">tblProperties</code> blob. If no dead-letter queue
-is specified in this case, an exception is thrown and the pipeline will
-crash.</li>
-  <li><code class="highlighter-rouge">LOCATION</code>:
-    <ul>
-      <li><code class="highlighter-rouge">PROJECT</code>: ID of the Google Cloud Project</li>
-      <li><code class="highlighter-rouge">TOPIC</code>: The Pub/Sub topic name. A subscription will be created
-automatically, but the subscription is not cleaned up automatically.
-Specifying an existing subscription is not supported.</li>
-    </ul>
-  </li>
-  <li><code class="highlighter-rouge">TBLPROPERTIES</code>:
-    <ul>
-      <li><code class="highlighter-rouge">timestampAttributeKey</code>: Optional. The key which contains the event
-timestamp associated with the Pub/Sub message. If not specified, the
-message publish timestamp is used as an event timestamp for
-windowing/watermarking.</li>
-      <li><code class="highlighter-rouge">deadLetterQueue</code>: The topic into which messages are written if the
-payload was not parsed. If not specified, an exception is thrown for
-parsing failures.</li>
-    </ul>
-  </li>
-</ul>
-
-<h3 id="read-mode-1">Read Mode</h3>
-
-<p>PubsubIO is currently limited to read access only.</p>
-
-<h3 id="write-mode-1">Write Mode</h3>
-
-<p>Not supported. PubSubIO is currently limited to read access only in Beam SQL.</p>
-
-<h3 id="schema-1">Schema</h3>
-
-<p>Pub/Sub messages have metadata associated with them, and you can reference this
-metadata in your queries. For each message, Pub/Sub exposes its publish time and
-a map of user-provided attributes in addition to the payload (unstructured in
-the general case). This information must be preserved and accessible from the
-SQL statements. Currently, this means that PubsubIO tables require you to
-declare a special set of columns, as shown below.</p>
-
-<h3 id="supported-payload">Supported Payload</h3>
-
-<ul>
-  <li>JSON Objects
-    <ul>
-      <li>Beam only supports querying messages with payload containing JSON
-objects. Beam attempts to parse JSON to match the schema of the
-<code class="highlighter-rouge">payload</code> field.</li>
-    </ul>
-  </li>
-</ul>
-
-<h3 id="example-1">Example</h3>
-
-<div class="highlighter-rouge"><pre class="highlight"><code>CREATE TABLE locations (event_timestamp TIMESTAMP, attributes MAP&lt;VARCHAR, VARCHAR&gt;, payload ROW&lt;id INTEGER, location VARCHAR&gt;)
-TYPE pubsub
-LOCATION 'projects/testing-integration/topics/user-location'
-</code></pre>
-</div>
-
-<h2 id="kafka">Kafka</h2>
-
-<p>KafkaIO is experimental in Beam SQL.</p>
-
-<h3 id="syntax-3">Syntax</h3>
-
-<div class="highlighter-rouge"><pre class="highlight"><code>CREATE TABLE [ IF NOT EXISTS ] tableName (tableElement [, tableElement ]*)
-TYPE kafka
-LOCATION 'kafka://localhost:2181/brokers'
-TBLPROPERTIES '{"bootstrap.servers":"localhost:9092", "topics": ["topic1", "topic2"]}'
-</code></pre>
-</div>
-
-<ul>
-  <li><code class="highlighter-rouge">LOCATION</code>: The Kafka topic URL.</li>
-  <li><code class="highlighter-rouge">TBLPROPERTIES</code>:
-    <ul>
-      <li><code class="highlighter-rouge">bootstrap.servers</code>: Optional. Allows you to specify the bootstrap
-server.</li>
-      <li><code class="highlighter-rouge">topics</code>: Optional. Allows you to specify specific topics.</li>
-    </ul>
-  </li>
-</ul>
-
-<h3 id="read-mode-2">Read Mode</h3>
-
-<p>Read Mode supports reading from a topic.</p>
-
-<h3 id="write-mode-2">Write Mode</h3>
-
-<p>Write Mode supports writing to a topic.</p>
-
-<h3 id="supported-payload-1">Supported Payload</h3>
-
-<ul>
-  <li>CSV
-    <ul>
-      <li>Beam parses the messages, attempting to parse fields according to the
-types specified in the schema.</li>
-    </ul>
-  </li>
-</ul>
-
-<h3 id="schema-2">Schema</h3>
-
-<p>Only simple types are supported.</p>
-
-<h2 id="text">Text</h2>
-
-<p>TextIO is experimental in Beam SQL. Read Mode and Write Mode do not currently
-access the same underlying data.</p>
-
-<h3 id="syntax-4">Syntax</h3>
-
-<div class="highlighter-rouge"><pre class="highlight"><code>CREATE TABLE [ IF NOT EXISTS ] tableName (tableElement [, tableElement ]*)
-TYPE text
-LOCATION '/home/admin/orders'
-TBLPROPERTIES '{"format: "Excel"}'
-</code></pre>
-</div>
-
-<ul>
-  <li><code class="highlighter-rouge">LOCATION</code>: The path to the file for Read Mode. The prefix for Write Mode.</li>
-  <li><code class="highlighter-rouge">TBLPROPERTIES</code>:
-    <ul>
-      <li><code class="highlighter-rouge">format</code>: Optional. Allows you to specify the
-<a href="https://commons.apache.org/proper/commons-csv/archives/1.5/apidocs/org/apache/commons/csv/CSVFormat.Predefined.html">CSVFormat</a>.</li>
-    </ul>
-  </li>
-</ul>
-
-<h3 id="read-mode-3">Read Mode</h3>
-
-<p>Read Mode supports reading from a file.</p>
-
-<h3 id="write-mode-3">Write Mode</h3>
-
-<p>Write Mode supports writing to a set of files. TextIO creates file on writes.</p>
-
-<h3 id="supported-payload-2">Supported Payload</h3>
-
-<ul>
-  <li>CSV
-    <ul>
-      <li>Beam parses the messages, attempting to parse fields according to the
-types specified in the schema using org.apache.commons.csv.</li>
-    </ul>
-  </li>
-</ul>
-
-<h3 id="schema-3">Schema</h3>
-
-<p>Only simple types are supported.</p>
-
-<h3 id="example-2">Example</h3>
-
-<div class="highlighter-rouge"><pre class="highlight"><code>CREATE TABLE orders (id INTEGER, price INTEGER)
-TYPE text
-LOCATION '/home/admin/orders'
-</code></pre>
-</div>
-
-      </div>
-    </div>
-    <!--
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-   http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License. See accompanying LICENSE file.
--->
-
-<footer class="footer">
-  <div class="footer__contained">
-    <div class="footer__cols">
-      <div class="footer__cols__col">
-        <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" class="footer__logo" alt="Apache logo">
-        </div>
-      </div>
-      <div class="footer__cols__col footer__cols__col--md">
-        <div class="footer__cols__col__title">Start</div>
-        <div class="footer__cols__col__link"><a href="/get-started/beam-overview/">Overview</a></div>
-        <div class="footer__cols__col__link"><a href="/get-started/quickstart-java/">Quickstart (Java)</a></div>
-        <div class="footer__cols__col__link"><a href="/get-started/quickstart-py/">Quickstart (Python)</a></div>
-        <div class="footer__cols__col__link"><a href="/get-started/quickstart-go/">Quickstart (Go)</a></div>
-        <div class="footer__cols__col__link"><a href="/get-started/downloads/">Downloads</a></div>
-      </div>
-      <div class="footer__cols__col footer__cols__col--md">
-        <div class="footer__cols__col__title">Docs</div>
-        <div class="footer__cols__col__link"><a href="/documentation/programming-guide/">Concepts</a></div>
-        <div class="footer__cols__col__link"><a href="/documentation/pipelines/design-your-pipeline/">Pipelines</a></div>
-        <div class="footer__cols__col__link"><a href="/documentation/runners/capability-matrix/">Runners</a></div>
-      </div>
-      <div class="footer__cols__col footer__cols__col--md">
-        <div class="footer__cols__col__title">Community</div>
-        <div class="footer__cols__col__link"><a href="/contribute/">Contribute</a></div>
-        <div class="footer__cols__col__link"><a href="https://projects.apache.org/committee.html?beam" target="_blank">Team<img src="/images/external-link-icon.png"
-                                                                                                                                width="14" height="14"
-                                                                                                                                alt="External link."></a></div>
-        <div class="footer__cols__col__link"><a href="/contribute/presentation-materials/">Media</a></div>
-      </div>
-      <div class="footer__cols__col footer__cols__col--md">
-        <div class="footer__cols__col__title">Resources</div>
-        <div class="footer__cols__col__link"><a href="/blog/">Blog</a></div>
-        <div class="footer__cols__col__link"><a href="/get-started/support/">Support</a></div>
-        <div class="footer__cols__col__link"><a href="https://github.com/apache/beam">GitHub</a></div>
-      </div>
-    </div>
-  </div>
-  <div class="footer__bottom">
-    &copy;
-    <a href="http://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>
-</footer>
-
-  </body>
+<html lang="en-US">
+<meta charset="utf-8">
+<title>Redirecting…</title>
+<link rel="canonical" href="https://beam.apache.org/documentation/dsls/sql/create-external-table/">
+<meta http-equiv="refresh" content="0; url=https://beam.apache.org/documentation/dsls/sql/create-external-table/">
+<h1>Redirecting…</h1>
+<a href="https://beam.apache.org/documentation/dsls/sql/create-external-table/">Click here if you are not redirected.</a>
+<script>location="https://beam.apache.org/documentation/dsls/sql/create-external-table/"</script>
 </html>
diff --git a/website/generated-content/documentation/dsls/sql/data-types/index.html b/website/generated-content/documentation/dsls/sql/data-types/index.html
index 58c6319..7017594 100644
--- a/website/generated-content/documentation/dsls/sql/data-types/index.html
+++ b/website/generated-content/documentation/dsls/sql/data-types/index.html
@@ -142,7 +142,7 @@
   <span class="section-nav-list-title">Java</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/java/">Java SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/javadoc/2.6.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/javadoc/2.7.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -156,7 +156,7 @@
   <span class="section-nav-list-title">Python</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/python/">Python SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/pydoc/2.6.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/pydoc/2.7.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -190,7 +190,7 @@
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
         <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
-        <li><a href="/documentation/dsls/sql/create-table/">CREATE TABLE</a></li>
+        <li><a href="/documentation/dsls/sql/create-external-table/">CREATE EXTERNAL TABLE</a></li>
         <li><a href="/documentation/dsls/sql/select/">SELECT</a></li>
         <li><a href="/documentation/dsls/sql/windowing-and-triggering/">Windowing & Triggering</a></li>
         <li><a href="/documentation/dsls/sql/joins/">Joins</a></li>
diff --git a/website/generated-content/documentation/dsls/sql/joins/index.html b/website/generated-content/documentation/dsls/sql/joins/index.html
index 1ef8463..d9f216e 100644
--- a/website/generated-content/documentation/dsls/sql/joins/index.html
+++ b/website/generated-content/documentation/dsls/sql/joins/index.html
@@ -142,7 +142,7 @@
   <span class="section-nav-list-title">Java</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/java/">Java SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/javadoc/2.6.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/javadoc/2.7.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -156,7 +156,7 @@
   <span class="section-nav-list-title">Python</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/python/">Python SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/pydoc/2.6.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/pydoc/2.7.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -190,7 +190,7 @@
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
         <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
-        <li><a href="/documentation/dsls/sql/create-table/">CREATE TABLE</a></li>
+        <li><a href="/documentation/dsls/sql/create-external-table/">CREATE EXTERNAL TABLE</a></li>
         <li><a href="/documentation/dsls/sql/select/">SELECT</a></li>
         <li><a href="/documentation/dsls/sql/windowing-and-triggering/">Windowing & Triggering</a></li>
         <li><a href="/documentation/dsls/sql/joins/">Joins</a></li>
diff --git a/website/generated-content/documentation/dsls/sql/lexical/index.html b/website/generated-content/documentation/dsls/sql/lexical/index.html
index 779c589..5d2de69 100644
--- a/website/generated-content/documentation/dsls/sql/lexical/index.html
+++ b/website/generated-content/documentation/dsls/sql/lexical/index.html
@@ -142,7 +142,7 @@
   <span class="section-nav-list-title">Java</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/java/">Java SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/javadoc/2.6.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/javadoc/2.7.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -156,7 +156,7 @@
   <span class="section-nav-list-title">Python</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/python/">Python SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/pydoc/2.6.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/pydoc/2.7.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -190,7 +190,7 @@
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
         <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
-        <li><a href="/documentation/dsls/sql/create-table/">CREATE TABLE</a></li>
+        <li><a href="/documentation/dsls/sql/create-external-table/">CREATE EXTERNAL TABLE</a></li>
         <li><a href="/documentation/dsls/sql/select/">SELECT</a></li>
         <li><a href="/documentation/dsls/sql/windowing-and-triggering/">Windowing & Triggering</a></li>
         <li><a href="/documentation/dsls/sql/joins/">Joins</a></li>
diff --git a/website/generated-content/documentation/dsls/sql/overview/index.html b/website/generated-content/documentation/dsls/sql/overview/index.html
index 0cc19ae..05ea2f1 100644
--- a/website/generated-content/documentation/dsls/sql/overview/index.html
+++ b/website/generated-content/documentation/dsls/sql/overview/index.html
@@ -142,7 +142,7 @@
   <span class="section-nav-list-title">Java</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/java/">Java SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/javadoc/2.6.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/javadoc/2.7.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -156,7 +156,7 @@
   <span class="section-nav-list-title">Python</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/python/">Python SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/pydoc/2.6.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/pydoc/2.7.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -190,7 +190,7 @@
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
         <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
-        <li><a href="/documentation/dsls/sql/create-table/">CREATE TABLE</a></li>
+        <li><a href="/documentation/dsls/sql/create-external-table/">CREATE EXTERNAL TABLE</a></li>
         <li><a href="/documentation/dsls/sql/select/">SELECT</a></li>
         <li><a href="/documentation/dsls/sql/windowing-and-triggering/">Windowing & Triggering</a></li>
         <li><a href="/documentation/dsls/sql/joins/">Joins</a></li>
@@ -256,9 +256,9 @@ big data processing with some streaming enhancements. Calcite provides the
 basic dialect underlying Beam SQL. We have added additional extensions to
 make it easy to leverage Beam’s unified batch/streaming model and support
 for complex data types.</li>
-  <li><a href="https://beam.apache.org/releases/javadoc/2.6.0/index.html?org/apache/beam/sdk/extensions/sql/SqlTransform.html">SqlTransform</a>: 
+  <li><a href="https://beam.apache.org/releases/javadoc/2.7.0/index.html?org/apache/beam/sdk/extensions/sql/SqlTransform.html">SqlTransform</a>: 
 the interface for creating <code class="highlighter-rouge">PTransforms</code> from SQL queries.</li>
-  <li><a href="https://beam.apache.org/releases/javadoc/2.6.0/index.html?org/apache/beam/sdk/values/Row.html">Row</a>:
+  <li><a href="https://beam.apache.org/releases/javadoc/2.7.0/index.html?org/apache/beam/sdk/values/Row.html">Row</a>:
 the type of elements that Beam SQL operates on. A <code class="highlighter-rouge">PCollection&lt;Row&gt;</code> plays the role of a table.</li>
 </ul>
 
diff --git a/website/generated-content/documentation/dsls/sql/scalar-functions/index.html b/website/generated-content/documentation/dsls/sql/scalar-functions/index.html
index 7fcce88..244e3a2 100644
--- a/website/generated-content/documentation/dsls/sql/scalar-functions/index.html
+++ b/website/generated-content/documentation/dsls/sql/scalar-functions/index.html
@@ -142,7 +142,7 @@
   <span class="section-nav-list-title">Java</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/java/">Java SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/javadoc/2.6.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/javadoc/2.7.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -156,7 +156,7 @@
   <span class="section-nav-list-title">Python</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/python/">Python SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/pydoc/2.6.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/pydoc/2.7.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -190,7 +190,7 @@
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
         <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
-        <li><a href="/documentation/dsls/sql/create-table/">CREATE TABLE</a></li>
+        <li><a href="/documentation/dsls/sql/create-external-table/">CREATE EXTERNAL TABLE</a></li>
         <li><a href="/documentation/dsls/sql/select/">SELECT</a></li>
         <li><a href="/documentation/dsls/sql/windowing-and-triggering/">Windowing & Triggering</a></li>
         <li><a href="/documentation/dsls/sql/joins/">Joins</a></li>
diff --git a/website/generated-content/documentation/dsls/sql/select/index.html b/website/generated-content/documentation/dsls/sql/select/index.html
index 246ef64..c9226f5 100644
--- a/website/generated-content/documentation/dsls/sql/select/index.html
+++ b/website/generated-content/documentation/dsls/sql/select/index.html
@@ -142,7 +142,7 @@
   <span class="section-nav-list-title">Java</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/java/">Java SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/javadoc/2.6.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/javadoc/2.7.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -156,7 +156,7 @@
   <span class="section-nav-list-title">Python</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/python/">Python SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/pydoc/2.6.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/pydoc/2.7.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -190,7 +190,7 @@
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
         <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
-        <li><a href="/documentation/dsls/sql/create-table/">CREATE TABLE</a></li>
+        <li><a href="/documentation/dsls/sql/create-external-table/">CREATE EXTERNAL TABLE</a></li>
         <li><a href="/documentation/dsls/sql/select/">SELECT</a></li>
         <li><a href="/documentation/dsls/sql/windowing-and-triggering/">Windowing & Triggering</a></li>
         <li><a href="/documentation/dsls/sql/joins/">Joins</a></li>
@@ -222,6 +222,75 @@
 
 
 
+<ul class="nav">
+  <li><a href="#sql-syntax">SQL Syntax</a></li>
+  <li><a href="#select-list">SELECT list</a>
+    <ul>
+      <li><a href="#select-">SELECT *</a></li>
+      <li><a href="#select-expression">SELECT <code class="highlighter-rouge">expression</code></a></li>
+      <li><a href="#select-expression_1">SELECT <code class="highlighter-rouge">expression.*</code></a></li>
+      <li><a href="#select-modifiers">SELECT modifiers</a></li>
+      <li><a href="#aliases">Aliases</a></li>
+    </ul>
+  </li>
+  <li><a href="#from-clause">FROM clause</a>
+    <ul>
+      <li><a href="#syntax">Syntax</a></li>
+      <li><a href="#subqueries">Subqueries</a></li>
+      <li><a href="#aliases_1">Aliases</a></li>
+    </ul>
+  </li>
+  <li><a href="#join-types">JOIN types</a>
+    <ul>
+      <li><a href="#syntax_1">Syntax</a></li>
+      <li><a href="#inner-join">[INNER] JOIN</a></li>
+      <li><a href="#cross-join">CROSS JOIN</a></li>
+      <li><a href="#full-outer-join">FULL [OUTER] JOIN</a></li>
+      <li><a href="#left-outer-join">LEFT [OUTER] JOIN</a></li>
+      <li><a href="#right-outer-join">RIGHT [OUTER] JOIN</a></li>
+      <li><a href="#on-clause">ON clause</a></li>
+      <li><a href="#using-clause">USING clause</a></li>
+      <li><a href="#sequences-of-joins">Sequences of JOINs</a></li>
+    </ul>
+  </li>
+  <li><a href="#where-clause">WHERE clause</a>
+    <ul>
+      <li><a href="#syntax_2">Syntax</a></li>
+    </ul>
+  </li>
+  <li><a href="#group-by-clause">GROUP BY clause</a>
+    <ul>
+      <li><a href="#syntax_3">Syntax</a></li>
+    </ul>
+  </li>
+  <li><a href="#having-clause">HAVING clause</a>
+    <ul>
+      <li><a href="#syntax_4">Syntax</a></li>
+    </ul>
+  </li>
+  <li><a href="#set-operators">Set operators</a>
+    <ul>
+      <li><a href="#syntax_6">Syntax</a></li>
+      <li><a href="#union">UNION</a></li>
+      <li><a href="#intersect">INTERSECT</a></li>
+      <li><a href="#except">EXCEPT</a></li>
+    </ul>
+  </li>
+  <li><a href="#limit-clause-and-offset-clause">LIMIT clause and OFFSET clause</a>
+    <ul>
+      <li><a href="#syntax_7">Syntax</a></li>
+    </ul>
+  </li>
+  <li><a href="#with-clause">WITH clause</a></li>
+  <li><a href="#aliases_2">Aliases</a>
+    <ul>
+      <li><a href="#explicit-alias-syntax">Explicit alias syntax</a></li>
+      <li><a href="#explicit-alias-visibility">Explicit alias visibility</a></li>
+      <li><a href="#ambiguous-aliases">Ambiguous aliases</a></li>
+      <li><a href="#implicit-aliases">Implicit aliases</a></li>
+    </ul>
+  </li>
+</ul>
 
 
       </nav>
@@ -256,62 +325,736 @@ batch/streaming model:</p>
   <li><a href="/documentation/dsls/sql/windowing-and-triggering/">Windowing &amp; Triggering</a></li>
 </ul>
 
-<p>Below is a curated grammar of the supported syntax in Beam SQL</p>
+<p>Query statements scan one or more tables or expressions and return the computed
+result rows. This topic describes the syntax for SQL queries in Beam.</p>
+
+<h2 id="sql-syntax">SQL Syntax</h2>
 
-<div class="highlighter-rouge"><pre class="highlight"><code>query:
-	{
-          select
-      |   query UNION [ ALL ] query
-      |   query MINUS [ ALL ] query
-      |   query INTERSECT [ ALL ] query
-	}
-    [ ORDER BY orderItem [, orderItem ]* LIMIT count [OFFSET offset] ]
+<div class="highlighter-rouge"><pre class="highlight"><code>query_statement:
+    [ WITH with_query_name AS ( query_expr ) [, ...] ]
+    query_expr
 
-orderItem:
-      expression [ ASC | DESC ]
+query_expr:
+    { select | ( query_expr ) | query_expr set_op query_expr }
+    [ LIMIT count [ OFFSET skip_rows ] ]
 
 select:
-      SELECT
-          { * | projectItem [, projectItem ]* }
-      FROM tableExpression
-      [ WHERE booleanExpression ]
-      [ GROUP BY { groupItem [, groupItem ]* } ]
-      [ HAVING booleanExpression ]
+    SELECT  [{ ALL | DISTINCT }]
+        { [ expression. ]* [ EXCEPT ( column_name [, ...] ) ]
+            [ REPLACE ( expression [ AS ] column_name [, ...] ) ]
+        | expression [ [ AS ] alias ] } [, ...]
+    [ FROM from_item  [, ...] ]
+    [ WHERE bool_expression ]
+    [ GROUP BY { expression [, ...] | ROLLUP ( expression [, ...] ) } ]
+    [ HAVING bool_expression ]
+
+set_op:
+    UNION { ALL | DISTINCT } | INTERSECT DISTINCT | EXCEPT DISTINCT
+
+from_item: {
+    table_name [ [ AS ] alias ] |
+    join |
+    ( query_expr ) [ [ AS ] alias ]
+    with_query_name [ [ AS ] alias ]
+}
+
+join:
+    from_item [ join_type ] JOIN from_item
+    [ { ON bool_expression | USING ( join_column [, ...] ) } ]
+
+join_type:
+    { INNER | CROSS | FULL [OUTER] | LEFT [OUTER] | RIGHT [OUTER] }
+</code></pre>
+</div>
+
+<p>Notation:</p>
+
+<ul>
+  <li>Square brackets “[ ]” indicate optional clauses.</li>
+  <li>Parentheses “( )” indicate literal parentheses.</li>
+  <li>
+    <table>
+      <tbody>
+        <tr>
+          <td>The vertical bar “</td>
+          <td>” indicates a logical OR.</td>
+        </tr>
+      </tbody>
+    </table>
+  </li>
+  <li>Curly braces “{ }” enclose a set of options.</li>
+  <li>A comma followed by an ellipsis within square brackets “[, … ]”
+indicates that the preceding item can repeat in a comma-separated list.</li>
+</ul>
+
+<h2 id="select-list">SELECT list</h2>
+
+<p>Syntax:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>SELECT  [{ ALL | DISTINCT }]
+    { [ expression. ]*
+    | expression [ [ AS ] alias ] } [, ...]
+</code></pre>
+</div>
+
+<p>The <code class="highlighter-rouge">SELECT</code> list defines the columns that the query will return. Expressions in
+the <code class="highlighter-rouge">SELECT</code> list can refer to columns in any of the <code class="highlighter-rouge">from_item</code>s in its
+corresponding <code class="highlighter-rouge">FROM</code> clause.</p>
+
+<p>Each item in the <code class="highlighter-rouge">SELECT</code> list is one of:</p>
+
+<ul>
+  <li>*</li>
+  <li><code class="highlighter-rouge">expression</code></li>
+  <li><code class="highlighter-rouge">expression.*</code></li>
+</ul>
+
+<h3 id="select-">SELECT *</h3>
+
+<p><code class="highlighter-rouge">SELECT *</code>, often referred to as <em>select star</em>, produces one output column for
+each column that is visible after executing the full query.</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>SELECT * FROM (SELECT 'apple' AS fruit, 'carrot' AS vegetable);
+
++-------+-----------+
+| fruit | vegetable |
++-------+-----------+
+| apple | carrot    |
++-------+-----------+
+</code></pre>
+</div>
+
+<h3 id="select-expression">SELECT <code class="highlighter-rouge">expression</code></h3>
+
+<p>Items in a <code class="highlighter-rouge">SELECT</code> list can be expressions. These expressions evaluate to a
+single value and produce one output column, with an optional explicit <code class="highlighter-rouge">alias</code>.</p>
+
+<p>If the expression does not have an explicit alias, it receives an implicit alias
+according to the rules for <a href="#implicit-aliases">implicit aliases</a>, if possible.
+Otherwise, the column is anonymous and you cannot refer to it by name elsewhere
+in the query.</p>
+
+<h3 id="select-expression_1">SELECT <code class="highlighter-rouge">expression.*</code></h3>
+
+<p>An item in a <code class="highlighter-rouge">SELECT</code> list can also take the form of <code class="highlighter-rouge">expression.*</code>. This
+produces one output column for each column or top-level field of <code class="highlighter-rouge">expression</code>.
+The expression must be a table alias.</p>
+
+<p>The following query produces one output column for each column in the table
+<code class="highlighter-rouge">groceries</code>, aliased as <code class="highlighter-rouge">g</code>.</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>WITH groceries AS
+  (SELECT 'milk' AS dairy,
+   'eggs' AS protein,
+   'bread' AS grain)
+SELECT g.*
+FROM groceries AS g;
+
++-------+---------+-------+
+| dairy | protein | grain |
++-------+---------+-------+
+| milk  | eggs    | bread |
++-------+---------+-------+
+</code></pre>
+</div>
+
+<h3 id="select-modifiers">SELECT modifiers</h3>
+
+<p>You can modify the results returned from a <code class="highlighter-rouge">SELECT</code> query, as follows.</p>
+
+<h4 id="select-distinct">SELECT DISTINCT</h4>
+
+<p>A <code class="highlighter-rouge">SELECT DISTINCT</code> statement discards duplicate rows and returns only the
+remaining rows. <code class="highlighter-rouge">SELECT DISTINCT</code> cannot return columns of the following types:</p>
+
+<ul>
+  <li>STRUCT</li>
+  <li>ARRAY</li>
+</ul>
+
+<h4 id="select-all">SELECT ALL</h4>
+
+<p>A <code class="highlighter-rouge">SELECT ALL</code> statement returns all rows, including duplicate rows. <code class="highlighter-rouge">SELECT
+ALL</code> is the default behavior of <code class="highlighter-rouge">SELECT</code>.</p>
+
+<h3 id="aliases">Aliases</h3>
+
+<p>See <a href="#aliases_2">Aliases</a> for information on syntax and visibility for
+<code class="highlighter-rouge">SELECT</code> list aliases.</p>
+
+<h2 id="from-clause">FROM clause</h2>
+
+<p>The <code class="highlighter-rouge">FROM</code> clause indicates the table or tables from which to retrieve rows, and
+specifies how to join those rows together to produce a single stream of rows for
+processing in the rest of the query.</p>
+
+<h3 id="syntax">Syntax</h3>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>from_item: {
+    table_name [ [ AS ] alias ] |
+    join |
+    ( query_expr ) [ [ AS ] alias ] |
+    with_query_name [ [ AS ] alias ]
+}
+</code></pre>
+</div>
+
+<h4 id="table_name">table_name</h4>
+
+<p>The name (optionally qualified) of an existing table.</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>SELECT * FROM Roster;
+SELECT * FROM beam.Roster;
+</code></pre>
+</div>
+
+<h4 id="join">join</h4>
+
+<p>See <a href="#join-types">JOIN Types</a> below and <a href="/documentation/dsls/sql/joins">Joins</a>.</p>
+
+<h4 id="select_1">select</h4>
+
+<p><code class="highlighter-rouge">( select ) [ [ AS ] alias ]</code> is a table <a href="#subqueries">subquery</a>.</p>
+
+<h4 id="with_query_name">with_query_name</h4>
+
+<p>The query names in a <code class="highlighter-rouge">WITH</code> clause (see <a href="#with-clause">WITH Clause</a>) act like
+names of temporary tables that you can reference anywhere in the <code class="highlighter-rouge">FROM</code> clause.
+In the example below, <code class="highlighter-rouge">subQ1</code> and <code class="highlighter-rouge">subQ2</code> are <code class="highlighter-rouge">with_query_names</code>.</p>
+
+<p>Example:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>WITH
+  subQ1 AS (SELECT * FROM Roster WHERE SchoolID = 52),
+  subQ2 AS (SELECT SchoolID FROM subQ1)
+SELECT DISTINCT * FROM subQ2;
+</code></pre>
+</div>
+
+<p>The <code class="highlighter-rouge">WITH</code> clause hides any permanent tables with the same name for the duration
+of the query, unless you qualify the table name, e.g. <code class="highlighter-rouge">beam.Roster</code>.</p>
+
+<h3 id="subqueries">Subqueries</h3>
+
+<p>A subquery is a query that appears inside another statement, and is written
+inside parentheses. These are also referred to as “sub-SELECTs” or “nested
+SELECTs”. The full <code class="highlighter-rouge">SELECT</code> syntax is valid in subqueries.</p>
+
+<p>There are two types of subquery:</p>
+
+<ul>
+  <li>Expression Subqueries
+which you can use in a query wherever expressions are valid. Expression
+subqueries return a single value.</li>
+  <li>Table subqueries, which you can use only in a <code class="highlighter-rouge">FROM</code> clause. The outer query
+treats the result of the subquery as a table.</li>
+</ul>
+
+<p>Note that there must be parentheses around both types of subqueries.</p>
+
+<p>Example:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>SELECT AVG ( PointsScored )
+FROM
+( SELECT PointsScored
+  FROM Stats
+  WHERE SchoolID = 77 )
+</code></pre>
+</div>
+
+<p>Optionally, a table subquery can have an alias.</p>
+
+<p>Example:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>SELECT r.LastName
+FROM
+( SELECT * FROM Roster) AS r;
+</code></pre>
+</div>
+
+<h3 id="aliases_1">Aliases</h3>
+
+<p>See <a href="#aliases_2">Aliases</a> for information on syntax and visibility for
+<code class="highlighter-rouge">FROM</code> clause aliases.</p>
+
+<h2 id="join-types">JOIN types</h2>
+
+<p>Also see <a href="/documentation/dsls/sql/joins">Joins</a>.</p>
+
+<h3 id="syntax_1">Syntax</h3>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>join:
+    from_item [ join_type ] JOIN from_item
+    [ ON bool_expression | USING ( join_column [, ...] ) ]
+
+join_type:
+    { INNER | CROSS | FULL [OUTER] | LEFT [OUTER] | RIGHT [OUTER] }
+</code></pre>
+</div>
+
+<p>The <code class="highlighter-rouge">JOIN</code> clause merges two <code class="highlighter-rouge">from_item</code>s so that the <code class="highlighter-rouge">SELECT</code> clause can query
+them as one source. The <code class="highlighter-rouge">join_type</code> and <code class="highlighter-rouge">ON</code> or <code class="highlighter-rouge">USING</code> clause (a “join
+condition”) specify how to combine and discard rows from the two <code class="highlighter-rouge">from_item</code>s to
+form a single source.</p>
+
+<p>All <code class="highlighter-rouge">JOIN</code> clauses require a <code class="highlighter-rouge">join_type</code>.</p>
+
+<p>A <code class="highlighter-rouge">JOIN</code> clause requires a join condition unless one of the following conditions
+is true:</p>
+
+<ul>
+  <li><code class="highlighter-rouge">join_type</code> is <code class="highlighter-rouge">CROSS</code>.</li>
+  <li>One or both of the <code class="highlighter-rouge">from_item</code>s is not a table, e.g. an <code class="highlighter-rouge">array_path</code> or
+<code class="highlighter-rouge">field_path</code>.</li>
+</ul>
 
-projectItem:
-      expression [ [ AS ] columnAlias ]
-  |   tableAlias . *
+<h3 id="inner-join">[INNER] JOIN</h3>
 
-tableExpression:
-      tableReference [, tableReference ]*
-  |   tableExpression [ ( LEFT | RIGHT ) [ OUTER ] ] JOIN tableExpression [ joinCondition ]
+<p>An <code class="highlighter-rouge">INNER JOIN</code>, or simply <code class="highlighter-rouge">JOIN</code>, effectively calculates the Cartesian product
+of the two <code class="highlighter-rouge">from_item</code>s and discards all rows that do not meet the join
+condition. “Effectively” means that it is possible to implement an <code class="highlighter-rouge">INNER JOIN</code>
+without actually calculating the Cartesian product.</p>
 
-booleanExpression:
-    expression [ IS NULL | IS NOT NULL ]
-  | expression [ &gt; | &gt;= | = | &lt; | &lt;= | &lt;&gt; ] expression
-  | booleanExpression [ AND | OR ] booleanExpression
-  | NOT booleanExpression
-  | '(' booleanExpression ')'
+<h3 id="cross-join">CROSS JOIN</h3>
 
-joinCondition:
-      ON booleanExpression
+<p><code class="highlighter-rouge">CROSS JOIN</code> is generally not yet supported.</p>
 
-tableReference:
-      tableName [ [ AS ] alias ]
+<h3 id="full-outer-join">FULL [OUTER] JOIN</h3>
 
-values:
-      VALUES expression [, expression ]*
+<p>A <code class="highlighter-rouge">FULL OUTER JOIN</code> (or simply <code class="highlighter-rouge">FULL JOIN</code>) returns all fields for all rows in
+both <code class="highlighter-rouge">from_item</code>s that meet the join condition.</p>
 
-groupItem:
-      expression
-  |   '(' expression [, expression ]* ')'
-  |   HOP '(' expression [, expression ]* ')'
-  |   TUMBLE '(' expression [, expression ]* ')'
-  |   SESSION '(' expression [, expression ]* ')'
+<p><code class="highlighter-rouge">FULL</code> indicates that <em>all rows</em> from both <code class="highlighter-rouge">from_item</code>s are returned, even if
+they do not meet the join condition. For streaming jobs, all rows that are
+not late according to default trigger and belonging to the same window
+if there’s non-global window applied.</p>
 
+<p><code class="highlighter-rouge">OUTER</code> indicates that if a given row from one <code class="highlighter-rouge">from_item</code> does not join to any
+row in the other <code class="highlighter-rouge">from_item</code>, the row will return with NULLs for all columns
+from the other <code class="highlighter-rouge">from_item</code>.</p>
+
+<p>Also see <a href="/documentation/dsls/sql/joins">Joins</a>.</p>
+
+<h3 id="left-outer-join">LEFT [OUTER] JOIN</h3>
+
+<p>The result of a <code class="highlighter-rouge">LEFT OUTER JOIN</code> (or simply <code class="highlighter-rouge">LEFT JOIN</code>) for two <code class="highlighter-rouge">from_item</code>s
+always retains all rows of the left <code class="highlighter-rouge">from_item</code> in the <code class="highlighter-rouge">JOIN</code> clause, even if no
+rows in the right <code class="highlighter-rouge">from_item</code> satisfy the join predicate.</p>
+
+<p><code class="highlighter-rouge">LEFT</code> indicates that all rows from the <em>left</em> <code class="highlighter-rouge">from_item</code> are returned; if a
+given row from the left <code class="highlighter-rouge">from_item</code> does not join to any row in the <em>right</em>
+<code class="highlighter-rouge">from_item</code>, the row will return with NULLs for all columns from the right
+<code class="highlighter-rouge">from_item</code>. Rows from the right <code class="highlighter-rouge">from_item</code> that do not join to any row in the
+left <code class="highlighter-rouge">from_item</code> are discarded.</p>
+
+<h3 id="right-outer-join">RIGHT [OUTER] JOIN</h3>
+
+<p>The result of a <code class="highlighter-rouge">RIGHT OUTER JOIN</code> (or simply <code class="highlighter-rouge">RIGHT JOIN</code>) is similar and
+symmetric to that of <code class="highlighter-rouge">LEFT OUTER JOIN</code>.</p>
+
+<h3 id="on-clause">ON clause</h3>
+
+<p>The <code class="highlighter-rouge">ON</code> clause contains a <code class="highlighter-rouge">bool_expression</code>. A combined row (the result of
+joining two rows) meets the join condition if <code class="highlighter-rouge">bool_expression</code> returns TRUE.</p>
+
+<p>Example:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>SELECT * FROM Roster INNER JOIN PlayerStats
+ON Roster.LastName = PlayerStats.LastName;
+</code></pre>
+</div>
+
+<h3 id="using-clause">USING clause</h3>
+
+<p>The <code class="highlighter-rouge">USING</code> clause requires a <code class="highlighter-rouge">column_list</code> of one or more columns which occur
+in both input tables. It performs an equality comparison on that column, and the
+rows meet the join condition if the equality comparison returns TRUE.</p>
+
+<p>In most cases, a statement with the <code class="highlighter-rouge">USING</code> keyword is equivalent to using the
+<code class="highlighter-rouge">ON</code> keyword. For example, the statement:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>SELECT FirstName
+FROM Roster INNER JOIN PlayerStats
+USING (LastName);
+</code></pre>
+</div>
+
+<p>is equivalent to:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>SELECT FirstName
+FROM Roster INNER JOIN PlayerStats
+ON Roster.LastName = PlayerStats.LastName;
 </code></pre>
 </div>
 
+<p>The results from queries with <code class="highlighter-rouge">USING</code> do differ from queries that use <code class="highlighter-rouge">ON</code> when
+you use <code class="highlighter-rouge">SELECT *</code>. To illustrate this, consider the query:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>SELECT * FROM Roster INNER JOIN PlayerStats
+USING (LastName);
+</code></pre>
+</div>
+
+<p>This statement returns the rows from <code class="highlighter-rouge">Roster</code> and <code class="highlighter-rouge">PlayerStats</code> where
+<code class="highlighter-rouge">Roster.LastName</code> is the same as <code class="highlighter-rouge">PlayerStats.LastName</code>. The results include a
+single <code class="highlighter-rouge">LastName</code> column.</p>
+
+<p>By contrast, consider the following query:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>SELECT * FROM Roster INNER JOIN PlayerStats
+ON Roster.LastName = PlayerStats.LastName;
+</code></pre>
+</div>
+
+<p>This statement returns the rows from <code class="highlighter-rouge">Roster</code> and <code class="highlighter-rouge">PlayerStats</code> where
+<code class="highlighter-rouge">Roster.LastName</code> is the same as <code class="highlighter-rouge">PlayerStats.LastName</code>. The results include two
+<code class="highlighter-rouge">LastName</code> columns; one from <code class="highlighter-rouge">Roster</code> and one from <code class="highlighter-rouge">PlayerStats</code>.</p>
+
+<h3 id="sequences-of-joins">Sequences of JOINs</h3>
+
+<p>The <code class="highlighter-rouge">FROM</code> clause can contain multiple <code class="highlighter-rouge">JOIN</code> clauses in sequence.</p>
+
+<p>Example:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>SELECT * FROM a LEFT JOIN b ON TRUE LEFT JOIN c ON TRUE;
+</code></pre>
+</div>
+
+<p>where <code class="highlighter-rouge">a</code>, <code class="highlighter-rouge">b</code>, and <code class="highlighter-rouge">c</code> are any <code class="highlighter-rouge">from_item</code>s. JOINs are bound from left to
+right, but you can insert parentheses to group them in a different order.</p>
+
+<h2 id="where-clause">WHERE clause</h2>
+
+<h3 id="syntax_2">Syntax</h3>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>WHERE bool_expression
+</code></pre>
+</div>
+
+<p>The <code class="highlighter-rouge">WHERE</code> clause filters out rows by evaluating each row against
+<code class="highlighter-rouge">bool_expression</code>, and discards all rows that do not return TRUE (that is, rows
+that return FALSE or NULL).</p>
+
+<p>Example:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>SELECT * FROM Roster
+WHERE SchoolID = 52;
+</code></pre>
+</div>
+
+<p>The <code class="highlighter-rouge">bool_expression</code> can contain multiple sub-conditions.</p>
+
+<p>Example:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>SELECT * FROM Roster
+WHERE LastName LIKE 'Mc%' OR LastName LIKE 'Mac%';
+</code></pre>
+</div>
+
+<p>You cannot reference column aliases from the <code class="highlighter-rouge">SELECT</code> list in the <code class="highlighter-rouge">WHERE</code>
+clause.</p>
+
+<p>Expressions in an <code class="highlighter-rouge">INNER JOIN</code> have an equivalent expression in the <code class="highlighter-rouge">WHERE</code>
+clause. For example, a query using <code class="highlighter-rouge">INNER</code> <code class="highlighter-rouge">JOIN</code> and <code class="highlighter-rouge">ON</code> has an equivalent
+expression using <code class="highlighter-rouge">CROSS JOIN</code> and <code class="highlighter-rouge">WHERE</code>.</p>
+
+<p>Example - this query:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>SELECT * FROM Roster INNER JOIN TeamMascot
+ON Roster.SchoolID = TeamMascot.SchoolID;
+</code></pre>
+</div>
+
+<p>is equivalent to:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>SELECT * FROM Roster CROSS JOIN TeamMascot
+WHERE Roster.SchoolID = TeamMascot.SchoolID;
+</code></pre>
+</div>
+
+<h2 id="group-by-clause">GROUP BY clause</h2>
+
+<p>Also see <a href="/documentation/dsls/sql/windowing-and-triggering/">Windowing &amp; Triggering</a></p>
+
+<h3 id="syntax_3">Syntax</h3>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>GROUP BY { expression [, ...] | ROLLUP ( expression [, ...] ) }
+</code></pre>
+</div>
+
+<p>The <code class="highlighter-rouge">GROUP BY</code> clause groups together rows in a table with non-distinct values
+for the <code class="highlighter-rouge">expression</code> in the <code class="highlighter-rouge">GROUP BY</code> clause. For multiple rows in the source
+table with non-distinct values for <code class="highlighter-rouge">expression</code>, the <code class="highlighter-rouge">GROUP BY</code> clause produces
+a single combined row. <code class="highlighter-rouge">GROUP BY</code> is commonly used when aggregate functions are
+present in the <code class="highlighter-rouge">SELECT</code> list, or to eliminate redundancy in the output.</p>
+
+<p>Example:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>SELECT SUM(PointsScored), LastName
+FROM PlayerStats
+GROUP BY LastName;
+</code></pre>
+</div>
+
+<h2 id="having-clause">HAVING clause</h2>
+
+<h3 id="syntax_4">Syntax</h3>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>HAVING bool_expression
+</code></pre>
+</div>
+
+<p>The <code class="highlighter-rouge">HAVING</code> clause is similar to the <code class="highlighter-rouge">WHERE</code> clause: it filters out rows that
+do not return TRUE when they are evaluated against the <code class="highlighter-rouge">bool_expression</code>.</p>
+
+<p>As with the <code class="highlighter-rouge">WHERE</code> clause, the <code class="highlighter-rouge">bool_expression</code> can be any expression that
+returns a boolean, and can contain multiple sub-conditions.</p>
+
+<p>The <code class="highlighter-rouge">HAVING</code> clause differs from the <code class="highlighter-rouge">WHERE</code> clause in that:</p>
+
+<ul>
+  <li>The <code class="highlighter-rouge">HAVING</code> clause requires <code class="highlighter-rouge">GROUP BY</code> or aggregation to be present in the
+query.</li>
+  <li>The <code class="highlighter-rouge">HAVING</code> clause occurs after <code class="highlighter-rouge">GROUP BY</code> and aggregation.
+This means that the <code class="highlighter-rouge">HAVING</code> clause is evaluated once for every
+aggregated row in the result set. This differs from the <code class="highlighter-rouge">WHERE</code> clause,
+which is evaluated before <code class="highlighter-rouge">GROUP BY</code> and aggregation.</li>
+</ul>
+
+<p>The <code class="highlighter-rouge">HAVING</code> clause can reference columns available via the <code class="highlighter-rouge">FROM</code> clause, as
+well as <code class="highlighter-rouge">SELECT</code> list aliases. Expressions referenced in the <code class="highlighter-rouge">HAVING</code> clause
+must either appear in the <code class="highlighter-rouge">GROUP BY</code> clause or they must be the result of an
+aggregate function:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>SELECT LastName
+FROM Roster
+GROUP BY LastName
+HAVING SUM(PointsScored) &gt; 15;
+</code></pre>
+</div>
+
+<h2 id="set-operators">Set operators</h2>
+
+<h3 id="syntax_6">Syntax</h3>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>UNION { ALL | DISTINCT } | INTERSECT DISTINCT | EXCEPT DISTINCT
+</code></pre>
+</div>
+
+<p>Set operators combine results from two or more input queries into a single
+result set. You must specify <code class="highlighter-rouge">ALL</code> or <code class="highlighter-rouge">DISTINCT</code>; if you specify <code class="highlighter-rouge">ALL</code>, then all
+rows are retained. If <code class="highlighter-rouge">DISTINCT</code> is specified, duplicate rows are discarded.</p>
+
+<p>If a given row R appears exactly m times in the first input query and n times in
+the second input query (m &gt;= 0, n &gt;= 0):</p>
+
+<ul>
+  <li>For <code class="highlighter-rouge">UNION ALL</code>, R appears exactly m + n times in the result.</li>
+  <li>For <code class="highlighter-rouge">UNION DISTINCT</code>, the <code class="highlighter-rouge">DISTINCT</code> is computed after the <code class="highlighter-rouge">UNION</code> is
+computed, so R appears exactly one time.</li>
+  <li>For <code class="highlighter-rouge">INTERSECT DISTINCT</code>, the <code class="highlighter-rouge">DISTINCT</code> is computed after the result above
+is computed.</li>
+  <li>For <code class="highlighter-rouge">EXCEPT DISTINCT</code>, row R appears once in the output if m &gt; 0 and
+n = 0.</li>
+  <li>If there are more than two input queries, the above operations generalize
+and the output is the same as if the inputs were combined incrementally from
+left to right.</li>
+</ul>
+
+<p>The following rules apply:</p>
+
+<ul>
+  <li>For set operations other than <code class="highlighter-rouge">UNION ALL</code>, all column types must support
+equality comparison.</li>
+  <li>The input queries on each side of the operator must return the same number
+of columns.</li>
+  <li>The operators pair the columns returned by each input query according to the
+columns’ positions in their respective <code class="highlighter-rouge">SELECT</code> lists. That is, the first
+column in the first input query is paired with the first column in the
+second input query.</li>
+  <li>The result set always uses the column names from the first input query.</li>
+  <li>The result set always uses the supertypes of input types in corresponding
+columns, so paired columns must also have either the same data type or a
+common supertype.</li>
+  <li>You must use parentheses to separate different set operations; for this
+purpose, set operations such as <code class="highlighter-rouge">UNION ALL</code> and <code class="highlighter-rouge">UNION DISTINCT</code> are
+different. If the statement only repeats the same set operation, parentheses
+are not necessary.</li>
+</ul>
+
+<p>Examples:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>query1 UNION ALL (query2 UNION DISTINCT query3)
+query1 UNION ALL query2 UNION ALL query3
+</code></pre>
+</div>
+
+<p>Invalid:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>query1 UNION ALL query2 UNION DISTINCT query3
+query1 UNION ALL query2 INTERSECT ALL query3;  // INVALID.
+</code></pre>
+</div>
+
+<h3 id="union">UNION</h3>
+
+<p>The <code class="highlighter-rouge">UNION</code> operator combines the result sets of two or more input queries by
+pairing columns from the result set of each query and vertically concatenating
+them.</p>
+
+<h3 id="intersect">INTERSECT</h3>
+
+<p>The <code class="highlighter-rouge">INTERSECT</code> operator returns rows that are found in the result sets of both
+the left and right input queries. Unlike <code class="highlighter-rouge">EXCEPT</code>, the positioning of the input
+queries (to the left vs. right of the <code class="highlighter-rouge">INTERSECT</code> operator) does not matter.</p>
+
+<h3 id="except">EXCEPT</h3>
+
+<p>The <code class="highlighter-rouge">EXCEPT</code> operator returns rows from the left input query that are not
+present in the right input query.</p>
+
+<h2 id="limit-clause-and-offset-clause">LIMIT clause and OFFSET clause</h2>
+
+<h3 id="syntax_7">Syntax</h3>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>LIMIT count [ OFFSET skip_rows ]
+</code></pre>
+</div>
+
+<p><code class="highlighter-rouge">LIMIT</code> specifies a non-negative <code class="highlighter-rouge">count</code> of type INTEGER, and no more than <code class="highlighter-rouge">count</code>
+rows will be returned. <code class="highlighter-rouge">LIMIT</code> <code class="highlighter-rouge">0</code> returns 0 rows. If there is a set operation,
+<code class="highlighter-rouge">LIMIT</code> is applied after the set operation is evaluated.</p>
+
+<p><code class="highlighter-rouge">OFFSET</code> specifies a non-negative <code class="highlighter-rouge">skip_rows</code> of type INTEGER, and only rows from
+that offset in the table will be considered.</p>
+
+<p>These clauses accept only literal or parameter values.</p>
+
+<p>The rows that are returned by <code class="highlighter-rouge">LIMIT</code> and <code class="highlighter-rouge">OFFSET</code> is unspecified.</p>
+
+<h2 id="with-clause">WITH clause</h2>
+
+<p>The <code class="highlighter-rouge">WITH</code> clause contains one or more named subqueries which execute every time
+a subsequent <code class="highlighter-rouge">SELECT</code> statement references them. Any clause or subquery can
+reference subqueries you define in the <code class="highlighter-rouge">WITH</code> clause. This includes any <code class="highlighter-rouge">SELECT</code>
+statements on either side of a set operator, such as <code class="highlighter-rouge">UNION</code>.</p>
+
+<p>Example:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>WITH subQ1 AS (SELECT SchoolID FROM Roster),
+     subQ2 AS (SELECT OpponentID FROM PlayerStats)
+SELECT * FROM subQ1
+UNION ALL
+SELECT * FROM subQ2;
+</code></pre>
+</div>
+
+<h2 id="aliases_2">Aliases</h2>
+
+<p>An alias is a temporary name given to a table, column, or expression present in
+a query. You can introduce explicit aliases in the <code class="highlighter-rouge">SELECT</code> list or <code class="highlighter-rouge">FROM</code>
+clause, or Beam will infer an implicit alias for some expressions.
+Expressions with neither an explicit nor implicit alias are anonymous and the
+query cannot reference them by name.</p>
+
+<h3 id="explicit-alias-syntax">Explicit alias syntax</h3>
+
+<p>You can introduce explicit aliases in either the <code class="highlighter-rouge">FROM</code> clause or the <code class="highlighter-rouge">SELECT</code>
+list.</p>
+
+<p>In a <code class="highlighter-rouge">FROM</code> clause, you can introduce explicit aliases for any item, including
+tables, arrays, subqueries, and <code class="highlighter-rouge">UNNEST</code> clauses, using <code class="highlighter-rouge">[AS] alias</code>. The <code class="highlighter-rouge">AS</code>
+keyword is optional.</p>
+
+<p>Example:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>SELECT s.FirstName, s2.SongName
+FROM Singers AS s JOIN Songs AS s2 ON s.SingerID = s2.SingerID;
+</code></pre>
+</div>
+
+<p>You can introduce explicit aliases for any expression in the <code class="highlighter-rouge">SELECT</code> list using
+<code class="highlighter-rouge">[AS] alias</code>. The <code class="highlighter-rouge">AS</code> keyword is optional.</p>
+
+<p>Example:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>SELECT s.FirstName AS name, LOWER(s.FirstName) AS lname
+FROM Singers s;
+</code></pre>
+</div>
+
+<h3 id="explicit-alias-visibility">Explicit alias visibility</h3>
+
+<p>After you introduce an explicit alias in a query, there are restrictions on
+where else in the query you can reference that alias. These restrictions on
+alias visibility are the result of Beam’s name scoping rules.</p>
+
+<h4 id="from-clause-aliases">FROM clause aliases</h4>
+
+<p>Beam processes aliases in a <code class="highlighter-rouge">FROM</code> clause from left to right, and aliases
+are visible only to subsequent <code class="highlighter-rouge">JOIN</code> clauses.</p>
+
+<h3 id="ambiguous-aliases">Ambiguous aliases</h3>
+
+<p>Beam provides an error if a name is ambiguous, meaning it can resolve to
+more than one unique object.</p>
+
+<p>Examples:</p>
+
+<p>This query contains column names that conflict between tables, since both
+<code class="highlighter-rouge">Singers</code> and <code class="highlighter-rouge">Songs</code> have a column named <code class="highlighter-rouge">SingerID</code>:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>SELECT SingerID
+FROM Singers, Songs;
+</code></pre>
+</div>
+
+<h3 id="implicit-aliases">Implicit aliases</h3>
+
+<p>In the <code class="highlighter-rouge">SELECT</code> list, if there is an expression that does not have an explicit
+alias, Beam assigns an implicit alias according to the following rules.
+There can be multiple columns with the same alias in the <code class="highlighter-rouge">SELECT</code> list.</p>
+
+<ul>
+  <li>For identifiers, the alias is the identifier. For example, <code class="highlighter-rouge">SELECT abc</code>
+implies <code class="highlighter-rouge">AS abc</code>.</li>
+  <li>For path expressions, the alias is the last identifier in the path. For
+example, <code class="highlighter-rouge">SELECT abc.def.ghi</code> implies <code class="highlighter-rouge">AS ghi</code>.</li>
+  <li>For field access using the “dot” member field access operator, the alias is
+the field name. For example, <code class="highlighter-rouge">SELECT (struct_function()).fname</code> implies <code class="highlighter-rouge">AS
+fname</code>.</li>
+</ul>
+
+<p>In all other cases, there is no implicit alias, so the column is anonymous and
+cannot be referenced by name. The data from that column will still be returned
+and the displayed query results may have a generated label for that column, but
+the label cannot be used like an alias.</p>
+
+<p>In a <code class="highlighter-rouge">FROM</code> clause, <code class="highlighter-rouge">from_item</code>s are not required to have an alias. The
+following rules apply:</p>
+
+<p>If there is an expression that does not have an explicit alias, Beam assigns
+an implicit alias in these cases:</p>
+
+<ul>
+  <li>For identifiers, the alias is the identifier. For example, <code class="highlighter-rouge">FROM abc</code>
+implies <code class="highlighter-rouge">AS abc</code>.</li>
+  <li>For path expressions, the alias is the last identifier in the path. For
+example, <code class="highlighter-rouge">FROM abc.def.ghi</code> implies <code class="highlighter-rouge">AS ghi</code></li>
+</ul>
+
+<p>Table subqueries do not have implicit aliases.</p>
+
+<p><code class="highlighter-rouge">FROM UNNEST(x)</code> does not have an implicit alias.</p>
+
+<blockquote>
+  <p>Portions of this page are modifications based on
+<a href="https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax">work</a>
+created and
+<a href="https://developers.google.com/terms/site-policies">shared by Google</a>
+and used according to terms described in the <a href="http://creativecommons.org/licenses/by/3.0/">Creative Commons 3.0
+Attribution License</a>.</p>
+</blockquote>
 
       </div>
     </div>
diff --git a/website/generated-content/documentation/dsls/sql/set/index.html b/website/generated-content/documentation/dsls/sql/set/index.html
index 3de979c..bf8dccf 100644
--- a/website/generated-content/documentation/dsls/sql/set/index.html
+++ b/website/generated-content/documentation/dsls/sql/set/index.html
@@ -142,7 +142,7 @@
   <span class="section-nav-list-title">Java</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/java/">Java SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/javadoc/2.6.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/javadoc/2.7.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -156,7 +156,7 @@
   <span class="section-nav-list-title">Python</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/python/">Python SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/pydoc/2.6.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/pydoc/2.7.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -190,7 +190,7 @@
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
         <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
-        <li><a href="/documentation/dsls/sql/create-table/">CREATE TABLE</a></li>
+        <li><a href="/documentation/dsls/sql/create-external-table/">CREATE EXTERNAL TABLE</a></li>
         <li><a href="/documentation/dsls/sql/select/">SELECT</a></li>
         <li><a href="/documentation/dsls/sql/windowing-and-triggering/">Windowing & Triggering</a></li>
         <li><a href="/documentation/dsls/sql/joins/">Joins</a></li>
diff --git a/website/generated-content/documentation/dsls/sql/shell/index.html b/website/generated-content/documentation/dsls/sql/shell/index.html
index 4ebe5a2..3b16e16 100644
--- a/website/generated-content/documentation/dsls/sql/shell/index.html
+++ b/website/generated-content/documentation/dsls/sql/shell/index.html
@@ -142,7 +142,7 @@
   <span class="section-nav-list-title">Java</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/java/">Java SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/javadoc/2.6.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/javadoc/2.7.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -156,7 +156,7 @@
   <span class="section-nav-list-title">Python</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/python/">Python SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/pydoc/2.6.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/pydoc/2.7.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -190,7 +190,7 @@
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
         <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
-        <li><a href="/documentation/dsls/sql/create-table/">CREATE TABLE</a></li>
+        <li><a href="/documentation/dsls/sql/create-external-table/">CREATE EXTERNAL TABLE</a></li>
         <li><a href="/documentation/dsls/sql/select/">SELECT</a></li>
         <li><a href="/documentation/dsls/sql/windowing-and-triggering/">Windowing & Triggering</a></li>
         <li><a href="/documentation/dsls/sql/joins/">Joins</a></li>
@@ -292,17 +292,17 @@ limitations under the License.
 
 <h2 id="declaring-tables">Declaring Tables</h2>
 
-<p>Before reading data from a source or writing data to a destination, you must declare a virtual table using the <code class="highlighter-rouge">CREATE TABLE</code> statement. For example, if you have a local CSV file <code class="highlighter-rouge">"test-file.csv"</code> in the current folder, you can create a table with the following statement:</p>
+<p>Before reading data from a source or writing data to a destination, you must declare a virtual table using the <code class="highlighter-rouge">CREATE EXTERNAL TABLE</code> statement. For example, if you have a local CSV file <code class="highlighter-rouge">"test-file.csv"</code> in the current folder, you can create a table with the following statement:</p>
 
-<div class="highlighter-rouge"><pre class="highlight"><code>0: BeamSQL&gt; CREATE TABLE csv_file (field1 VARCHAR, field2 INTEGER) TYPE text LOCATION 'test-file.csv';
+<div class="highlighter-rouge"><pre class="highlight"><code>0: BeamSQL&gt; CREATE EXTERNAL TABLE csv_file (field1 VARCHAR, field2 INTEGER) TYPE text LOCATION 'test-file.csv';
 
 No rows affected (0.042 seconds)
 </code></pre>
 </div>
 
-<p>The <code class="highlighter-rouge">CREATE TABLE</code> statement registers the CSV file as a table in Beam SQL and specifies the table’s schema. This statement does not directly create a persistent physical table; it only describes the source/sink to Beam SQL so that you can use the table in the queries that read data and write data.</p>
+<p>The <code class="highlighter-rouge">CREATE EXTERNAL TABLE</code> statement registers the CSV file as a table in Beam SQL and specifies the table’s schema. This statement does not directly create a persistent physical table; it only describes the source/sink to Beam SQL so that you can use the table in the queries that read data and write data.</p>
 
-<p><em>For more information about <code class="highlighter-rouge">CREATE TABLE</code> syntax and supported table types, see the <a href="/documentation/dsls/sql/create-table/">CREATE TABLE reference page</a>.</em></p>
+<p><em>For more information about <code class="highlighter-rouge">CREATE EXTERNAL TABLE</code> syntax and supported table types, see the <a href="/documentation/dsls/sql/create-external-table/">CREATE EXTERNAL TABLE reference page</a>.</em></p>
 
 <h2 id="reading-and-writing-data">Reading and Writing Data</h2>
 
diff --git a/website/generated-content/documentation/dsls/sql/statements/create-table/index.html b/website/generated-content/documentation/dsls/sql/statements/create-table/index.html
index e603c02..d1ba0da 100644
--- a/website/generated-content/documentation/dsls/sql/statements/create-table/index.html
+++ b/website/generated-content/documentation/dsls/sql/statements/create-table/index.html
@@ -2,9 +2,9 @@
 <html lang="en-US">
 <meta charset="utf-8">
 <title>Redirecting…</title>
-<link rel="canonical" href="https://beam.apache.org/documentation/dsls/sql/create-table/">
-<meta http-equiv="refresh" content="0; url=https://beam.apache.org/documentation/dsls/sql/create-table/">
+<link rel="canonical" href="https://beam.apache.org/documentation/dsls/sql/create-external-table/">
+<meta http-equiv="refresh" content="0; url=https://beam.apache.org/documentation/dsls/sql/create-external-table/">
 <h1>Redirecting…</h1>
-<a href="https://beam.apache.org/documentation/dsls/sql/create-table/">Click here if you are not redirected.</a>
-<script>location="https://beam.apache.org/documentation/dsls/sql/create-table/"</script>
+<a href="https://beam.apache.org/documentation/dsls/sql/create-external-table/">Click here if you are not redirected.</a>
+<script>location="https://beam.apache.org/documentation/dsls/sql/create-external-table/"</script>
 </html>
diff --git a/website/generated-content/documentation/dsls/sql/user-defined-functions/index.html b/website/generated-content/documentation/dsls/sql/user-defined-functions/index.html
index 03f754f..9e92328 100644
--- a/website/generated-content/documentation/dsls/sql/user-defined-functions/index.html
+++ b/website/generated-content/documentation/dsls/sql/user-defined-functions/index.html
@@ -142,7 +142,7 @@
   <span class="section-nav-list-title">Java</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/java/">Java SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/javadoc/2.6.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/javadoc/2.7.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -156,7 +156,7 @@
   <span class="section-nav-list-title">Python</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/python/">Python SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/pydoc/2.6.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/pydoc/2.7.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -190,7 +190,7 @@
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
         <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
-        <li><a href="/documentation/dsls/sql/create-table/">CREATE TABLE</a></li>
+        <li><a href="/documentation/dsls/sql/create-external-table/">CREATE EXTERNAL TABLE</a></li>
         <li><a href="/documentation/dsls/sql/select/">SELECT</a></li>
         <li><a href="/documentation/dsls/sql/windowing-and-triggering/">Windowing & Triggering</a></li>
         <li><a href="/documentation/dsls/sql/joins/">Joins</a></li>
diff --git a/website/generated-content/documentation/dsls/sql/walkthrough/index.html b/website/generated-content/documentation/dsls/sql/walkthrough/index.html
index 9176acb..06251a7 100644
--- a/website/generated-content/documentation/dsls/sql/walkthrough/index.html
+++ b/website/generated-content/documentation/dsls/sql/walkthrough/index.html
@@ -142,7 +142,7 @@
   <span class="section-nav-list-title">Java</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/java/">Java SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/javadoc/2.6.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/javadoc/2.7.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -156,7 +156,7 @@
   <span class="section-nav-list-title">Python</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/python/">Python SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/pydoc/2.6.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/pydoc/2.7.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -190,7 +190,7 @@
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
         <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
-        <li><a href="/documentation/dsls/sql/create-table/">CREATE TABLE</a></li>
+        <li><a href="/documentation/dsls/sql/create-external-table/">CREATE EXTERNAL TABLE</a></li>
         <li><a href="/documentation/dsls/sql/select/">SELECT</a></li>
         <li><a href="/documentation/dsls/sql/windowing-and-triggering/">Windowing & Triggering</a></li>
         <li><a href="/documentation/dsls/sql/joins/">Joins</a></li>
@@ -254,8 +254,8 @@ limitations under the License.
 <p>Before applying a SQL query to a <code class="highlighter-rouge">PCollection</code>, the data in the collection must
 be in <code class="highlighter-rouge">Row</code> format. A <code class="highlighter-rouge">Row</code> represents a single, immutable record in a Beam SQL
 <code class="highlighter-rouge">PCollection</code>. The names and types of the fields/columns in the row are defined
-by its associated <a href="https://beam.apache.org/releases/javadoc/2.6.0/index.html?org/apache/beam/sdk/schemas/Schema.html">Schema</a>.
-You can use the <a href="https://beam.apache.org/releases/javadoc/2.6.0/index.html?org/apache/beam/sdk/schemas/Schema.html">Schema.builder()</a> to create
+by its associated <a href="https://beam.apache.org/releases/javadoc/2.7.0/index.html?org/apache/beam/sdk/schemas/Schema.html">Schema</a>.
+You can use the <a href="https://beam.apache.org/releases/javadoc/2.7.0/index.html?org/apache/beam/sdk/schemas/Schema.html">Schema.builder()</a> to create
 <code class="highlighter-rouge">Schemas</code>. See <a href="/documentation/dsls/sql/data-types">Data
 Types</a> for more details on supported primitive data types.</p>
 
@@ -338,7 +338,7 @@ Types</a> for more details on supported primitive data types.</p>
 
 <h2 id="sqltransform">SqlTransform</h2>
 
-<p><a href="https://beam.apache.org/releases/javadoc/2.6.0/index.html?org/apache/beam/sdk/extensions/sql/SqlTransform.html"><code class="highlighter-rouge">SqlTransform.query(queryString)</code></a> method is the only API to create a <code class="highlighter-rouge">PTransform</code>
+<p><a href="https://beam.apache.org/releases/javadoc/2.7.0/index.html?org/apache/beam/sdk/extensions/sql/SqlTransform.html"><code class="highlighter-rouge">SqlTransform.query(queryString)</code></a> method is the only API to create a <code class="highlighter-rouge">PTransform</code>
 from a string representation of the SQL query. You can apply this <code class="highlighter-rouge">PTransform</code>
 to either a single <code class="highlighter-rouge">PCollection</code> or a <code class="highlighter-rouge">PCollectionTuple</code> which holds multiple
 <code class="highlighter-rouge">PCollections</code>:</p>
diff --git a/website/generated-content/documentation/dsls/sql/windowing-and-triggering/index.html b/website/generated-content/documentation/dsls/sql/windowing-and-triggering/index.html
index 89dfb7f..1c925c1 100644
--- a/website/generated-content/documentation/dsls/sql/windowing-and-triggering/index.html
+++ b/website/generated-content/documentation/dsls/sql/windowing-and-triggering/index.html
@@ -142,7 +142,7 @@
   <span class="section-nav-list-title">Java</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/java/">Java SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/javadoc/2.6.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/javadoc/2.7.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -156,7 +156,7 @@
   <span class="section-nav-list-title">Python</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/python/">Python SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/pydoc/2.6.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/pydoc/2.7.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -190,7 +190,7 @@
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
         <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
-        <li><a href="/documentation/dsls/sql/create-table/">CREATE TABLE</a></li>
+        <li><a href="/documentation/dsls/sql/create-external-table/">CREATE EXTERNAL TABLE</a></li>
         <li><a href="/documentation/dsls/sql/select/">SELECT</a></li>
         <li><a href="/documentation/dsls/sql/windowing-and-triggering/">Windowing & Triggering</a></li>
         <li><a href="/documentation/dsls/sql/joins/">Joins</a></li>
diff --git a/website/generated-content/documentation/io/testing/index.html b/website/generated-content/documentation/io/testing/index.html
index 78a9192..947002d 100644
--- a/website/generated-content/documentation/io/testing/index.html
+++ b/website/generated-content/documentation/io/testing/index.html
@@ -385,7 +385,7 @@ limitations under the License.
 
 <h3 id="implementing-unit-tests">Implementing unit tests</h3>
 
-<p>A general guide to writing Unit Tests for all transforms can be found in the <a href="https://beam.apache.org/contribute/ptransform-style-guide/#testing">PTransform Style Guide</a>. We have expanded on a few important points below.</p>
+<p>A general guide to writing Unit Tests for all transforms can be found in the <a href="/contribute/ptransform-style-guide/#testing">PTransform Style Guide</a>. We have expanded on a few important points below.</p>
 
 <p>If you are using the <code class="highlighter-rouge">Source</code> API, make sure to exhaustively unit-test your code. A minor implementation error can lead to data corruption or data loss (such as skipping or duplicating records) that can be hard for your users to detect. Also look into using <span class="language-java"><code class="highlighter-rouge">SourceTestUtils</code></span><span class="language-py"><code class="highlighter-rouge">source_test_utils</code></span> - it is a key p [...]
 
@@ -453,12 +453,12 @@ limitations under the License.
 
 <p>You won’t need to invoke PerfKit Benchmarker directly. Run <code class="highlighter-rouge">./gradlew performanceTest</code> task in project’s root directory, passing kubernetes scripts of your choice (located in .test_infra/kubernetes directory). It will setup PerfKitBenchmarker for you.</p>
 
-<p>Example run with the <a href="https://beam.apache.org/documentation/runners/direct/">Direct</a> runner:</p>
+<p>Example run with the <a href="/documentation/runners/direct/">Direct</a> runner:</p>
 <div class="highlighter-rouge"><pre class="highlight"><code>./gradlew performanceTest -DpkbLocation="/Users/me/PerfKitBenchmarker/pkb.py" -DintegrationTestPipelineOptions='["--numberOfRecords=1000"]' -DitModule=sdks/java/io/jdbc/ -DintegrationTest=org.apache.beam.sdk.io.jdbc.JdbcIOIT -DkubernetesScripts="/Users/me/beam/.test-infra/kubernetes/postgres/postgres-service-for-local-dev.yml" -DbeamITOptions="/Users/me/beam/.test-infra/kubernetes/postgres/pkb-config-local.yml" -DintegrationTest [...]
 </code></pre>
 </div>
 
-<p>Example run with the <a href="https://beam.apache.org/documentation/runners/dataflow/">Google Cloud Dataflow</a> runner:</p>
+<p>Example run with the <a href="/documentation/runners/dataflow/">Google Cloud Dataflow</a> runner:</p>
 <div class="highlighter-rouge"><pre class="highlight"><code>./gradlew performanceTest -DpkbLocation="/Users/me/PerfKitBenchmarker/pkb.py" -DintegrationTestPipelineOptions='["--numberOfRecords=1000", "--project=GOOGLE_CLOUD_PROJECT", "--tempRoot=GOOGLE_STORAGE_BUCKET"]' -DitModule=sdks/java/io/jdbc/ -DintegrationTest=org.apache.beam.sdk.io.jdbc.JdbcIOIT -DkubernetesScripts="/Users/me/beam/.test-infra/kubernetes/postgres/postgres-service-for-local-dev.yml" -DbeamITOptions="/Users/me/beam/. [...]
 </code></pre>
 </div>
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 72cdc2d..80a98ed 100644
--- a/website/generated-content/documentation/pipelines/test-your-pipeline/index.html
+++ b/website/generated-content/documentation/pipelines/test-your-pipeline/index.html
@@ -472,7 +472,7 @@ for the <code class="highlighter-rouge">DoFnTester</code> as follows:</p>
 <p>You can use the <code class="highlighter-rouge">Create</code> transform to create a <code class="highlighter-rouge">PCollection</code> out of a standard in-memory collection class, such as Java <code class="highlighter-rouge">List</code>. See <a href="/documentation/programming-guide/#creating-a-pcollection">Creating a PCollection</a> for more information.</p>
 
 <h3 id="passert">PAssert</h3>
-<p><a href="https://beam.apache.org/releases/javadoc/2.6.0/index.html?org/apache/beam/sdk/testing/PAssert.html">PAssert</a> is a class included in the Beam Java SDK  that is an assertion on the contents of a <code class="highlighter-rouge">PCollection</code>. You can use <code class="highlighter-rouge">PAssert</code>to verify that a <code class="highlighter-rouge">PCollection</code> contains a specific set of expected elements.</p>
+<p><a href="https://beam.apache.org/releases/javadoc/2.7.0/index.html?org/apache/beam/sdk/testing/PAssert.html">PAssert</a> is a class included in the Beam Java SDK  that is an assertion on the contents of a <code class="highlighter-rouge">PCollection</code>. You can use <code class="highlighter-rouge">PAssert</code>to verify that a <code class="highlighter-rouge">PCollection</code> contains a specific set of expected elements.</p>
 
 <p>For a given <code class="highlighter-rouge">PCollection</code>, you can use <code class="highlighter-rouge">PAssert</code> to verify the contents as follows:</p>
 
@@ -498,7 +498,7 @@ for the <code class="highlighter-rouge">DoFnTester</code> as follows:</p>
 </code></pre>
 </div>
 
-<p>For more information on how these classes work, see the <a href="https://beam.apache.org/releases/javadoc/2.6.0/index.html?org/apache/beam/sdk/testing/package-summary.html">org.apache.beam.sdk.testing</a> package documentation.</p>
+<p>For more information on how these classes work, see the <a href="https://beam.apache.org/releases/javadoc/2.7.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 Transform</h3>
 
diff --git a/website/generated-content/documentation/programming-guide/index.html b/website/generated-content/documentation/programming-guide/index.html
index c9b8345..ed302bc 100644
--- a/website/generated-content/documentation/programming-guide/index.html
+++ b/website/generated-content/documentation/programming-guide/index.html
@@ -420,7 +420,7 @@ asynchronous “job” (or equivalent) on that back-end.</p>
 
 <p>The <code class="highlighter-rouge">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.6.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.7.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>
 object, and then using that object as the basis for creating the pipeline’s data
 sets as <code class="highlighter-rouge">PCollection</code>s and its operations as <code class="highlighter-rouge">Transform</code>s.</p>
@@ -570,7 +570,7 @@ with <code class="highlighter-rouge">PipelineOptionsFactory</code>:</p>
 
 <h2 id="pcollections">3. PCollections</h2>
 
-<p>The <span class="language-java"><a href="https://beam.apache.org/releases/javadoc/2.6.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.7.0/index.html?org/apache/beam/sdk/values/PCollection.html">PCollection</a></span>
 <span class="language-py"><code class="highlighter-rouge">PCollection</code></span> abstraction represents a
 potentially distributed, multi-element data set. You can think of a
 <code class="highlighter-rouge">PCollection</code> as “pipeline” data; Beam transforms use <code class="highlighter-rouge">PCollection</code> objects as
@@ -1380,7 +1380,7 @@ and format data from each collection.</p>
 
 <h4 id="combine">4.2.4. Combine</h4>
 
-<p><span class="language-java"><a href="https://beam.apache.org/releases/javadoc/2.6.0/index.html?org/apache/beam/sdk/transforms/Combine.html"><code class="highlighter-rouge">Combine</code></a></span>
+<p><span class="language-java"><a href="https://beam.apache.org/releases/javadoc/2.7.0/index.html?org/apache/beam/sdk/transforms/Combine.html"><code class="highlighter-rouge">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 class="highlighter-rouge">Combine</code></a></span>
 is a Beam transform for combining collections of elements or values in your
 data. <code class="highlighter-rouge">Combine</code> has variants that work on entire <code class="highlighter-rouge">PCollection</code>s, and some that
@@ -1639,7 +1639,7 @@ PerKey must be an associative reduction function or a subclass of <code class="h
 
 <h4 id="flatten">4.2.5. Flatten</h4>
 
-<p><span class="language-java"><a href="https://beam.apache.org/releases/javadoc/2.6.0/index.html?org/apache/beam/sdk/transforms/Flatten.html"><code class="highlighter-rouge">Flatten</code></a></span>
+<p><span class="language-java"><a href="https://beam.apache.org/releases/javadoc/2.7.0/index.html?org/apache/beam/sdk/transforms/Flatten.html"><code class="highlighter-rouge">Flatten</code></a></span>
 <span class="language-py"><a href="https://github.com/apache/beam/blob/master/sdks/python/apache_beam/transforms/core.py"><code class="highlighter-rouge">Flatten</code></a></span> and
 is a Beam transform for <code class="highlighter-rouge">PCollection</code> objects that store the same data type.
 <code class="highlighter-rouge">Flatten</code> merges multiple <code class="highlighter-rouge">PCollection</code> objects into a single logical
@@ -1690,7 +1690,7 @@ 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.6.0/index.html?org/apache/beam/sdk/transforms/Partition.html"><code class="highlighter-rouge">Partition</code></a></span>
+<p><span class="language-java"><a href="https://beam.apache.org/releases/javadoc/2.7.0/index.html?org/apache/beam/sdk/transforms/Partition.html"><code class="highlighter-rouge">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 class="highlighter-rouge">Partition</code></a></span>
 is a Beam transform for <code class="highlighter-rouge">PCollection</code> objects that store the same data
 type. <code class="highlighter-rouge">Partition</code> splits a single <code class="highlighter-rouge">PCollection</code> into a fixed number of smaller
@@ -2134,8 +2134,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.6.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.6.0/apache_beam.transforms.html">Pre-written Beam transforms for Python</a></li>
+  <li><a href="https://beam.apache.org/releases/javadoc/2.7.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.7.0/apache_beam.transforms.html">Pre-written Beam transforms for Python</a></li>
 </ul>
 
 <h4 id="composite-transform-example">4.6.1. An example composite transform</h4>
@@ -2722,7 +2722,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 class="highlighter-rouge">ParDo</code> transform with a
 <code class="highlighter-rouge">DoFn</code> that outputs each element with a new timestamp (for example, the
-<a href="https://beam.apache.org/releases/javadoc/2.6.0/index.html?org/apache/beam/sdk/transforms/WithTimestamps.html">WithTimestamps</a>
+<a href="https://beam.apache.org/releases/javadoc/2.7.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 class="highlighter-rouge">PCollection</code> can affect how your
diff --git a/website/generated-content/documentation/runners/dataflow/index.html b/website/generated-content/documentation/runners/dataflow/index.html
index b742b8d..6b49d31 100644
--- a/website/generated-content/documentation/runners/dataflow/index.html
+++ b/website/generated-content/documentation/runners/dataflow/index.html
@@ -245,7 +245,7 @@ Pub/Sub, or Cloud Datastore) if you use them in your pipeline code.</li>
 <div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="o">&lt;</span><span class="n">dependency</span><span class="o">&gt;</span>
   <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 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">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">&lt;/</span><span class="n">artifactId</span><span class="o">&gt;</span>
-  <span class="o">&lt;</span><span class="n">version</span><span class="o">&gt;</span><span class="mf">2.6</span><span class="o">.</span><span class="mi">0</span><span class="o">&lt;/</span><span class="n">version</span><span class="o">&gt;</span>
+  <span class="o">&lt;</span><span class="n">version</span><span class="o">&gt;</span><span class="mf">2.7</span><span class="o">.</span><span class="mi">0</span><span class="o">&lt;/</span><span class="n">version</span><span class="o">&gt;</span>
   <span class="o">&lt;</span><span class="n">scope</span><span class="o">&gt;</span><span class="n">runtime</span><span class="o">&lt;/</span><span class="n">scope</span><span class="o">&gt;</span>
 <span class="o">&lt;/</span><span class="n">dependency</span><span class="o">&gt;</span>
 </code></pre>
@@ -383,8 +383,8 @@ Pub/Sub, or Cloud Datastore) if you use them in your pipeline code.</li>
 </table>
 
 <p>See the reference documentation for the
-<span class="language-java"><a href="https://beam.apache.org/releases/javadoc/2.6.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.6.0/apache_beam.options.pipeline_options.html#apache_beam.options.pipeline_options.PipelineOptions"><code class="highlighter-rouge">PipelineOptions</code></a></span>
+<span class="language-java"><a href="https://beam.apache.org/releases/javadoc/2.7.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.7.0/apache_beam.options.pipeline_options.html#apache_beam.options.pipeline_options.PipelineOptions"><code class="highlighter-rouge">PipelineOptions</code></a></span>
 interface (and any subinterfaces) for additional pipeline configuration options.</p>
 
 <h2 id="additional-info">Additional information and caveats</h2>
diff --git a/website/generated-content/documentation/runners/direct/index.html b/website/generated-content/documentation/runners/direct/index.html
index 7a6ddc6..c552933 100644
--- a/website/generated-content/documentation/runners/direct/index.html
+++ b/website/generated-content/documentation/runners/direct/index.html
@@ -221,11 +221,11 @@ limitations under the License.
 <p>Here are some resources with information about how to test your pipelines.</p>
 <ul>
   <!-- Java specific links -->
-  <li class="language-java"><a href="/blog/2016/10/20/test-stream.html">Testing Unbounded Pipelines in Apache Beam</a> talks about the use of Java classes <a href="https://beam.apache.org/releases/javadoc/2.6.0/index.html?org/apache/beam/sdk/testing/PAssert.html">PAssert</a> and <a href="https://beam.apache.org/releases/javadoc/2.6.0/index.html?org/apache/beam/sdk/testing/TestStream.html">TestStream</a> to test your pipelines.</li>
-  <li class="language-java">The <a href="/get-started/wordcount-example/#testing-your-pipeline-with-asserts">Apache Beam WordCount Walkthrough</a> contains an example of logging and testing a pipeline with <a href="https://beam.apache.org/releases/javadoc/2.6.0/index.html?org/apache/beam/sdk/testing/PAssert.html">PAssert</a>.</li>
+  <li class="language-java"><a href="/blog/2016/10/20/test-stream.html">Testing Unbounded Pipelines in Apache Beam</a> talks about the use of Java classes <a href="https://beam.apache.org/releases/javadoc/2.7.0/index.html?org/apache/beam/sdk/testing/PAssert.html">PAssert</a> and <a href="https://beam.apache.org/releases/javadoc/2.7.0/index.html?org/apache/beam/sdk/testing/TestStream.html">TestStream</a> to test your pipelines.</li>
+  <li class="language-java">The <a href="/get-started/wordcount-example/#testing-your-pipeline-with-asserts">Apache Beam WordCount Walkthrough</a> contains an example of logging and testing a pipeline with <a href="https://beam.apache.org/releases/javadoc/2.7.0/index.html?org/apache/beam/sdk/testing/PAssert.html">PAssert</a>.</li>
 
   <!-- Python specific links -->
-  <li class="language-py">The <a href="/get-started/wordcount-example/#testing-your-pipeline-with-asserts">Apache Beam WordCount Walkthrough</a> contains an example of logging and testing a pipeline with <a href="https://beam.apache.org/releases/pydoc/2.6.0/apache_beam.testing.util.html#apache_beam.testing.util.assert_that">assert_that</a>.</li>
+  <li class="language-py">The <a href="/get-started/wordcount-example/#testing-your-pipeline-with-asserts">Apache Beam WordCount Walkthrough</a> contains an example of logging and testing a pipeline with <a href="https://beam.apache.org/releases/pydoc/2.7.0/apache_beam.testing.util.html#apache_beam.testing.util.assert_that">assert_that</a>.</li>
 </ul>
 
 <h2 id="direct-runner-prerequisites-and-setup">Direct Runner prerequisites and setup</h2>
@@ -236,7 +236,7 @@ limitations under the License.
 <div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="o">&lt;</span><span class="n">dependency</span><span class="o">&gt;</span>
    <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 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">runners</span><span class="o">-</span><span class="n">direct</span><span class="o">-</span><span class="n">java</span><span class="o">&lt;/</span><span class="n">artifactId</span><span class="o">&gt;</span>
-   <span class="o">&lt;</span><span class="n">version</span><span class="o">&gt;</span><span class="mf">2.6</span><span class="o">.</span><span class="mi">0</span><span class="o">&lt;/</span><span class="n">version</span><span class="o">&gt;</span>
+   <span class="o">&lt;</span><span class="n">version</span><span class="o">&gt;</span><span class="mf">2.7</span><span class="o">.</span><span class="mi">0</span><span class="o">&lt;/</span><span class="n">version</span><span class="o">&gt;</span>
    <span class="o">&lt;</span><span class="n">scope</span><span class="o">&gt;</span><span class="n">runtime</span><span class="o">&lt;/</span><span class="n">scope</span><span class="o">&gt;</span>
 <span class="o">&lt;/</span><span class="n">dependency</span><span class="o">&gt;</span>
 </code></pre>
@@ -249,15 +249,15 @@ limitations under the License.
 <p>When executing your pipeline from the command-line, set <code class="highlighter-rouge">runner</code> to <code class="highlighter-rouge">direct</code> or <code class="highlighter-rouge">DirectRunner</code>. The default values for the other pipeline options are generally sufficient.</p>
 
 <p>See the reference documentation for the
-<span class="language-java"><a href="https://beam.apache.org/releases/javadoc/2.6.0/index.html?org/apache/beam/runners/direct/DirectOptions.html"><code class="highlighter-rouge">DirectOptions</code></a></span>
-<span class="language-py"><a href="https://beam.apache.org/releases/pydoc/2.6.0/apache_beam.options.pipeline_options.html#apache_beam.options.pipeline_options.DirectOptions"><code class="highlighter-rouge">DirectOptions</code></a></span>
+<span class="language-java"><a href="https://beam.apache.org/releases/javadoc/2.7.0/index.html?org/apache/beam/runners/direct/DirectOptions.html"><code class="highlighter-rouge">DirectOptions</code></a></span>
+<span class="language-py"><a href="https://beam.apache.org/releases/pydoc/2.7.0/apache_beam.options.pipeline_options.html#apache_beam.options.pipeline_options.DirectOptions"><code class="highlighter-rouge">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.apache.org/releases/javadoc/2.6.0/index.html?org/apache/beam/sdk/transforms/Create.html"><code class="highlighter-rouge">Create</code></a></span><span class="language-py"><a href="https://github.com/apache/b [...]
+<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.apache.org/releases/javadoc/2.7.0/index.html?org/apache/beam/sdk/transforms/Create.html"><code class="highlighter-rouge">Create</code></a></span><span class="language-py"><a href="https://github.com/apache/b [...]
 
 <h3 id="streaming-execution">Streaming execution</h3>
 
diff --git a/website/generated-content/documentation/runners/flink/index.html b/website/generated-content/documentation/runners/flink/index.html
index 188c987..4e4b355 100644
--- a/website/generated-content/documentation/runners/flink/index.html
+++ b/website/generated-content/documentation/runners/flink/index.html
@@ -273,7 +273,7 @@ limitations under the License.
 <div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="o">&lt;</span><span class="n">dependency</span><span class="o">&gt;</span>
   <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 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">runners</span><span class="o">-</span><span class="n">flink_2</span><span class="o">.</span><span class="mi">11</span><span class="o">&lt;/</span><span class="n">artifactId</span><span class="o">&gt;</span>
-  <span class="o">&lt;</span><span class="n">version</span><span class="o">&gt;</span><span class="mf">2.6</span><span class="o">.</span><span class="mi">0</span><span class="o">&lt;/</span><span class="n">version</span><span class="o">&gt;</span>
+  <span class="o">&lt;</span><span class="n">version</span><span class="o">&gt;</span><span class="mf">2.7</span><span class="o">.</span><span class="mi">0</span><span class="o">&lt;/</span><span class="n">version</span><span class="o">&gt;</span>
 <span class="o">&lt;/</span><span class="n">dependency</span><span class="o">&gt;</span>
 </code></pre>
 </div>
@@ -360,7 +360,7 @@ limitations under the License.
 </tr>
 </table>
 
-<p>See the reference documentation for the  <span class="language-java"><a href="https://beam.apache.org/releases/javadoc/2.6.0/index.html?org/apache/beam/runners/flink/FlinkPipelineOptions.html">FlinkPipelineOptions</a></span><span class="language-py"><a href="https://github.com/apache/beam/blob/master/sdks/python/apache_beam/options/pipeline_options.py">PipelineOptions</a></span> interface (and its subinterfaces) for the complete list of pipeline configuration options.</p>
+<p>See the reference documentation for the  <span class="language-java"><a href="https://beam.apache.org/releases/javadoc/2.7.0/index.html?org/apache/beam/runners/flink/FlinkPipelineOptions.html">FlinkPipelineOptions</a></span><span class="language-py"><a href="https://github.com/apache/beam/blob/master/sdks/python/apache_beam/options/pipeline_options.py">PipelineOptions</a></span> interface (and its subinterfaces) for the complete list of pipeline configuration options.</p>
 
 <h2 id="additional-information-and-caveats">Additional information and caveats</h2>
 
diff --git a/website/generated-content/documentation/runners/gearpump/index.html b/website/generated-content/documentation/runners/gearpump/index.html
index 5b9f9c1..60a85b7 100644
--- a/website/generated-content/documentation/runners/gearpump/index.html
+++ b/website/generated-content/documentation/runners/gearpump/index.html
@@ -214,7 +214,7 @@ And your Beam application should also pack Beam SDK explicitly and here is a sni
   <span class="o">&lt;</span><span class="n">dependency</span><span class="o">&gt;</span>
     <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 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">runners</span><span class="o">-</span><span class="n">gearpump</span><span class="o">&lt;/</span><span class="n">artifactId</span><span class="o">&gt;</span>
-    <span class="o">&lt;</span><span class="n">version</span><span class="o">&gt;</span><span class="mf">2.6</span><span class="o">.</span><span class="mi">0</span><span class="o">&lt;/</span><span class="n">version</span><span class="o">&gt;</span>
+    <span class="o">&lt;</span><span class="n">version</span><span class="o">&gt;</span><span class="mf">2.7</span><span class="o">.</span><span class="mi">0</span><span class="o">&lt;/</span><span class="n">version</span><span class="o">&gt;</span>
   <span class="o">&lt;/</span><span class="n">dependency</span><span class="o">&gt;</span>
 
   <span class="o">&lt;</span><span class="n">dependency</span><span class="o">&gt;</span>
@@ -234,7 +234,7 @@ And your Beam application should also pack Beam SDK explicitly and here is a sni
   <span class="o">&lt;</span><span class="n">dependency</span><span class="o">&gt;</span>
     <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 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">core</span><span class="o">&lt;/</span><span class="n">artifactId</span><span class="o">&gt;</span>
-    <span class="o">&lt;</span><span class="n">version</span><span class="o">&gt;</span><span class="mf">2.6</span><span class="o">.</span><span class="mi">0</span><span class="o">&lt;/</span><span class="n">version</span><span class="o">&gt;</span>
+    <span class="o">&lt;</span><span class="n">version</span><span class="o">&gt;</span><span class="mf">2.7</span><span class="o">.</span><span class="mi">0</span><span class="o">&lt;/</span><span class="n">version</span><span class="o">&gt;</span>
   <span class="o">&lt;/</span><span class="n">dependency</span><span class="o">&gt;</span>
 <span class="o">&lt;/</span><span class="n">dependencies</span><span class="o">&gt;</span>
 
diff --git a/website/generated-content/documentation/runners/jstorm/index.html b/website/generated-content/documentation/runners/jstorm/index.html
index 74ccbe7..53410d9 100644
--- a/website/generated-content/documentation/runners/jstorm/index.html
+++ b/website/generated-content/documentation/runners/jstorm/index.html
@@ -303,7 +303,7 @@ limitations under the License.
 <div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="o">&lt;</span><span class="n">dependency</span><span class="o">&gt;</span>
   <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 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">runners</span><span class="o">-</span><span class="n">jstorm</span><span class="o">&lt;/</span><span class="n">artifactId</span><span class="o">&gt;</span>
-  <span class="o">&lt;</span><span class="n">version</span><span class="o">&gt;</span><span class="mf">2.6</span><span class="o">.</span><span class="mi">0</span><span class="o">&lt;/</span><span class="n">version</span><span class="o">&gt;</span>
+  <span class="o">&lt;</span><span class="n">version</span><span class="o">&gt;</span><span class="mf">2.7</span><span class="o">.</span><span class="mi">0</span><span class="o">&lt;/</span><span class="n">version</span><span class="o">&gt;</span>
 <span class="o">&lt;/</span><span class="n">dependency</span><span class="o">&gt;</span>
 </code></pre>
 </div>
diff --git a/website/generated-content/documentation/runners/mapreduce/index.html b/website/generated-content/documentation/runners/mapreduce/index.html
index 763a2ac..406211f 100644
--- a/website/generated-content/documentation/runners/mapreduce/index.html
+++ b/website/generated-content/documentation/runners/mapreduce/index.html
@@ -203,7 +203,7 @@ limitations under the License.
 <div class="highlighter-rouge"><pre class="highlight"><code>&lt;dependency&gt;
   &lt;groupId&gt;org.apache.beam&lt;/groupId&gt;
   &lt;artifactId&gt;beam-runners-mapreduce&lt;/artifactId&gt;
-  &lt;version&gt;2.6.0&lt;/version&gt;
+  &lt;version&gt;2.7.0&lt;/version&gt;
 &lt;/dependency&gt;
 </code></pre>
 </div>
diff --git a/website/generated-content/documentation/runners/samza/index.html b/website/generated-content/documentation/runners/samza/index.html
index 6662d7c..ce73dff 100644
--- a/website/generated-content/documentation/runners/samza/index.html
+++ b/website/generated-content/documentation/runners/samza/index.html
@@ -220,7 +220,7 @@ limitations under the License.
 <div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="o">&lt;</span><span class="n">dependency</span><span class="o">&gt;</span>
   <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 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">runners</span><span class="o">-</span><span class="n">samza_2</span><span class="o">.</span><span class="mi">11</span><span class="o">&lt;/</span><span class="n">artifactId</span><span class="o">&gt;</span>
-  <span class="o">&lt;</span><span class="n">version</span><span class="o">&gt;</span><span class="mf">2.6</span><span class="o">.</span><span class="mi">0</span><span class="o">&lt;/</span><span class="n">version</span><span class="o">&gt;</span>
+  <span class="o">&lt;</span><span class="n">version</span><span class="o">&gt;</span><span class="mf">2.7</span><span class="o">.</span><span class="mi">0</span><span class="o">&lt;/</span><span class="n">version</span><span class="o">&gt;</span>
   <span class="o">&lt;</span><span class="n">scope</span><span class="o">&gt;</span><span class="n">runtime</span><span class="o">&lt;/</span><span class="n">scope</span><span class="o">&gt;</span>
 <span class="o">&lt;/</span><span class="n">dependency</span><span class="o">&gt;</span>
 
diff --git a/website/generated-content/documentation/runners/spark/index.html b/website/generated-content/documentation/runners/spark/index.html
index c0ceffb..9000d2a 100644
--- a/website/generated-content/documentation/runners/spark/index.html
+++ b/website/generated-content/documentation/runners/spark/index.html
@@ -227,7 +227,7 @@ The Spark Runner can execute Spark pipelines just like a native Spark applicatio
 <div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="o">&lt;</span><span class="n">dependency</span><span class="o">&gt;</span>
   <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 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">runners</span><span class="o">-</span><span class="n">spark</span><span class="o">&lt;/</span><span class="n">artifactId</span><span class="o">&gt;</span>
-  <span class="o">&lt;</span><span class="n">version</span><span class="o">&gt;</span><span class="mf">2.6</span><span class="o">.</span><span class="mi">0</span><span class="o">&lt;/</span><span class="n">version</span><span class="o">&gt;</span>
+  <span class="o">&lt;</span><span class="n">version</span><span class="o">&gt;</span><span class="mf">2.7</span><span class="o">.</span><span class="mi">0</span><span class="o">&lt;/</span><span class="n">version</span><span class="o">&gt;</span>
 <span class="o">&lt;/</span><span class="n">dependency</span><span class="o">&gt;</span>
 </code></pre>
 </div>
diff --git a/website/generated-content/documentation/sdks/feature-comparison/index.html b/website/generated-content/documentation/sdks/feature-comparison/index.html
index c6bbcee..e260beb 100644
--- a/website/generated-content/documentation/sdks/feature-comparison/index.html
+++ b/website/generated-content/documentation/sdks/feature-comparison/index.html
@@ -142,7 +142,7 @@
   <span class="section-nav-list-title">Java</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/java/">Java SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/javadoc/2.6.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/javadoc/2.7.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -156,7 +156,7 @@
   <span class="section-nav-list-title">Python</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/python/">Python SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/pydoc/2.6.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/pydoc/2.7.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -190,7 +190,7 @@
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
         <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
-        <li><a href="/documentation/dsls/sql/create-table/">CREATE TABLE</a></li>
+        <li><a href="/documentation/dsls/sql/create-external-table/">CREATE EXTERNAL TABLE</a></li>
         <li><a href="/documentation/dsls/sql/select/">SELECT</a></li>
         <li><a href="/documentation/dsls/sql/windowing-and-triggering/">Windowing & Triggering</a></li>
         <li><a href="/documentation/dsls/sql/joins/">Joins</a></li>
diff --git a/website/generated-content/documentation/sdks/go/index.html b/website/generated-content/documentation/sdks/go/index.html
index 00c0d1f..367eac0 100644
--- a/website/generated-content/documentation/sdks/go/index.html
+++ b/website/generated-content/documentation/sdks/go/index.html
@@ -142,7 +142,7 @@
   <span class="section-nav-list-title">Java</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/java/">Java SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/javadoc/2.6.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/javadoc/2.7.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -156,7 +156,7 @@
   <span class="section-nav-list-title">Python</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/python/">Python SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/pydoc/2.6.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/pydoc/2.7.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -190,7 +190,7 @@
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
         <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
-        <li><a href="/documentation/dsls/sql/create-table/">CREATE TABLE</a></li>
+        <li><a href="/documentation/dsls/sql/create-external-table/">CREATE EXTERNAL TABLE</a></li>
         <li><a href="/documentation/dsls/sql/select/">SELECT</a></li>
         <li><a href="/documentation/dsls/sql/windowing-and-triggering/">Windowing & Triggering</a></li>
         <li><a href="/documentation/dsls/sql/joins/">Joins</a></li>
diff --git a/website/generated-content/documentation/sdks/java-extensions/index.html b/website/generated-content/documentation/sdks/java-extensions/index.html
index 4ee5f3f..b5be5b2 100644
--- a/website/generated-content/documentation/sdks/java-extensions/index.html
+++ b/website/generated-content/documentation/sdks/java-extensions/index.html
@@ -142,7 +142,7 @@
   <span class="section-nav-list-title">Java</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/java/">Java SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/javadoc/2.6.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/javadoc/2.7.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -156,7 +156,7 @@
   <span class="section-nav-list-title">Python</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/python/">Python SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/pydoc/2.6.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/pydoc/2.7.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -190,7 +190,7 @@
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
         <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
-        <li><a href="/documentation/dsls/sql/create-table/">CREATE TABLE</a></li>
+        <li><a href="/documentation/dsls/sql/create-external-table/">CREATE EXTERNAL TABLE</a></li>
         <li><a href="/documentation/dsls/sql/select/">SELECT</a></li>
         <li><a href="/documentation/dsls/sql/windowing-and-triggering/">Windowing & Triggering</a></li>
         <li><a href="/documentation/dsls/sql/joins/">Joins</a></li>
diff --git a/website/generated-content/documentation/sdks/java-thirdparty/index.html b/website/generated-content/documentation/sdks/java-thirdparty/index.html
index 3a4884c..382dc20 100644
--- a/website/generated-content/documentation/sdks/java-thirdparty/index.html
+++ b/website/generated-content/documentation/sdks/java-thirdparty/index.html
@@ -142,7 +142,7 @@
   <span class="section-nav-list-title">Java</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/java/">Java SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/javadoc/2.6.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/javadoc/2.7.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -156,7 +156,7 @@
   <span class="section-nav-list-title">Python</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/python/">Python SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/pydoc/2.6.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/pydoc/2.7.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -190,7 +190,7 @@
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
         <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
-        <li><a href="/documentation/dsls/sql/create-table/">CREATE TABLE</a></li>
+        <li><a href="/documentation/dsls/sql/create-external-table/">CREATE EXTERNAL TABLE</a></li>
         <li><a href="/documentation/dsls/sql/select/">SELECT</a></li>
         <li><a href="/documentation/dsls/sql/windowing-and-triggering/">Windowing & Triggering</a></li>
         <li><a href="/documentation/dsls/sql/joins/">Joins</a></li>
diff --git a/website/generated-content/documentation/sdks/java/euphoria/index.html b/website/generated-content/documentation/sdks/java/euphoria/index.html
index af6ed2a..493f44a 100644
--- a/website/generated-content/documentation/sdks/java/euphoria/index.html
+++ b/website/generated-content/documentation/sdks/java/euphoria/index.html
@@ -142,7 +142,7 @@
   <span class="section-nav-list-title">Java</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/java/">Java SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/javadoc/2.6.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/javadoc/2.7.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -156,7 +156,7 @@
   <span class="section-nav-list-title">Python</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/python/">Python SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/pydoc/2.6.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/pydoc/2.7.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -190,7 +190,7 @@
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
         <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
-        <li><a href="/documentation/dsls/sql/create-table/">CREATE TABLE</a></li>
+        <li><a href="/documentation/dsls/sql/create-external-table/">CREATE EXTERNAL TABLE</a></li>
         <li><a href="/documentation/dsls/sql/select/">SELECT</a></li>
         <li><a href="/documentation/dsls/sql/windowing-and-triggering/">Windowing & Triggering</a></li>
         <li><a href="/documentation/dsls/sql/joins/">Joins</a></li>
diff --git a/website/generated-content/documentation/sdks/java/index.html b/website/generated-content/documentation/sdks/java/index.html
index 6cd38f5..88bf9fb 100644
--- a/website/generated-content/documentation/sdks/java/index.html
+++ b/website/generated-content/documentation/sdks/java/index.html
@@ -142,7 +142,7 @@
   <span class="section-nav-list-title">Java</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/java/">Java SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/javadoc/2.6.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/javadoc/2.7.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -156,7 +156,7 @@
   <span class="section-nav-list-title">Python</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/python/">Python SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/pydoc/2.6.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/pydoc/2.7.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -190,7 +190,7 @@
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
         <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
-        <li><a href="/documentation/dsls/sql/create-table/">CREATE TABLE</a></li>
+        <li><a href="/documentation/dsls/sql/create-external-table/">CREATE EXTERNAL TABLE</a></li>
         <li><a href="/documentation/dsls/sql/select/">SELECT</a></li>
         <li><a href="/documentation/dsls/sql/windowing-and-triggering/">Windowing & Triggering</a></li>
         <li><a href="/documentation/dsls/sql/joins/">Joins</a></li>
diff --git a/website/generated-content/documentation/sdks/java/nexmark/index.html b/website/generated-content/documentation/sdks/java/nexmark/index.html
index 1676235..63beb70 100644
--- a/website/generated-content/documentation/sdks/java/nexmark/index.html
+++ b/website/generated-content/documentation/sdks/java/nexmark/index.html
@@ -142,7 +142,7 @@
   <span class="section-nav-list-title">Java</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/java/">Java SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/javadoc/2.6.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/javadoc/2.7.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -156,7 +156,7 @@
   <span class="section-nav-list-title">Python</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/python/">Python SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/pydoc/2.6.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/pydoc/2.7.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -190,7 +190,7 @@
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
         <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
-        <li><a href="/documentation/dsls/sql/create-table/">CREATE TABLE</a></li>
+        <li><a href="/documentation/dsls/sql/create-external-table/">CREATE EXTERNAL TABLE</a></li>
         <li><a href="/documentation/dsls/sql/select/">SELECT</a></li>
         <li><a href="/documentation/dsls/sql/windowing-and-triggering/">Windowing & Triggering</a></li>
         <li><a href="/documentation/dsls/sql/joins/">Joins</a></li>
@@ -503,7 +503,7 @@ or may be published to Pub/Sub or Kafka.</p>
 --stagingLocation=gs://&lt;a gs path for staging&gt; \
 --runner=DataflowRunner \
 --tempLocation=gs://&lt;a gs path for temporary files&gt; \
---filesToStage=target/beam-sdks-java-nexmark-2.6.0.jar
+--filesToStage=target/beam-sdks-java-nexmark-2.7.0.jar
 </code></pre>
 </div>
 
@@ -987,7 +987,7 @@ PUBSUB_TOPCI=&lt;existing pubsub topic&gt;
     --driver-memory 512m \
     --executor-memory 512m \
     --executor-cores 1 \
-    sdks/java/nexmark/build/libs/beam-sdks-java-nexmark-2.6.0-spark.jar \
+    sdks/java/nexmark/build/libs/beam-sdks-java-nexmark-2.7.0-spark.jar \
         --runner=SparkRunner \
         --query=0 \
         --streamTimeout=60 \
diff --git a/website/generated-content/documentation/sdks/python-custom-io/index.html b/website/generated-content/documentation/sdks/python-custom-io/index.html
index 9b20418..7d7e68f 100644
--- a/website/generated-content/documentation/sdks/python-custom-io/index.html
+++ b/website/generated-content/documentation/sdks/python-custom-io/index.html
@@ -142,7 +142,7 @@
   <span class="section-nav-list-title">Java</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/java/">Java SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/javadoc/2.6.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/javadoc/2.7.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -156,7 +156,7 @@
   <span class="section-nav-list-title">Python</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/python/">Python SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/pydoc/2.6.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/pydoc/2.7.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -190,7 +190,7 @@
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
         <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
-        <li><a href="/documentation/dsls/sql/create-table/">CREATE TABLE</a></li>
+        <li><a href="/documentation/dsls/sql/create-external-table/">CREATE EXTERNAL TABLE</a></li>
         <li><a href="/documentation/dsls/sql/select/">SELECT</a></li>
         <li><a href="/documentation/dsls/sql/windowing-and-triggering/">Windowing & Triggering</a></li>
         <li><a href="/documentation/dsls/sql/joins/">Joins</a></li>
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 b80898b..7e3f88d 100644
--- a/website/generated-content/documentation/sdks/python-pipeline-dependencies/index.html
+++ b/website/generated-content/documentation/sdks/python-pipeline-dependencies/index.html
@@ -142,7 +142,7 @@
   <span class="section-nav-list-title">Java</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/java/">Java SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/javadoc/2.6.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/javadoc/2.7.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -156,7 +156,7 @@
   <span class="section-nav-list-title">Python</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/python/">Python SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/pydoc/2.6.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/pydoc/2.7.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -190,7 +190,7 @@
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
         <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
-        <li><a href="/documentation/dsls/sql/create-table/">CREATE TABLE</a></li>
+        <li><a href="/documentation/dsls/sql/create-external-table/">CREATE EXTERNAL TABLE</a></li>
         <li><a href="/documentation/dsls/sql/select/">SELECT</a></li>
         <li><a href="/documentation/dsls/sql/windowing-and-triggering/">Windowing & Triggering</a></li>
         <li><a href="/documentation/dsls/sql/joins/">Joins</a></li>
diff --git a/website/generated-content/documentation/sdks/python-streaming/index.html b/website/generated-content/documentation/sdks/python-streaming/index.html
index 3681102..c2582f6 100644
--- a/website/generated-content/documentation/sdks/python-streaming/index.html
+++ b/website/generated-content/documentation/sdks/python-streaming/index.html
@@ -142,7 +142,7 @@
   <span class="section-nav-list-title">Java</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/java/">Java SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/javadoc/2.6.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/javadoc/2.7.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -156,7 +156,7 @@
   <span class="section-nav-list-title">Python</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/python/">Python SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/pydoc/2.6.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/pydoc/2.7.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -190,7 +190,7 @@
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
         <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
-        <li><a href="/documentation/dsls/sql/create-table/">CREATE TABLE</a></li>
+        <li><a href="/documentation/dsls/sql/create-external-table/">CREATE EXTERNAL TABLE</a></li>
         <li><a href="/documentation/dsls/sql/select/">SELECT</a></li>
         <li><a href="/documentation/dsls/sql/windowing-and-triggering/">Windowing & Triggering</a></li>
         <li><a href="/documentation/dsls/sql/joins/">Joins</a></li>
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 f45c0cb..fe8bd4a 100644
--- a/website/generated-content/documentation/sdks/python-type-safety/index.html
+++ b/website/generated-content/documentation/sdks/python-type-safety/index.html
@@ -142,7 +142,7 @@
   <span class="section-nav-list-title">Java</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/java/">Java SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/javadoc/2.6.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/javadoc/2.7.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -156,7 +156,7 @@
   <span class="section-nav-list-title">Python</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/python/">Python SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/pydoc/2.6.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/pydoc/2.7.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -190,7 +190,7 @@
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
         <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
-        <li><a href="/documentation/dsls/sql/create-table/">CREATE TABLE</a></li>
+        <li><a href="/documentation/dsls/sql/create-external-table/">CREATE EXTERNAL TABLE</a></li>
         <li><a href="/documentation/dsls/sql/select/">SELECT</a></li>
         <li><a href="/documentation/dsls/sql/windowing-and-triggering/">Windowing & Triggering</a></li>
         <li><a href="/documentation/dsls/sql/joins/">Joins</a></li>
diff --git a/website/generated-content/documentation/sdks/python/index.html b/website/generated-content/documentation/sdks/python/index.html
index 68265f7..3342edd 100644
--- a/website/generated-content/documentation/sdks/python/index.html
+++ b/website/generated-content/documentation/sdks/python/index.html
@@ -142,7 +142,7 @@
   <span class="section-nav-list-title">Java</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/java/">Java SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/javadoc/2.6.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/javadoc/2.7.0/" target="_blank">Java SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -156,7 +156,7 @@
   <span class="section-nav-list-title">Python</span>
   <ul class="section-nav-list">
     <li><a href="/documentation/sdks/python/">Python SDK overview</a></li>
-    <li><a href="https://beam.apache.org/releases/pydoc/2.6.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
+    <li><a href="https://beam.apache.org/releases/pydoc/2.7.0/" target="_blank">Python SDK API reference <img src="/images/external-link-icon.png"
                                                                                                                                    width="14" height="14"
                                                                                                                                    alt="External link."></a>
     </li>
@@ -190,7 +190,7 @@
       <ul class="section-nav-list">
         <li><a href="/documentation/dsls/sql/data-types/">Data types</a></li>
         <li><a href="/documentation/dsls/sql/lexical/">Lexical structure</a></li>
-        <li><a href="/documentation/dsls/sql/create-table/">CREATE TABLE</a></li>
+        <li><a href="/documentation/dsls/sql/create-external-table/">CREATE EXTERNAL TABLE</a></li>
         <li><a href="/documentation/dsls/sql/select/">SELECT</a></li>
         <li><a href="/documentation/dsls/sql/windowing-and-triggering/">Windowing & Triggering</a></li>
         <li><a href="/documentation/dsls/sql/joins/">Joins</a></li>
diff --git a/website/generated-content/feed.xml b/website/generated-content/feed.xml
index b51ea98..e2329e4 100644
--- a/website/generated-content/feed.xml
+++ b/website/generated-content/feed.xml
@@ -20,6 +20,92 @@
     <generator>Jekyll v3.2.0</generator>
     
       <item>
+        <title>Apache Beam 2.7.0</title>
+        <description>&lt;!--
+Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an &quot;AS IS&quot; BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+--&gt;
+
+&lt;p&gt;We are happy to present the new 2.7.0 release of Beam. This release includes both improvements and new functionality.
+See the &lt;a href=&quot;/get-started/downloads/#270-2018-10-02&quot;&gt;download page&lt;/a&gt; for this release.&lt;!--more--&gt;
+For more information on changes in 2.7.0, check out the
+&lt;a href=&quot;https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12319527&amp;amp;version=12343654&quot;&gt;detailed release notes&lt;/a&gt;.&lt;/p&gt;
+
+&lt;h2 id=&quot;new-features--improvements&quot;&gt;New Features / Improvements&lt;/h2&gt;
+
+&lt;h3 id=&quot;new-ios&quot;&gt;New I/Os&lt;/h3&gt;
+
+&lt;ul&gt;
+  &lt;li&gt;KuduIO&lt;/li&gt;
+  &lt;li&gt;Amazon SNS sink&lt;/li&gt;
+  &lt;li&gt;Amazon SqsIO&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;h3 id=&quot;dependency-upgrades&quot;&gt;Dependency Upgrades&lt;/h3&gt;
+
+&lt;ul&gt;
+  &lt;li&gt;Apache Calcite dependency upgraded to 1.17.0&lt;/li&gt;
+  &lt;li&gt;Apache Derby dependency upgraded to 10.14.2.0&lt;/li&gt;
+  &lt;li&gt;Apache HTTP components upgraded (see release notes).&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;h3 id=&quot;portability&quot;&gt;Portability&lt;/h3&gt;
+
+&lt;ul&gt;
+  &lt;li&gt;Experimental support for Python on local Flink runner for simple
+examples, see latest information here:
+/contribute/portability/#status.&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;h2 id=&quot;miscellaneous-fixes&quot;&gt;Miscellaneous Fixes&lt;/h2&gt;
+
+&lt;h3 id=&quot;ios&quot;&gt;I/Os&lt;/h3&gt;
+
+&lt;ul&gt;
+  &lt;li&gt;KinesisIO, fixed dependency issue&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;h2 id=&quot;list-of-contributors&quot;&gt;List of Contributors&lt;/h2&gt;
+
+&lt;p&gt;According to git shortlog, the following 72 people contributed
+to the 2.7.0 release. Thank you to all contributors!&lt;/p&gt;
+
+&lt;p&gt;Ahmet Altay, Alan Myrvold, Alexey Romanenko, Aljoscha Krettek,
+Andrew Pilloud, Ankit Jhalaria, Ankur Goenka, Anton Kedin, Boyuan
+Zhang, Carl McGraw, Carlos Alonso, cclauss, Chamikara Jayalath,
+Charles Chen, Cory Brzycki, Daniel Oliveira, Dariusz Aniszewski,
+devinduan, Eric Beach, Etienne Chauchot, Eugene Kirpichov, Garrett
+Jones, Gene Peters, Gleb Kanterov, Henning Rohde, Henry Suryawirawan,
+Holden Karau, Huygaa Batsaikhan, Ismaël Mejía, Jason Kuster, Jean-
+Baptiste Onofré, Joachim van der Herten, Jozef Vilcek, jxlewis, Kai
+Jiang, Katarzyna Kucharczyk, Kenn Knowles, Krzysztof Trubalski, Kyle
+Winkelman, Leen Toelen, Luis Enrique Ortíz Ramirez, Lukasz Cwik,
+Łukasz Gajowy, Luke Cwik, Mark Liu, Matthias Feys, Maximilian Michels,
+Melissa Pashniak, Mikhail Gryzykhin, Mikhail Sokolov, mingmxu, Norbert
+Chen, Pablo Estrada, Prateek Chanda, Raghu Angadi, Ravi Pathak, Reuven
+Lax, Robert Bradshaw, Robert Burke, Rui Wang, Ryan Williams, Sindy Li,
+Thomas Weise, Tim Robertson, Tormod Haavi, Udi Meiri, Vaclav Plajt,
+Valentyn Tymofieiev, xiliu, XuMingmin, Yifan Zou, Yueyang Qiu.&lt;/p&gt;
+</description>
+        <pubDate>Wed, 03 Oct 2018 01:00:01 -0700</pubDate>
+        <link>https://beam.apache.org/blog/2018/10/03/beam-2.7.0.html</link>
+        <guid isPermaLink="true">https://beam.apache.org/blog/2018/10/03/beam-2.7.0.html</guid>
+        
+        
+        <category>blog</category>
+        
+      </item>
+    
+      <item>
         <title>Beam Summit Europe 2018</title>
         <description>&lt;!--
 Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);
@@ -125,7 +211,7 @@ limitations under the License.
    &lt;/td&gt;
    &lt;td&gt;Local&lt;br /&gt;(Using the &lt;code&gt;file://&lt;/code&gt; URI)
    &lt;/td&gt;
-   &lt;td&gt;&lt;a href=&quot;https://beam.apache.org/releases/javadoc/2.6.0/org/apache/beam/sdk/io/TextIO.html&quot;&gt;TextIO&lt;/a&gt;
+   &lt;td&gt;&lt;a href=&quot;https://beam.apache.org/releases/javadoc/2.7.0/org/apache/beam/sdk/io/TextIO.html&quot;&gt;TextIO&lt;/a&gt;
    &lt;/td&gt;
    &lt;td&gt;&lt;a href=&quot;https://spark.apache.org/docs/latest/api/java/org/apache/spark/streaming/StreamingContext.html#textFileStream-java.lang.String-&quot;&gt;textFileStream&lt;/a&gt;&lt;br /&gt;(Spark treats most Unix systems as HDFS-compatible, but the location should be accessible from all nodes)
    &lt;/td&gt;
@@ -133,7 +219,7 @@ limitations under the License.
   &lt;tr&gt;
    &lt;td&gt;HDFS&lt;br /&gt;(Using the &lt;code&gt;hdfs://&lt;/code&gt; URI)
    &lt;/td&gt;
-    &lt;td&gt;&lt;a href=&quot;https://beam.apache.org/releases/javadoc/2.6.0/org/apache/beam/sdk/io/FileIO.html&quot;&gt;FileIO&lt;/a&gt; + &lt;a href=&quot;https://beam.apache.org/releases/javadoc/2.6.0/org/apache/beam/sdk/io/hdfs/HadoopFileSystemOptions.html&quot;&gt;HadoopFileSystemOptions&lt;/a&gt;
+    &lt;td&gt;&lt;a href=&quot;https://beam.apache.org/releases/javadoc/2.7.0/org/apache/beam/sdk/io/FileIO.html&quot;&gt;FileIO&lt;/a&gt; + &lt;a href=&quot;https://beam.apache.org/releases/javadoc/2.7.0/org/apache/beam/sdk/io/hdfs/HadoopFileSystemOptions.html&quot;&gt;HadoopFileSystemOptions&lt;/a&gt;
    &lt;/td&gt;
    &lt;td&gt;&lt;a href=&quot;https://spark.apache.org/docs/latest/api/java/org/apache/spark/streaming/util/HdfsUtils.html&quot;&gt;HdfsUtils&lt;/a&gt;
    &lt;/td&gt;
@@ -143,7 +229,7 @@ limitations under the License.
    &lt;/td&gt;
    &lt;td&gt;Cloud Storage&lt;br /&gt;(Using the &lt;code&gt;gs://&lt;/code&gt; URI)
    &lt;/td&gt;
-   &lt;td&gt;&lt;a href=&quot;https://beam.apache.org/releases/javadoc/2.6.0/org/apache/beam/sdk/io/FileIO.html&quot;&gt;FileIO&lt;/a&gt; + &lt;a href=&quot;https://beam.apache.org/releases/javadoc/2.6.0/org/apache/beam/sdk/extensions/gcp/options/GcsOptions.html&quot;&gt;GcsOptions&lt;/a&gt;
+   &lt;td&gt;&lt;a href=&quot;https://beam.apache.org/releases/javadoc/2.7.0/org/apache/beam/sdk/io/FileIO.html&quot;&gt;FileIO&lt;/a&gt; + &lt;a href=&quot;https://beam.apache.org/releases/javadoc/2.7.0/org/apache/beam/sdk/extensions/gcp/options/GcsOptions.html&quot;&gt;GcsOptions&lt;/a&gt;
    &lt;/td&gt;
    &lt;td rowspan=&quot;2&quot;&gt;&lt;a href=&quot;https://spark.apache.org/docs/latest/api/java/org/apache/spark/SparkContext.html#hadoopConfiguration--&quot;&gt;hadoopConfiguration&lt;/a&gt;
 and &lt;a href=&quot;https://spark.apache.org/docs/latest/api/java/org/apache/spark/streaming/StreamingContext.html#textFileStream-java.lang.String-&quot;&gt;textFileStream&lt;/a&gt;
@@ -152,7 +238,7 @@ and &lt;a href=&quot;https://spark.apache.org/docs/latest/api/java/org/apache/sp
   &lt;tr&gt;
    &lt;td&gt;S3&lt;br /&gt;(Using the &lt;code&gt;s3://&lt;/code&gt; URI)
    &lt;/td&gt;
-    &lt;td&gt;&lt;a href=&quot;https://beam.apache.org/releases/javadoc/2.6.0/org/apache/beam/sdk/io/FileIO.html&quot;&gt;FileIO&lt;/a&gt; + &lt;a href=&quot;https://beam.apache.org/releases/javadoc/2.6.0/org/apache/beam/sdk/io/aws/options/S3Options.html&quot;&gt;S3Options&lt;/a&gt;
+    &lt;td&gt;&lt;a href=&quot;https://beam.apache.org/releases/javadoc/2.7.0/org/apache/beam/sdk/io/FileIO.html&quot;&gt;FileIO&lt;/a&gt; + &lt;a href=&quot;https://beam.apache.org/releases/javadoc/2.7.0/org/apache/beam/sdk/io/aws/options/S3Options.html&quot;&gt;S3Options&lt;/a&gt;
    &lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr&gt;
@@ -160,7 +246,7 @@ and &lt;a href=&quot;https://spark.apache.org/docs/latest/api/java/org/apache/sp
    &lt;/td&gt;
    &lt;td&gt;Kafka
    &lt;/td&gt;
-   &lt;td&gt;&lt;a href=&quot;https://beam.apache.org/releases/javadoc/2.6.0/org/apache/beam/sdk/io/kafka/KafkaIO.html&quot;&gt;KafkaIO&lt;/a&gt;
+   &lt;td&gt;&lt;a href=&quot;https://beam.apache.org/releases/javadoc/2.7.0/org/apache/beam/sdk/io/kafka/KafkaIO.html&quot;&gt;KafkaIO&lt;/a&gt;
    &lt;/td&gt;
    &lt;td&gt;&lt;a href=&quot;https://spark.apache.org/docs/latest/streaming-kafka-0-10-integration.html&quot;&gt;spark-streaming-kafka&lt;/a&gt;
    &lt;/td&gt;
@@ -168,7 +254,7 @@ and &lt;a href=&quot;https://spark.apache.org/docs/latest/api/java/org/apache/sp
   &lt;tr&gt;
    &lt;td&gt;Kinesis
    &lt;/td&gt;
-   &lt;td&gt;&lt;a href=&quot;https://beam.apache.org/releases/javadoc/2.6.0/org/apache/beam/sdk/io/kinesis/KinesisIO.html&quot;&gt;KinesisIO&lt;/a&gt;
+   &lt;td&gt;&lt;a href=&quot;https://beam.apache.org/releases/javadoc/2.7.0/org/apache/beam/sdk/io/kinesis/KinesisIO.html&quot;&gt;KinesisIO&lt;/a&gt;
    &lt;/td&gt;
    &lt;td&gt;&lt;a href=&quot;https://spark.apache.org/docs/latest/streaming-kinesis-integration.html&quot;&gt;spark-streaming-kinesis&lt;/a&gt;
    &lt;/td&gt;
@@ -176,7 +262,7 @@ and &lt;a href=&quot;https://spark.apache.org/docs/latest/api/java/org/apache/sp
   &lt;tr&gt;
    &lt;td&gt;Cloud Pub/Sub
    &lt;/td&gt;
-   &lt;td&gt;&lt;a href=&quot;https://beam.apache.org/releases/javadoc/2.6.0/org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.html&quot;&gt;PubsubIO&lt;/a&gt;
+   &lt;td&gt;&lt;a href=&quot;https://beam.apache.org/releases/javadoc/2.7.0/org/apache/beam/sdk/io/gcp/pubsub/PubsubIO.html&quot;&gt;PubsubIO&lt;/a&gt;
    &lt;/td&gt;
    &lt;td&gt;&lt;a href=&quot;https://github.com/apache/bahir/tree/master/streaming-pubsub&quot;&gt;spark-streaming-pubsub&lt;/a&gt; from &lt;a href=&quot;http://bahir.apache.org&quot;&gt;Apache Bahir&lt;/a&gt;
    &lt;/td&gt;
@@ -217,7 +303,7 @@ and &lt;a href=&quot;https://spark.apache.org/docs/latest/api/java/org/apache/sp
    &lt;/td&gt;
    &lt;td&gt;Local
    &lt;/td&gt;
-   &lt;td&gt;&lt;a href=&quot;https://beam.apache.org/releases/pydoc/2.6.0/apache_beam.io.textio.html&quot;&gt;io.textio&lt;/a&gt;
+   &lt;td&gt;&lt;a href=&quot;https://beam.apache.org/releases/pydoc/2.7.0/apache_beam.io.textio.html&quot;&gt;io.textio&lt;/a&gt;
    &lt;/td&gt;
    &lt;td&gt;&lt;a href=&quot;http://spark.apache.org/docs/latest/api/python/pyspark.streaming.html#pyspark.streaming.StreamingContext.textFileStream&quot;&gt;textFileStream&lt;/a&gt;
    &lt;/td&gt;
@@ -225,7 +311,7 @@ and &lt;a href=&quot;https://spark.apache.org/docs/latest/api/java/org/apache/sp
   &lt;tr&gt;
    &lt;td&gt;HDFS
    &lt;/td&gt;
-   &lt;td&gt;&lt;a href=&quot;https://beam.apache.org/releases/pydoc/2.6.0/apache_beam.io.hadoopfilesystem.html&quot;&gt;io.hadoopfilesystem&lt;/a&gt;
+   &lt;td&gt;&lt;a href=&quot;https://beam.apache.org/releases/pydoc/2.7.0/apache_beam.io.hadoopfilesystem.html&quot;&gt;io.hadoopfilesystem&lt;/a&gt;
    &lt;/td&gt;
    &lt;td&gt;&lt;a href=&quot;https://spark.apache.org/docs/latest/api/java/org/apache/spark/SparkContext.html#hadoopConfiguration--&quot;&gt;hadoopConfiguration&lt;/a&gt; (Access through &lt;code&gt;sc._jsc&lt;/code&gt; with Py4J)
 and &lt;a href=&quot;http://spark.apache.org/docs/latest/api/python/pyspark.streaming.html#pyspark.streaming.StreamingContext.textFileStream&quot;&gt;textFileStream&lt;/a&gt;
@@ -236,7 +322,7 @@ and &lt;a href=&quot;http://spark.apache.org/docs/latest/api/python/pyspark.stre
    &lt;/td&gt;
    &lt;td&gt;Google Cloud Storage
    &lt;/td&gt;
-   &lt;td&gt;&lt;a href=&quot;https://beam.apache.org/releases/pydoc/2.6.0/apache_beam.io.gcp.gcsio.html&quot;&gt;io.gcp.gcsio&lt;/a&gt;
+   &lt;td&gt;&lt;a href=&quot;https://beam.apache.org/releases/pydoc/2.7.0/apache_beam.io.gcp.gcsio.html&quot;&gt;io.gcp.gcsio&lt;/a&gt;
    &lt;/td&gt;
    &lt;td rowspan=&quot;2&quot;&gt;&lt;a href=&quot;http://spark.apache.org/docs/latest/api/python/pyspark.streaming.html#pyspark.streaming.StreamingContext.textFileStream&quot;&gt;textFileStream&lt;/a&gt;
    &lt;/td&gt;
@@ -268,7 +354,7 @@ and &lt;a href=&quot;http://spark.apache.org/docs/latest/api/python/pyspark.stre
   &lt;tr&gt;
    &lt;td&gt;Cloud Pub/Sub
    &lt;/td&gt;
-   &lt;td&gt;&lt;a href=&quot;https://beam.apache.org/releases/pydoc/2.6.0/apache_beam.io.gcp.pubsub.html&quot;&gt;io.gcp.pubsub&lt;/a&gt;
+   &lt;td&gt;&lt;a href=&quot;https://beam.apache.org/releases/pydoc/2.7.0/apache_beam.io.gcp.pubsub.html&quot;&gt;io.gcp.pubsub&lt;/a&gt;
    &lt;/td&gt;
    &lt;td&gt;N/A
    &lt;/td&gt;
@@ -442,7 +528,7 @@ please check the detailed release notes.&lt;/p&gt;
 &lt;h1 id=&quot;new-features--improvements&quot;&gt;New Features / Improvements&lt;/h1&gt;
 
 &lt;h2 id=&quot;go-sdk-support&quot;&gt;Go SDK support&lt;/h2&gt;
-&lt;p&gt;The Go SDK has been officially accepted into the project, after an incubation period and community effort. Go pipelines run on Dataflow runner. More details are &lt;a href=&quot;https://beam.apache.org/documentation/sdks/go/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
+&lt;p&gt;The Go SDK has been officially accepted into the project, after an incubation period and community effort. Go pipelines run on Dataflow runner. More details are &lt;a href=&quot;/documentation/sdks/go/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
 
 &lt;h2 id=&quot;parquet-support&quot;&gt;Parquet support&lt;/h2&gt;
 &lt;p&gt;Support for Apache Parquet format was added. It uses Parquet 1.10 release which, thanks to AvroParquerWriter’s API changes, allows FileIO.Sink implementation.&lt;/p&gt;
@@ -1408,22 +1494,22 @@ has other limitations that make it insufficient for this task&lt;/em&gt;).&lt;/p
 &lt;h2 id=&quot;beam-source-api&quot;&gt;Beam Source API&lt;/h2&gt;
 
 &lt;p&gt;Apache Beam historically provides a Source API
-(&lt;a href=&quot;https://beam.apache.org/releases/javadoc/2.6.0/org/apache/beam/sdk/io/BoundedSource.html&quot;&gt;BoundedSource&lt;/a&gt;
+(&lt;a href=&quot;https://beam.apache.org/releases/javadoc/2.7.0/org/apache/beam/sdk/io/BoundedSource.html&quot;&gt;BoundedSource&lt;/a&gt;
 and
-&lt;a href=&quot;https://beam.apache.org/releases/javadoc/2.6.0/org/apache/beam/sdk/io/UnboundedSource.html&quot;&gt;UnboundedSource&lt;/a&gt;) which does
+&lt;a href=&quot;https://beam.apache.org/releases/javadoc/2.7.0/org/apache/beam/sdk/io/UnboundedSource.html&quot;&gt;UnboundedSource&lt;/a&gt;) which does
 not have these limitations and allows development of efficient data sources for
 batch and streaming systems. Pipelines use this API via the
-&lt;a href=&quot;https://beam.apache.org/releases/javadoc/2.6.0/org/apache/beam/sdk/io/Read.html&quot;&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;Read.from(Source)&lt;/code&gt;&lt;/a&gt; built-in &lt;code class=&quot;highlighter-rouge&quot;&gt;PTransform&lt;/code&gt;.&lt;/p&gt;
+&lt;a href=&quot;https://beam.apache.org/releases/javadoc/2.7.0/org/apache/beam/sdk/io/Read.html&quot;&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;Read.from(Source)&lt;/code&gt;&lt;/a&gt; built-in &lt;code class=&quot;highlighter-rouge&quot;&gt;PTransform&lt;/code&gt;.&lt;/p&gt;
 
 &lt;p&gt;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
-&lt;a href=&quot;https://beam.apache.org/releases/javadoc/2.6.0/org/apache/beam/sdk/io/BoundedSource.html&quot;&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;BoundedSource&lt;/code&gt;&lt;/a&gt;
+&lt;a href=&quot;https://beam.apache.org/releases/javadoc/2.7.0/org/apache/beam/sdk/io/BoundedSource.html&quot;&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;BoundedSource&lt;/code&gt;&lt;/a&gt;
 API provides advanced features such as progress reporting and &lt;a href=&quot;/blog/2016/05/18/splitAtFraction-method.html&quot;&gt;dynamic
 rebalancing&lt;/a&gt;
 (which together enable autoscaling), and
-&lt;a href=&quot;https://beam.apache.org/releases/javadoc/2.6.0/org/apache/beam/sdk/io/UnboundedSource.html&quot;&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;UnboundedSource&lt;/code&gt;&lt;/a&gt; supports
+&lt;a href=&quot;https://beam.apache.org/releases/javadoc/2.7.0/org/apache/beam/sdk/io/UnboundedSource.html&quot;&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;UnboundedSource&lt;/code&gt;&lt;/a&gt; supports
 reporting the source’s watermark and backlog &lt;em&gt;(until SDF, we believed that
 “batch” and “streaming” data sources are fundamentally different and thus
 require fundamentally different APIs)&lt;/em&gt;.&lt;/p&gt;
@@ -2025,93 +2111,5 @@ limitations under the License.
         
       </item>
     
-      <item>
-        <title>Python SDK released in Apache Beam 0.6.0</title>
-        <description>&lt;!--
-Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an &quot;AS IS&quot; BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
---&gt;
-
-&lt;p&gt;Apache Beam’s latest release, version &lt;a href=&quot;/get-started/downloads/&quot;&gt;0.6.0&lt;/a&gt;, introduces a new SDK – this time, for the Python programming language. The Python SDK joins the Java SDK as the second implementation of the Beam programming model.&lt;/p&gt;
-
-&lt;!--more--&gt;
-
-&lt;p&gt;The Python SDK incorporates all of the main concepts of the Beam model, including ParDo, GroupByKey, Windowing, and others. It features extensible IO APIs for writing bounded sources and sinks, and provides built-in implementation for reading and writing Text, Avro, and TensorFlow record files, as well as connectors to Google BigQuery and Google Cloud Datastore.&lt;/p&gt;
-
-&lt;p&gt;There are two runners capable of executing pipelines written with the Python SDK today: &lt;a href=&quot;/documentation/runners/direct/&quot;&gt;Direct Runner&lt;/a&gt; and &lt;a href=&quot;/documentation/runners/dataflow/&quot;&gt;Dataflow Runner&lt;/a&gt;, both of which are currently limited to batch execution only. Upcoming features will shortly bring the benefits of the Python SDK to additional runners.&lt;/p&gt;
-
-&lt;h4 id=&quot;try-the-apache-beam-python-sdk&quot;&gt;Try the Apache Beam Python SDK&lt;/h4&gt;
-
-&lt;p&gt;If you would like to try out the Python SDK, a good place to start is the &lt;a href=&quot;/get-started/quickstart-py/&quot;&gt;Quickstart&lt;/a&gt;. After that, you can take a look at additional &lt;a href=&quot;https://github.com/apache/beam/tree/v0.6.0/sdks/python/apache_beam/examples&quot;&gt;examples&lt;/a&gt;, and deep dive into the &lt;a href=&quot;https://beam.apache.org/releases/pydoc/&quot;&gt;API reference&lt;/a&gt;.&lt;/p&gt;
-
-&lt;p&gt;Let’s take a look at a quick example together. First, install the &lt;code class=&quot;highlighter-rouge&quot;&gt;apache-beam&lt;/code&gt; package from PyPI and start your Python interpreter.&lt;/p&gt;
-
-&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ pip install apache-beam
-$ python
-&lt;/code&gt;&lt;/pre&gt;
-&lt;/div&gt;
-
-&lt;p&gt;We will harness the power of Apache Beam to estimate Pi in honor of the recently passed Pi Day.&lt;/p&gt;
-
-&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;import random
-import apache_beam as beam
-
-def run_trials(count):
-  &quot;&quot;&quot;Throw darts into unit square and count how many fall into unit circle.&quot;&quot;&quot;
-  inside = 0
-  for _ in xrange(count):
-    x, y = random.uniform(0, 1), random.uniform(0, 1)
-    inside += 1 if x*x + y*y &amp;lt;= 1.0 else 0
-  return count, inside
-
-def combine_results(results):
-  &quot;&quot;&quot;Given all the trial results, estimate pi.&quot;&quot;&quot;
-  total, inside = sum(r[0] for r in results), sum(r[1] for r in results)
-  return total, inside, 4 * float(inside) / total if total &amp;gt; 0 else 0
-
-p = beam.Pipeline()
-(p | beam.Create([500] * 10)  # Create 10 experiments with 500 samples each.
-   | beam.Map(run_trials)     # Run experiments in parallel.
-   | beam.CombineGlobally(combine_results)      # Combine the results.
-   | beam.io.WriteToText('./pi_estimate.txt'))  # Write PI estimate to a file.
-
-p.run()
-&lt;/code&gt;&lt;/pre&gt;
-&lt;/div&gt;
-
-&lt;p&gt;This example estimates Pi by throwing random darts into the unit square and keeping track of the fraction of those darts that fell into the unit circle (see the full &lt;a href=&quot;https://github.com/apache/beam/blob/v0.6.0/sdks/python/apache_beam/examples/complete/estimate_pi.py&quot;&gt;example&lt;/a&gt; for details). If you are curious, you can check the result of our estimation by looking at the output file.&lt;/p&gt;
-
-&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ cat pi_estimate.txt*
-&lt;/code&gt;&lt;/pre&gt;
-&lt;/div&gt;
-
-&lt;h4 id=&quot;roadmap&quot;&gt;Roadmap&lt;/h4&gt;
-
-&lt;p&gt;The first thing on the Python SDK’s roadmap is to address two of its limitations. First, the existing runners are currently limited to bounded PCollections, and we are looking forward to extending the SDK to support unbounded PCollections (“streaming”). Additionally, we are working on extending support to more Apache Beam runners, and the upcoming Fn API will do the heavy lifting.&lt;/p&gt;
-
-&lt;p&gt;Both of these improvements will enable the Python SDK to fulfill the mission of Apache Beam: a unified programming model for batch and streaming data processing that can run on any execution engine.&lt;/p&gt;
-
-&lt;h4 id=&quot;join-us&quot;&gt;Join us!&lt;/h4&gt;
-
-&lt;p&gt;Please consider joining us, whether as a user or a contributor, as we work towards our first release with API stability. If you’d like to try out Apache Beam today, check out the latest &lt;a href=&quot;/get-started/downloads/&quot;&gt;0.6.0&lt;/a&gt; release. We welcome contributions and participation from anyone through our mailing lists, issue tracker, pull requests, and events.&lt;/p&gt;
-</description>
-        <pubDate>Thu, 16 Mar 2017 01:00:01 -0700</pubDate>
-        <link>https://beam.apache.org/blog/2017/03/16/python-sdk-release.html</link>
-        <guid isPermaLink="true">https://beam.apache.org/blog/2017/03/16/python-sdk-release.html</guid>
-        
-        
-        <category>blog</category>
-        
-      </item>
-    
   </channel>
 </rss>
diff --git a/website/generated-content/get-started/downloads/index.html b/website/generated-content/get-started/downloads/index.html
index a1342c7..e1a5be7 100644
--- a/website/generated-content/get-started/downloads/index.html
+++ b/website/generated-content/get-started/downloads/index.html
@@ -182,6 +182,7 @@
   <li><a href="#api-stability">API stability</a></li>
   <li><a href="#releases">Releases</a>
     <ul>
+      <li><a href="#270-2018-10-02">2.7.0 (2018-10-02)</a></li>
       <li><a href="#260-2018-08-08">2.6.0 (2018-08-08)</a></li>
       <li><a href="#250-2018-06-06">2.5.0 (2018-06-06)</a></li>
       <li><a href="#240-2018-03-20">2.4.0 (2018-03-20)</a></li>
@@ -214,7 +215,7 @@ limitations under the License.
 <h1 id="apache-beam-downloads">Apache Beam™ Downloads</h1>
 
 <blockquote>
-  <p>Beam SDK 2.6.0 is the latest released version.</p>
+  <p>Beam SDK 2.7.0 is the latest released version.</p>
 </blockquote>
 
 <h2 id="using-a-central-repository">Using a central repository</h2>
@@ -229,12 +230,12 @@ with the <code class="highlighter-rouge">DirectRunner</code>, add the following
 <div class="highlighter-rouge"><pre class="highlight"><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.6.0&lt;/version&gt;
+  &lt;version&gt;2.7.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.6.0&lt;/version&gt;
+  &lt;version&gt;2.7.0&lt;/version&gt;
   &lt;scope&gt;runtime&lt;/scope&gt;
 &lt;/dependency&gt;
 </code></pre>
@@ -243,7 +244,7 @@ with the <code class="highlighter-rouge">DirectRunner</code>, add the following
 <p>Similarly in Python, if you are using PyPI and want to use the SDK for Python
 with <code class="highlighter-rouge">DirectRunner</code>, add the following requirement to your <code class="highlighter-rouge">setup.py</code> file:</p>
 
-<div class="highlighter-rouge"><pre class="highlight"><code>apache-beam==2.6.0
+<div class="highlighter-rouge"><pre class="highlight"><code>apache-beam==2.7.0
 </code></pre>
 </div>
 
@@ -267,7 +268,7 @@ the form <code class="highlighter-rouge">major.minor.incremental</code> and are
   <li>incremental version for forward-compatible bug fixes</li>
 </ul>
 
-<p>Please note that APIs marked <a href="https://beam.apache.org/releases/javadoc/2.6.0/org/apache/beam/sdk/annotations/Experimental.html"><code class="highlighter-rouge">@Experimental</code></a>
+<p>Please note that APIs marked <a href="https://beam.apache.org/releases/javadoc/2.7.0/org/apache/beam/sdk/annotations/Experimental.html"><code class="highlighter-rouge">@Experimental</code></a>
 may change at any point and are not guaranteed to remain compatible across versions.</p>
 
 <p>Additionally, any API may change before the first stable release, i.e., between
@@ -275,6 +276,13 @@ versions denoted <code class="highlighter-rouge">0.x.y</code>.</p>
 
 <h2 id="releases">Releases</h2>
 
+<h3 id="270-2018-10-02">2.7.0 (2018-10-02)</h3>
+<p>Official <a href="https://dist.apache.org/repos/dist/release/beam/2.7.0/apache-beam-2.7.0-source-release.zip">source code download</a>
+<a href="https://dist.apache.org/repos/dist/release/beam/2.7.0/apache-beam-2.7.0-source-release.zip.sha512">SHA-512</a>
+<a href="https://dist.apache.org/repos/dist/release/beam/2.7.0/apache-beam-2.7.0-source-release.zip.asc">signature</a>.</p>
+
+<p><a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12319527&amp;version=12343654">Release notes</a>.</p>
+
 <h3 id="260-2018-08-08">2.6.0 (2018-08-08)</h3>
 <p>Official <a href="https://archive.apache.org/dist/beam/2.6.0/apache-beam-2.6.0-source-release.zip">source code download</a>
 <a href="https://archive.apache.org/dist/beam/2.6.0/apache-beam-2.6.0-source-release.zip.sha512">SHA-512</a>
diff --git a/website/generated-content/get-started/quickstart-java/index.html b/website/generated-content/get-started/quickstart-java/index.html
index b3fb7b5..fa05923 100644
--- a/website/generated-content/get-started/quickstart-java/index.html
+++ b/website/generated-content/get-started/quickstart-java/index.html
@@ -232,7 +232,7 @@ limitations under the License.
 <div class="shell-unix highlighter-rouge"><pre class="highlight"><code>$ mvn archetype:generate \
       -DarchetypeGroupId=org.apache.beam \
       -DarchetypeArtifactId=beam-sdks-java-maven-archetypes-examples \
-      -DarchetypeVersion=2.6.0 \
+      -DarchetypeVersion=2.7.0 \
       -DgroupId=org.example \
       -DartifactId=word-count-beam \
       -Dversion="0.1" \
@@ -244,7 +244,7 @@ limitations under the License.
 <div class="shell-PowerShell highlighter-rouge"><pre class="highlight"><code>PS&gt; mvn archetype:generate `
  -D archetypeGroupId=org.apache.beam `
  -D archetypeArtifactId=beam-sdks-java-maven-archetypes-examples `
- -D archetypeVersion=2.6.0 `
+ -D archetypeVersion=2.7.0 `
  -D groupId=org.example `
  -D artifactId=word-count-beam `
  -D version="0.1" `
@@ -342,7 +342,7 @@ You can monitor the running job by visiting the Flink dashboard at http://&lt;fl
 </code></pre>
 </div>
 
-<div class="runner-dataflow highlighter-rouge"><pre class="highlight"><code>Make sure you complete the setup steps at https://beam.apache.org/documentation/runners/dataflow/#setup
+<div class="runner-dataflow highlighter-rouge"><pre class="highlight"><code>Make sure you complete the setup steps at /documentation/runners/dataflow/#setup
 
 $ mvn compile exec:java -Dexec.mainClass=org.apache.beam.examples.WordCount \
      -Dexec.args="--runner=DataflowRunner --project=&lt;your-gcp-project&gt; \
@@ -386,7 +386,7 @@ You can monitor the running job by visiting the Flink dashboard at http://&lt;fl
 </code></pre>
 </div>
 
-<div class="runner-dataflow highlighter-rouge"><pre class="highlight"><code>Make sure you complete the setup steps at https://beam.apache.org/documentation/runners/dataflow/#setup
+<div class="runner-dataflow highlighter-rouge"><pre class="highlight"><code>Make sure you complete the setup steps at /documentation/runners/dataflow/#setup
 
 PS&gt; mvn compile exec:java -D exec.mainClass=org.apache.beam.examples.WordCount `
  -D exec.args="--runner=DataflowRunner --project=&lt;your-gcp-project&gt; `
diff --git a/website/generated-content/get-started/quickstart-py/index.html b/website/generated-content/get-started/quickstart-py/index.html
index 17fc112..0eca7b7 100644
--- a/website/generated-content/get-started/quickstart-py/index.html
+++ b/website/generated-content/get-started/quickstart-py/index.html
@@ -394,7 +394,7 @@ environment’s directories.</p>
 </div>
 
 <div class="runner-dataflow highlighter-rouge"><pre class="highlight"><code># As part of the initial setup, install Google Cloud Platform specific extra components. Make sure you
-# complete the setup steps at https://beam.apache.org/documentation/runners/dataflow/#setup
+# complete the setup steps at /documentation/runners/dataflow/#setup
 pip install apache-beam[gcp]
 python -m apache_beam.examples.wordcount --input gs://dataflow-samples/shakespeare/kinglear.txt \
                                          --output gs://&lt;your-gcs-bucket&gt;/counts \
diff --git a/website/generated-content/get-started/wordcount-example/index.html b/website/generated-content/get-started/wordcount-example/index.html
index eb45e10..1e4dbac 100644
--- a/website/generated-content/get-started/wordcount-example/index.html
+++ b/website/generated-content/get-started/wordcount-example/index.html
@@ -1375,7 +1375,7 @@ unbounded datasets. If your dataset has a fixed number of elements, it is a boun
 dataset and all of the data can be processed together. For bounded datasets,
 the question to ask is “Do I have all of the data?” If data continuously
 arrives (such as an endless stream of game scores in the
-<a href="https://beam.apache.org/get-started/mobile-gaming-example/">Mobile gaming example</a>,
+<a href="/get-started/mobile-gaming-example/">Mobile gaming example</a>,
 it is an unbounded dataset. An unbounded dataset is never available for
 processing at any one time, so the data must be processed using a streaming
 pipeline that runs continuously. The dataset will only be complete up to a
@@ -1614,7 +1614,7 @@ python -m apache_beam.examples.streaming_wordcount \
 
 <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.6.0/apache_beam.io.gcp.pubsub.html#apache_beam.io.gcp.pubsub.ReadStringsFromPubSub"><code class="highlighter-rouge">beam.io.ReadStringsFromPubSub</code></a>.</p>
+<a href="https://beam.apache.org/releases/pydoc/2.7.0/apache_beam.io.gcp.pubsub.html#apache_beam.io.gcp.pubsub.ReadStringsFromPubSub"><code class="highlighter-rouge">beam.io.ReadStringsFromPubSub</code></a>.</p>
 
 <div class="language-java highlighter-rouge"><pre class="highlight"><code>  <span class="c1">// This example is not currently available for the Beam SDK for Java.</span>
 </code></pre>
@@ -1640,7 +1640,7 @@ outputs.</p>
 
 <p>This example uses an unbounded <code class="highlighter-rouge">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.6.0/apache_beam.io.gcp.pubsub.html#apache_beam.io.gcp.pubsub.WriteStringsToPubSub"><code class="highlighter-rouge">beam.io.WriteStringsToPubSub</code></a>.</p>
+using <a href="https://beam.apache.org/releases/pydoc/2.7.0/apache_beam.io.gcp.pubsub.html#apache_beam.io.gcp.pubsub.WriteStringsToPubSub"><code class="highlighter-rouge">beam.io.WriteStringsToPubSub</code></a>.</p>
 
 <div class="language-java highlighter-rouge"><pre class="highlight"><code>  <span class="c1">// This example is not currently available for the Beam SDK for Java.</span>
 </code></pre>
diff --git a/website/generated-content/index.html b/website/generated-content/index.html
index dbdaf3d..8f3af7f 100644
--- a/website/generated-content/index.html
+++ b/website/generated-content/index.html
@@ -146,7 +146,7 @@ limitations under the License.
           </div>
           <div class="hero__ctas hero__ctas--first">
             <a class="button button--primary" href="/get-started/beam-overview/">Learn more</a>
-            <a class="button button--primary" href="/get-started/downloads/">Download Beam SDK 2.6.0</a>
+            <a class="button button--primary" href="/get-started/downloads/">Download Beam SDK 2.7.0</a>
           </div>
           <div class="hero__ctas">
             <a class="button" href="/get-started/quickstart-java/">Java Quickstart</a>
@@ -162,6 +162,11 @@ limitations under the License.
           </div>
           <div class="hero__blog__cards">
             
+            <a class="hero__blog__cards__card" href="/blog/2018/10/03/beam-2.7.0.html">
+              <div class="hero__blog__cards__card__title">Apache Beam 2.7.0</div>
+              <div class="hero__blog__cards__card__date">Oct 3, 2018</div>
+            </a>
+            
             <a class="hero__blog__cards__card" href="/blog/2018/08/21/beam-summit-europe.html">
               <div class="hero__blog__cards__card__title">Beam Summit Europe 2018</div>
               <div class="hero__blog__cards__card__date">Aug 21, 2018</div>
@@ -172,11 +177,6 @@ limitations under the License.
               <div class="hero__blog__cards__card__date">Aug 20, 2018</div>
             </a>
             
-            <a class="hero__blog__cards__card" href="/blog/2018/08/10/beam-2.6.0.html">
-              <div class="hero__blog__cards__card__title">Apache Beam 2.6.0</div>
-              <div class="hero__blog__cards__card__date">Aug 10, 2018</div>
-            </a>
-            
           </div>
         </div>
       </div>
@@ -325,7 +325,7 @@ limitations under the License.
   </div>
   <div class="ctas__ctas ctas__ctas--top">
   <a class="button button--primary" href="/get-started/beam-overview/">Learn more</a>
-  <a class="button button--primary" href="/get-started/downloads/">Download Beam SDK 2.6.0</a>
+  <a class="button button--primary" href="/get-started/downloads/">Download Beam SDK 2.7.0</a>
   </div>
   <div class="ctas__ctas">
   <a class="button" href="/get-started/quickstart-java/">Java Quickstart</a>