You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iceberg.apache.org by bl...@apache.org on 2021/09/22 22:34:38 UTC
[iceberg] branch asf-site updated: Deployed 12e30ebae with MkDocs
version: 1.2.1
This is an automated email from the ASF dual-hosted git repository.
blue pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/iceberg.git
The following commit(s) were added to refs/heads/asf-site by this push:
new 32b22da Deployed 12e30ebae with MkDocs version: 1.2.1
32b22da is described below
commit 32b22dad24e97d6c9e9d6580586e4cfdf56efd03
Author: Ryan Blue <bl...@apache.org>
AuthorDate: Wed Sep 22 15:34:24 2021 -0700
Deployed 12e30ebae with MkDocs version: 1.2.1
---
404.html | 23 +++-
api/index.html | 114 ++++++++++++++-----
aws/index.html | 35 ++++--
benchmarks/index.html | 23 +++-
blogs/index.html | 23 +++-
community/index.html | 25 ++++-
configuration/index.html | 23 +++-
custom-catalog/index.html | 100 ++++++++++++-----
evolution/index.html | 23 +++-
{jdbc => flink-connector}/index.html | 200 +++++++++++++++++++++++-----------
flink/index.html | 27 ++++-
getting-started/index.html | 23 +++-
hive/index.html | 25 ++++-
how-to-release/index.html | 100 ++++++++++++-----
index.html | 25 ++++-
java-api-quickstart/index.html | 23 +++-
jdbc/index.html | 23 +++-
maintenance/index.html | 23 +++-
nessie/index.html | 25 ++++-
partitioning/index.html | 100 ++++++++++++-----
performance/index.html | 100 ++++++++++++-----
python-api-intro/index.html | 100 ++++++++++++-----
python-feature-support/index.html | 23 +++-
python-quickstart/index.html | 100 ++++++++++++-----
releases/index.html | 25 ++++-
reliability/index.html | 100 ++++++++++++-----
{jdbc => roadmap}/index.html | 141 ++++++++++++------------
schemas/index.html | 100 ++++++++++++-----
security/index.html | 23 +++-
sitemap.xml | 86 ++++++++-------
sitemap.xml.gz | Bin 488 -> 505 bytes
snapshots/index.html | 100 ++++++++++++-----
spark-configuration/index.html | 23 +++-
spark-ddl/index.html | 100 ++++++++++++-----
spark-procedures/index.html | 23 +++-
spark-queries/index.html | 100 ++++++++++++-----
spark-structured-streaming/index.html | 23 +++-
spark-writes/index.html | 117 +++++++++++++++-----
spec/index.html | 23 +++-
terms/index.html | 100 ++++++++++++-----
trademarks/index.html | 100 ++++++++++++-----
trino-prestodb/index.html | 23 +++-
42 files changed, 1870 insertions(+), 643 deletions(-)
diff --git a/404.html b/404.html
index 65df86c..6a3fcbd 100644
--- a/404.html
+++ b/404.html
@@ -82,6 +82,12 @@
<li >
+ <a href="/roadmap/">Roadmap</a>
+</li>
+
+
+
+<li >
<a href="/community/">Community</a>
</li>
@@ -240,10 +246,25 @@
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Flink</a>
+ <ul class="dropdown-menu">
+
+
<li >
- <a href="/flink/">Flink</a>
+ <a href="/flink/">Getting Started</a>
</li>
+
+
+<li >
+ <a href="/flink-connector/">Flink Connector</a>
+</li>
+
+
+ </ul>
+ </li>
+
<li >
diff --git a/api/index.html b/api/index.html
index 22116ab..97d212f 100644
--- a/api/index.html
+++ b/api/index.html
@@ -82,6 +82,12 @@
<li >
+ <a href="../roadmap/">Roadmap</a>
+</li>
+
+
+
+<li >
<a href="../community/">Community</a>
</li>
@@ -121,6 +127,12 @@
+ <li >
+ <a href="../getting-started/">Getting Started</a>
+ </li>
+
+
+
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Tables <b class="caret"></b></a>
<ul class="dropdown-menu">
@@ -173,54 +185,102 @@
<li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">Spark <b class="caret"></b></a>
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">Engines <b class="caret"></b></a>
<ul class="dropdown-menu">
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Spark</a>
+ <ul class="dropdown-menu">
+
+
<li >
<a href="../getting-started/">Getting Started</a>
</li>
-
-
+
+
<li >
<a href="../spark-configuration/">Configuration</a>
</li>
-
-
+
+
<li >
<a href="../spark-ddl/">DDL</a>
</li>
-
-
+
+
<li >
<a href="../spark-queries/">Queries</a>
</li>
+
+
+<li >
+ <a href="../spark-writes/">Writes</a>
+</li>
+
+
+
+<li >
+ <a href="../spark-procedures/">Maintenance Procedures</a>
+</li>
+
+
+
+<li >
+ <a href="../spark-structured-streaming/">Structured Streaming</a>
+</li>
+
+
+
+<li >
+ <a href="../spark-queries/#time-travel">Time Travel</a>
+</li>
+
+
+ </ul>
+ </li>
+
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Flink</a>
+ <ul class="dropdown-menu">
+
+
<li >
- <a href="../spark-writes/">Writes</a>
+ <a href="../flink/">Getting Started</a>
+</li>
+
+
+
+<li >
+ <a href="../flink-connector/">Flink Connector</a>
</li>
+
+ </ul>
+ </li>
+
<li >
- <a href="../spark-procedures/">Maintenance Procedures</a>
+ <a href="../hive/">Hive</a>
</li>
<li >
- <a href="../spark-structured-streaming/">Structured Streaming</a>
+ <a href="https://trino.io/docs/current/connector/iceberg.html">Trino</a>
</li>
<li >
- <a href="../spark-queries/#time-travel">Time Travel</a>
+ <a href="https://prestodb.io/docs/current/connector/iceberg.html">PrestoDB</a>
</li>
@@ -229,24 +289,6 @@
- <li >
- <a href="https://trino.io/docs/current/connector/iceberg.html">Trino</a>
- </li>
-
-
-
- <li >
- <a href="../flink/">Flink</a>
- </li>
-
-
-
- <li >
- <a href="../hive/">Hive</a>
- </li>
-
-
-
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Integrations <b class="caret"></b></a>
<ul class="dropdown-menu">
@@ -472,6 +514,7 @@
<li><code>locationProvider</code> returns a <code>LocationProvider</code> used to create paths for data and metadata files</li>
</ul>
<h3 id="scanning">Scanning<a class="headerlink" href="#scanning" title="Permanent link">¶</a></h3>
+<h4 id="file-level">File level<a class="headerlink" href="#file-level" title="Permanent link">¶</a></h4>
<p>Iceberg table scans start by creating a <code>TableScan</code> object with <code>newScan</code>.</p>
<pre><code class="language-java">TableScan scan = table.newScan();
</code></pre>
@@ -488,6 +531,19 @@ Schema projection = scan.schema();
Iterable<CombinedScanTask> tasks = scan.planTasks();
</code></pre>
<p>Use <code>asOfTime</code> or <code>useSnapshot</code> to configure the table snapshot for time travel queries.</p>
+<h4 id="row-level">Row level<a class="headerlink" href="#row-level" title="Permanent link">¶</a></h4>
+<p>Iceberg table scans start by creating a <code>ScanBuilder</code> object with <code>IcebergGenerics.read</code>.</p>
+<pre><code class="language-java">ScanBuilder scanBuilder = IcebergGenerics.read(table)
+</code></pre>
+<p>To configure a scan, call <code>where</code> and <code>select</code> on the <code>ScanBuilder</code> to get a new <code>ScanBuilder</code> with those changes.</p>
+<pre><code class="language-java">scanBuilder.where(Expressions.equal("id", 5))
+</code></pre>
+<p>When a scan is configured, call method <code>build</code> to execute scan. <code>build</code> return <code>CloseableIterable<Record></code></p>
+<pre><code class="language-java">CloseableIterable<Record> result = IcebergGenerics.read(table)
+ .where(Expressions.lessThan("id", 5))
+ .build();
+</code></pre>
+<p>where <code>Record</code> is Iceberg record for iceberg-data module <code>org.apache.iceberg.data.Record</code>.</p>
<h3 id="update-operations">Update operations<a class="headerlink" href="#update-operations" title="Permanent link">¶</a></h3>
<p><code>Table</code> also exposes operations that update the table. These operations use a builder pattern, <a href="../javadoc/master/?org/apache/iceberg/PendingUpdate.html"><code>PendingUpdate</code></a>, that commits when <code>PendingUpdate#commit</code> is called.</p>
<p>For example, updating the table schema is done by calling <code>updateSchema</code>, adding updates to the builder, and finally calling <code>commit</code> to commit the pending changes to the table:</p>
diff --git a/aws/index.html b/aws/index.html
index 09e0a5b..885da09 100644
--- a/aws/index.html
+++ b/aws/index.html
@@ -82,6 +82,12 @@
<li >
+ <a href="../roadmap/">Roadmap</a>
+</li>
+
+
+
+<li >
<a href="../community/">Community</a>
</li>
@@ -240,10 +246,25 @@
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Flink</a>
+ <ul class="dropdown-menu">
+
+
<li >
- <a href="../flink/">Flink</a>
+ <a href="../flink/">Getting Started</a>
</li>
+
+
+<li >
+ <a href="../flink-connector/">Flink Connector</a>
+</li>
+
+
+ </ul>
+ </li>
+
<li >
@@ -836,7 +857,7 @@ For more details, please read <a href="https://docs.aws.amazon.com/AmazonS3/late
Data stored in S3 with a traditional Hive storage layout can face S3 request throttling as objects are stored under the same filepath prefix.</p>
<p>Iceberg by default uses the Hive storage layout, but can be switched to use the <code>ObjectStoreLocationProvider</code>.
With <code>ObjectStoreLocationProvider</code>, a determenistic hash is generated for each stored file, with the hash appended
-directly after the <code>write.object-storage.path</code>. This ensures files written to s3 are equally distributed across multiple <a href="https://aws.amazon.com/premiumsupport/knowledge-center/s3-object-key-naming-pattern/">prefixes</a> in the S3 bucket. Resulting in minimized throttling and maximized throughput for S3-related IO operations. When using <code>ObjectStoreLocationProvider</code> having a shared and short <code>write.object-storage.path</code> across your Iceberg tables w [...]
+directly after the <code>write.data.path</code>. This ensures files written to s3 are equally distributed across multiple <a href="https://aws.amazon.com/premiumsupport/knowledge-center/s3-object-key-naming-pattern/">prefixes</a> in the S3 bucket. Resulting in minimized throttling and maximized throughput for S3-related IO operations. When using <code>ObjectStoreLocationProvider</code> having a shared and short <code>write.data.path</code> across your Iceberg tables will improve performa [...]
<p>For more information on how S3 scales API QPS, checkout the 2018 re:Invent session on <a href="https://youtu.be/rHeTn9pHNKo?t=3219">Best Practices for Amazon S3 and Amazon S3 Glacier</a>. At <a href="https://youtu.be/rHeTn9pHNKo?t=3219">53:39</a> it covers how S3 scales/partitions & at <a href="https://youtu.be/rHeTn9pHNKo?t=3290">54:50</a> it discusses the 30-60 minute wait time before new partitions are created.</p>
<p>To use the <code>ObjectStorageLocationProvider</code> add <code>'write.object-storage.enabled'=true</code> in the table’s properties.
Below is an example Spark SQL command to create a table using the <code>ObjectStorageLocationProvider</code>:</p>
@@ -847,7 +868,7 @@ Below is an example Spark SQL command to create a table using the <code>ObjectSt
USING iceberg
OPTIONS (
'write.object-storage.enabled'=true,
- 'write.object-storage.path'='s3://my-table-data-bucket')
+ 'write.data.path'='s3://my-table-data-bucket')
PARTITIONED BY (category);
</code></pre>
<p>We can then insert a single row into this new table</p>
@@ -856,10 +877,10 @@ PARTITIONED BY (category);
<p>Which will write the data to S3 with a hash (<code>2d3905f8</code>) appended directly after the <code>write.object-storage.path</code>, ensuring reads to the table are spread evenly across <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/optimizing-performance.html">S3 bucket prefixes</a>, and improving performance.</p>
<pre><code>s3://my-table-data-bucket/2d3905f8/my_ns.db/my_table/category=orders/00000-0-5affc076-96a4-48f2-9cd2-d5efbc9f0c94-00001.parquet
</code></pre>
-<p>Note, the path resolution logic for <code>ObjectStoreLocationProvider</code> is as follows:
-- if <code>write.object-storage.path</code> is set, use it
-- if not found, fallback to <code>write.folder-storage.path</code>
-- if not found, use <code><tableLocation>/data</code></p>
+<p>Note, the path resolution logic for <code>ObjectStoreLocationProvider</code> is <code>write.data.path</code> then <code><tableLocation>/data</code>.
+However, for the older versions up to 0.12.0, the logic is as follows:
+- before 0.12.0, <code>write.object-storage.path</code> must be set.
+- at 0.12.0, <code>write.object-storage.path</code> then <code>write.folder-storage.path</code> then <code><tableLocation>/data</code>.</p>
<p>For more details, please refer to the <a href="../custom-catalog/#custom-location-provider-implementation">LocationProvider Configuration</a> section. </p>
<h3 id="s3-strong-consistency">S3 Strong Consistency<a class="headerlink" href="#s3-strong-consistency" title="Permanent link">¶</a></h3>
<p>In November 2020, S3 announced <a href="https://aws.amazon.com/s3/consistency/">strong consistency</a> for all read operations, and Iceberg is updated to fully leverage this feature.
diff --git a/benchmarks/index.html b/benchmarks/index.html
index 37e9fce..3375a58 100644
--- a/benchmarks/index.html
+++ b/benchmarks/index.html
@@ -82,6 +82,12 @@
<li >
+ <a href="../roadmap/">Roadmap</a>
+</li>
+
+
+
+<li >
<a href="../community/">Community</a>
</li>
@@ -240,10 +246,25 @@
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Flink</a>
+ <ul class="dropdown-menu">
+
+
<li >
- <a href="../flink/">Flink</a>
+ <a href="../flink/">Getting Started</a>
</li>
+
+
+<li >
+ <a href="../flink-connector/">Flink Connector</a>
+</li>
+
+
+ </ul>
+ </li>
+
<li >
diff --git a/blogs/index.html b/blogs/index.html
index f2953d0..e80ac54 100644
--- a/blogs/index.html
+++ b/blogs/index.html
@@ -82,6 +82,12 @@
<li >
+ <a href="../roadmap/">Roadmap</a>
+</li>
+
+
+
+<li >
<a href="../community/">Community</a>
</li>
@@ -240,10 +246,25 @@
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Flink</a>
+ <ul class="dropdown-menu">
+
+
<li >
- <a href="../flink/">Flink</a>
+ <a href="../flink/">Getting Started</a>
</li>
+
+
+<li >
+ <a href="../flink-connector/">Flink Connector</a>
+</li>
+
+
+ </ul>
+ </li>
+
<li >
diff --git a/community/index.html b/community/index.html
index 1172977..90ce7a5 100644
--- a/community/index.html
+++ b/community/index.html
@@ -81,6 +81,12 @@
+<li >
+ <a href="../roadmap/">Roadmap</a>
+</li>
+
+
+
<li class="active">
<a href="./">Community</a>
</li>
@@ -240,10 +246,25 @@
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Flink</a>
+ <ul class="dropdown-menu">
+
+
<li >
- <a href="../flink/">Flink</a>
+ <a href="../flink/">Getting Started</a>
</li>
+
+
+<li >
+ <a href="../flink-connector/">Flink Connector</a>
+</li>
+
+
+ </ul>
+ </li>
+
<li >
@@ -415,7 +436,7 @@
<ul class="nav navbar-nav navbar-right">
<li >
- <a rel="prev" href="..">
+ <a rel="prev" href="../roadmap/">
<i class="fas fa-arrow-left"></i> Previous
</a>
</li>
diff --git a/configuration/index.html b/configuration/index.html
index 7857686..5010d13 100644
--- a/configuration/index.html
+++ b/configuration/index.html
@@ -82,6 +82,12 @@
<li >
+ <a href="../roadmap/">Roadmap</a>
+</li>
+
+
+
+<li >
<a href="../community/">Community</a>
</li>
@@ -240,10 +246,25 @@
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Flink</a>
+ <ul class="dropdown-menu">
+
+
<li >
- <a href="../flink/">Flink</a>
+ <a href="../flink/">Getting Started</a>
</li>
+
+
+<li >
+ <a href="../flink-connector/">Flink Connector</a>
+</li>
+
+
+ </ul>
+ </li>
+
<li >
diff --git a/custom-catalog/index.html b/custom-catalog/index.html
index a56af74..3b6c795 100644
--- a/custom-catalog/index.html
+++ b/custom-catalog/index.html
@@ -82,6 +82,12 @@
<li >
+ <a href="../roadmap/">Roadmap</a>
+</li>
+
+
+
+<li >
<a href="../community/">Community</a>
</li>
@@ -121,6 +127,12 @@
+ <li >
+ <a href="../getting-started/">Getting Started</a>
+ </li>
+
+
+
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Tables <b class="caret"></b></a>
<ul class="dropdown-menu">
@@ -173,54 +185,102 @@
<li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">Spark <b class="caret"></b></a>
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">Engines <b class="caret"></b></a>
<ul class="dropdown-menu">
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Spark</a>
+ <ul class="dropdown-menu">
+
+
<li >
<a href="../getting-started/">Getting Started</a>
</li>
-
-
+
+
<li >
<a href="../spark-configuration/">Configuration</a>
</li>
-
-
+
+
<li >
<a href="../spark-ddl/">DDL</a>
</li>
-
-
+
+
<li >
<a href="../spark-queries/">Queries</a>
</li>
+
+
+<li >
+ <a href="../spark-writes/">Writes</a>
+</li>
+
+
+
+<li >
+ <a href="../spark-procedures/">Maintenance Procedures</a>
+</li>
+
+
+
+<li >
+ <a href="../spark-structured-streaming/">Structured Streaming</a>
+</li>
+
+
+
+<li >
+ <a href="../spark-queries/#time-travel">Time Travel</a>
+</li>
+
+
+ </ul>
+ </li>
+
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Flink</a>
+ <ul class="dropdown-menu">
+
+
<li >
- <a href="../spark-writes/">Writes</a>
+ <a href="../flink/">Getting Started</a>
+</li>
+
+
+
+<li >
+ <a href="../flink-connector/">Flink Connector</a>
</li>
+
+ </ul>
+ </li>
+
<li >
- <a href="../spark-procedures/">Maintenance Procedures</a>
+ <a href="../hive/">Hive</a>
</li>
<li >
- <a href="../spark-structured-streaming/">Structured Streaming</a>
+ <a href="https://trino.io/docs/current/connector/iceberg.html">Trino</a>
</li>
<li >
- <a href="../spark-queries/#time-travel">Time Travel</a>
+ <a href="https://prestodb.io/docs/current/connector/iceberg.html">PrestoDB</a>
</li>
@@ -229,24 +289,6 @@
- <li >
- <a href="https://trino.io/docs/current/connector/iceberg.html">Trino</a>
- </li>
-
-
-
- <li >
- <a href="../flink/">Flink</a>
- </li>
-
-
-
- <li >
- <a href="../hive/">Hive</a>
- </li>
-
-
-
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Integrations <b class="caret"></b></a>
<ul class="dropdown-menu">
diff --git a/evolution/index.html b/evolution/index.html
index 615bcf6..f703930 100644
--- a/evolution/index.html
+++ b/evolution/index.html
@@ -82,6 +82,12 @@
<li >
+ <a href="../roadmap/">Roadmap</a>
+</li>
+
+
+
+<li >
<a href="../community/">Community</a>
</li>
@@ -240,10 +246,25 @@
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Flink</a>
+ <ul class="dropdown-menu">
+
+
<li >
- <a href="../flink/">Flink</a>
+ <a href="../flink/">Getting Started</a>
</li>
+
+
+<li >
+ <a href="../flink-connector/">Flink Connector</a>
+</li>
+
+
+ </ul>
+ </li>
+
<li >
diff --git a/jdbc/index.html b/flink-connector/index.html
similarity index 67%
copy from jdbc/index.html
copy to flink-connector/index.html
index ac49e4e..9bcd99a 100644
--- a/jdbc/index.html
+++ b/flink-connector/index.html
@@ -7,11 +7,11 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="A table format for large, slow-moving tabular data">
- <link rel="canonical" href="https://iceberg.apache.org/jdbc/">
+ <link rel="canonical" href="https://iceberg.apache.org/flink-connector/">
<link rel="shortcut icon" href="../img/favicon.ico">
- <title>JDBC - Apache Iceberg</title>
+ <title>Flink Connector - Apache Iceberg</title>
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.12.0/css/all.css">
@@ -82,6 +82,12 @@
<li >
+ <a href="../roadmap/">Roadmap</a>
+</li>
+
+
+
+<li >
<a href="../community/">Community</a>
</li>
@@ -178,7 +184,7 @@
- <li class="dropdown">
+ <li class="dropdown active">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Engines <b class="caret"></b></a>
<ul class="dropdown-menu">
@@ -240,10 +246,25 @@
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Flink</a>
+ <ul class="dropdown-menu">
+
+
<li >
- <a href="../flink/">Flink</a>
+ <a href="../flink/">Getting Started</a>
+</li>
+
+
+
+<li class="active">
+ <a href="./">Flink Connector</a>
</li>
+
+ </ul>
+ </li>
+
<li >
@@ -268,7 +289,7 @@
- <li class="dropdown active">
+ <li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Integrations <b class="caret"></b></a>
<ul class="dropdown-menu">
@@ -285,8 +306,8 @@
-<li class="active">
- <a href="./">JDBC</a>
+<li >
+ <a href="../jdbc/">JDBC</a>
</li>
@@ -415,12 +436,12 @@
<ul class="nav navbar-nav navbar-right">
<li >
- <a rel="prev" href="../nessie/">
+ <a rel="prev" href="../flink/">
<i class="fas fa-arrow-left"></i> Previous
</a>
</li>
<li >
- <a rel="next" href="../api/">
+ <a rel="next" href="../hive/">
Next <i class="fas fa-arrow-right"></i>
</a>
</li>
@@ -434,11 +455,10 @@
<div class="col-md-3"><div class="bs-sidebar hidden-print affix well" role="complementary">
<ul class="nav bs-sidenav">
- <li class="first-level active"><a href="#iceberg-jdbc-integration">Iceberg JDBC Integration</a></li>
- <li class="second-level"><a href="#jdbc-catalog">JDBC Catalog</a></li>
-
- <li class="third-level"><a href="#configurations">Configurations</a></li>
- <li class="third-level"><a href="#examples">Examples</a></li>
+ <li class="first-level active"><a href="#table-managed-in-hive-catalog">Table managed in Hive catalog.</a></li>
+ <li class="first-level "><a href="#table-managed-in-hadoop-catalog">Table managed in hadoop catalog</a></li>
+ <li class="first-level "><a href="#table-managed-in-custom-catalog">Table managed in custom catalog</a></li>
+ <li class="first-level "><a href="#a-complete-example">A complete example.</a></li>
</ul>
</div></div>
<div class="col-md-9" role="main">
@@ -460,59 +480,107 @@
- limitations under the License.
-->
-<h1 id="iceberg-jdbc-integration">Iceberg JDBC Integration<a class="headerlink" href="#iceberg-jdbc-integration" title="Permanent link">¶</a></h1>
-<h2 id="jdbc-catalog">JDBC Catalog<a class="headerlink" href="#jdbc-catalog" title="Permanent link">¶</a></h2>
-<p>Iceberg supports using a table in a relational database to manage Iceberg tables through JDBC.
-The database that JDBC connects to must support atomic transaction to allow the JDBC catalog implementation to
-properly support atomic Iceberg table commits and read serializable isolation.</p>
-<h3 id="configurations">Configurations<a class="headerlink" href="#configurations" title="Permanent link">¶</a></h3>
-<p>Because each database and database service provider might require different configurations,
-the JDBC catalog allows arbitrary configurations through:</p>
-<table>
-<thead>
-<tr>
-<th>Property</th>
-<th>Default</th>
-<th>Description</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>uri</td>
-<td></td>
-<td>the JDBC connection string</td>
-</tr>
-<tr>
-<td>jdbc.<property_key></td>
-<td></td>
-<td>any key value pairs to configure the JDBC connection</td>
-</tr>
-</tbody>
-</table>
-<h3 id="examples">Examples<a class="headerlink" href="#examples" title="Permanent link">¶</a></h3>
-<h4 id="spark">Spark<a class="headerlink" href="#spark" title="Permanent link">¶</a></h4>
-<p>You can start a Spark session with a MySQL JDBC connection using the following configurations:</p>
-<pre><code class="language-shell">spark-sql --packages org.apache.iceberg:iceberg-spark3-runtime:0.12.0 \
- --conf spark.sql.catalog.my_catalog=org.apache.iceberg.spark.SparkCatalog \
- --conf spark.sql.catalog.my_catalog.warehouse=s3://my-bucket/my/key/prefix \
- --conf spark.sql.catalog.my_catalog.catalog-impl=org.apache.iceberg.jdbc.JdbcCatalog \
- --conf spark.sql.catalog.my_catalog.uri=jdbc:mysql://test.1234567890.us-west-2.rds.amazonaws.com:3306/default \
- --conf spark.sql.catalog.my_catalog.jdbc.verifyServerCertificate=true \
- --conf spark.sql.catalog.my_catalog.jdbc.useSSL=true \
- --conf spark.sql.catalog.my_catalog.jdbc.user=admin \
- --conf spark.sql.catalog.my_catalog.jdbc.password=pass
+<p>Apache Flink supports creating Iceberg table directly without creating the explicit Flink catalog in Flink SQL. That means we can just create an iceberg table by specifying <code>'connector'='iceberg'</code> table option in Flink SQL which is similar to usage in the Flink official <a href="https://nightlies.apache.org/flink/flink-docs-release-1.13/docs/connectors/table/overview/">document</a>.</p>
+<p>In Flink, the SQL <code>CREATE TABLE test (..) WITH ('connector'='iceberg', ...)</code> will create a Flink table in current Flink catalog (use <a href="https://ci.apache.org/projects/flink/flink-docs-release-1.13/docs/dev/table/catalogs/#genericinmemorycatalog">GenericInMemoryCatalog</a> by default),
+which is just mapping to the underlying iceberg table instead of maintaining iceberg table directly in current Flink catalog.</p>
+<p>To create the table in Flink SQL by using SQL syntax <code>CREATE TABLE test (..) WITH ('connector'='iceberg', ...)</code>, Flink iceberg connector provides the following table properties:</p>
+<ul>
+<li><code>connector</code>: Use the constant <code>iceberg</code>.</li>
+<li><code>catalog-name</code>: User-specified catalog name. It’s required because the connector don’t have any default value.</li>
+<li><code>catalog-type</code>: Default to use <code>hive</code> if don’t specify any value. The optional values are:<ul>
+<li><code>hive</code>: The Hive metastore catalog.</li>
+<li><code>hadoop</code>: The hadoop catalog.</li>
+<li><code>custom</code>: The customized catalog, see <a href="../custom-catalog/">custom catalog</a> for more details.</li>
+</ul>
+</li>
+<li><code>catalog-database</code>: The iceberg database name in the backend catalog, use the current flink database name by default.</li>
+<li><code>catalog-table</code>: The iceberg table name in the backend catalog. Default to use the table name in the flink <code>CREATE TABLE</code> sentence.</li>
+</ul>
+<h2 id="table-managed-in-hive-catalog">Table managed in Hive catalog.<a class="headerlink" href="#table-managed-in-hive-catalog" title="Permanent link">¶</a></h2>
+<p>Before executing the following SQL, please make sure you’ve configured the Flink SQL client correctly according to the quick start <a href="../flink/">document</a>.</p>
+<p>The following SQL will create a Flink table in the current Flink catalog, which maps to the iceberg table <code>default_database.iceberg_table</code> managed in iceberg catalog.</p>
+<pre><code class="language-sql">CREATE TABLE flink_table (
+ id BIGINT,
+ data STRING
+) WITH (
+ 'connector'='iceberg',
+ 'catalog-name'='hive_prod',
+ 'uri'='thrift://localhost:9083',
+ 'warehouse'='hdfs://nn:8020/path/to/warehouse'
+);
+</code></pre>
+<p>If you want to create a Flink table mapping to a different iceberg table managed in Hive catalog (such as <code>hive_db.hive_iceberg_table</code> in Hive), then you can create Flink table as following:</p>
+<pre><code class="language-sql">CREATE TABLE flink_table (
+ id BIGINT,
+ data STRING
+) WITH (
+ 'connector'='iceberg',
+ 'catalog-name'='hive_prod',
+ 'catalog-database'='hive_db',
+ 'catalog-table'='hive_iceberg_table',
+ 'uri'='thrift://localhost:9083',
+ 'warehouse'='hdfs://nn:8020/path/to/warehouse'
+);
+</code></pre>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>The underlying catalog database (<code>hive_db</code> in the above example) will be created automatically if it does not exist when writing records into the Flink table.</p>
+</div>
+<h2 id="table-managed-in-hadoop-catalog">Table managed in hadoop catalog<a class="headerlink" href="#table-managed-in-hadoop-catalog" title="Permanent link">¶</a></h2>
+<p>The following SQL will create a Flink table in current Flink catalog, which maps to the iceberg table <code>default_database.flink_table</code> managed in hadoop catalog.</p>
+<pre><code class="language-sql">CREATE TABLE flink_table (
+ id BIGINT,
+ data STRING
+) WITH (
+ 'connector'='iceberg',
+ 'catalog-name'='hadoop_prod',
+ 'catalog-type'='hadoop',
+ 'warehouse'='hdfs://nn:8020/path/to/warehouse'
+);
+</code></pre>
+<h2 id="table-managed-in-custom-catalog">Table managed in custom catalog<a class="headerlink" href="#table-managed-in-custom-catalog" title="Permanent link">¶</a></h2>
+<p>The following SQL will create a Flink table in current Flink catalog, which maps to the iceberg table <code>default_database.flink_table</code> managed in custom catalog.</p>
+<pre><code class="language-sql">CREATE TABLE flink_table (
+ id BIGINT,
+ data STRING
+) WITH (
+ 'connector'='iceberg',
+ 'catalog-name'='custom_prod',
+ 'catalog-type'='custom',
+ 'catalog-impl'='com.my.custom.CatalogImpl',
+ -- More table properties for the customized catalog
+ 'my-additional-catalog-config'='my-value',
+ ...
+);
+</code></pre>
+<p>Please check sections under the Integrations tab for all custom catalogs.</p>
+<h2 id="a-complete-example">A complete example.<a class="headerlink" href="#a-complete-example" title="Permanent link">¶</a></h2>
+<p>Take the Hive catalog as an example:</p>
+<pre><code class="language-sql">CREATE TABLE flink_table (
+ id BIGINT,
+ data STRING
+) WITH (
+ 'connector'='iceberg',
+ 'catalog-name'='hive_prod',
+ 'uri'='thrift://localhost:9083',
+ 'warehouse'='file:///path/to/warehouse'
+);
+
+INSERT INTO flink_table VALUES (1, 'AAA'), (2, 'BBB'), (3, 'CCC');
+
+SET execution.result-mode=tableau;
+SELECT * FROM flink_table;
+
++----+------+
+| id | data |
++----+------+
+| 1 | AAA |
+| 2 | BBB |
+| 3 | CCC |
++----+------+
+3 rows in set
</code></pre>
-<h4 id="java-api">Java API<a class="headerlink" href="#java-api" title="Permanent link">¶</a></h4>
-<pre><code class="language-java">Class.forName("com.mysql.cj.jdbc.Driver"); // ensure JDBC driver is at runtime classpath
-Map<String, String> properties = new HashMap<>();
-properties.put(CatalogProperties.CATALOG_IMPL, JdbcCatalog.class.getName());
-properties.put(CatalogProperties.URI, "jdbc:mysql://localhost:3306/test");
-properties.put(JdbcCatalog.PROPERTY_PREFIX + "user", "admin");
-properties.put(JdbcCatalog.PROPERTY_PREFIX + "password", "pass");
-properties.put(CatalogProperties.WAREHOUSE_LOCATION, "s3://warehouse/path");
-Configuration hadoopConf = new Configuration(); // configs if you use HadoopFileIO
-JdbcCatalog catalog = CatalogUtil.buildIcebergCatalog("test_jdbc_catalog", properties, hadoopConf);
-</code></pre></div>
+<p>For more details, please refer to the Iceberg <a href="../flink/">Flink document</a>.</p></div>
</div>
diff --git a/flink/index.html b/flink/index.html
index 5c6990a..a86e2b3 100644
--- a/flink/index.html
+++ b/flink/index.html
@@ -11,7 +11,7 @@
<link rel="shortcut icon" href="../img/favicon.ico">
- <title>Flink - Apache Iceberg</title>
+ <title>Getting Started - Apache Iceberg</title>
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.12.0/css/all.css">
@@ -82,6 +82,12 @@
<li >
+ <a href="../roadmap/">Roadmap</a>
+</li>
+
+
+
+<li >
<a href="../community/">Community</a>
</li>
@@ -240,10 +246,25 @@
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Flink</a>
+ <ul class="dropdown-menu">
+
+
<li class="active">
- <a href="./">Flink</a>
+ <a href="./">Getting Started</a>
</li>
+
+
+<li >
+ <a href="../flink-connector/">Flink Connector</a>
+</li>
+
+
+ </ul>
+ </li>
+
<li >
@@ -420,7 +441,7 @@
</a>
</li>
<li >
- <a rel="next" href="../hive/">
+ <a rel="next" href="../flink-connector/">
Next <i class="fas fa-arrow-right"></i>
</a>
</li>
diff --git a/getting-started/index.html b/getting-started/index.html
index 6b8af7b..85734dc 100644
--- a/getting-started/index.html
+++ b/getting-started/index.html
@@ -82,6 +82,12 @@
<li >
+ <a href="../roadmap/">Roadmap</a>
+</li>
+
+
+
+<li >
<a href="../community/">Community</a>
</li>
@@ -240,10 +246,25 @@
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Flink</a>
+ <ul class="dropdown-menu">
+
+
<li >
- <a href="../flink/">Flink</a>
+ <a href="../flink/">Getting Started</a>
</li>
+
+
+<li >
+ <a href="../flink-connector/">Flink Connector</a>
+</li>
+
+
+ </ul>
+ </li>
+
<li >
diff --git a/hive/index.html b/hive/index.html
index dacb920..5476761 100644
--- a/hive/index.html
+++ b/hive/index.html
@@ -82,6 +82,12 @@
<li >
+ <a href="../roadmap/">Roadmap</a>
+</li>
+
+
+
+<li >
<a href="../community/">Community</a>
</li>
@@ -240,10 +246,25 @@
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Flink</a>
+ <ul class="dropdown-menu">
+
+
<li >
- <a href="../flink/">Flink</a>
+ <a href="../flink/">Getting Started</a>
</li>
+
+
+<li >
+ <a href="../flink-connector/">Flink Connector</a>
+</li>
+
+
+ </ul>
+ </li>
+
<li class="active">
@@ -415,7 +436,7 @@
<ul class="nav navbar-nav navbar-right">
<li >
- <a rel="prev" href="../flink/">
+ <a rel="prev" href="../flink-connector/">
<i class="fas fa-arrow-left"></i> Previous
</a>
</li>
diff --git a/how-to-release/index.html b/how-to-release/index.html
index 55ea1f5..dbedce6 100644
--- a/how-to-release/index.html
+++ b/how-to-release/index.html
@@ -82,6 +82,12 @@
<li >
+ <a href="../roadmap/">Roadmap</a>
+</li>
+
+
+
+<li >
<a href="../community/">Community</a>
</li>
@@ -121,6 +127,12 @@
+ <li >
+ <a href="../getting-started/">Getting Started</a>
+ </li>
+
+
+
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Tables <b class="caret"></b></a>
<ul class="dropdown-menu">
@@ -173,54 +185,102 @@
<li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">Spark <b class="caret"></b></a>
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">Engines <b class="caret"></b></a>
<ul class="dropdown-menu">
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Spark</a>
+ <ul class="dropdown-menu">
+
+
<li >
<a href="../getting-started/">Getting Started</a>
</li>
-
-
+
+
<li >
<a href="../spark-configuration/">Configuration</a>
</li>
-
-
+
+
<li >
<a href="../spark-ddl/">DDL</a>
</li>
-
-
+
+
<li >
<a href="../spark-queries/">Queries</a>
</li>
+
+
+<li >
+ <a href="../spark-writes/">Writes</a>
+</li>
+
+
+
+<li >
+ <a href="../spark-procedures/">Maintenance Procedures</a>
+</li>
+
+
+
+<li >
+ <a href="../spark-structured-streaming/">Structured Streaming</a>
+</li>
+
+
+
+<li >
+ <a href="../spark-queries/#time-travel">Time Travel</a>
+</li>
+
+
+ </ul>
+ </li>
+
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Flink</a>
+ <ul class="dropdown-menu">
+
+
<li >
- <a href="../spark-writes/">Writes</a>
+ <a href="../flink/">Getting Started</a>
+</li>
+
+
+
+<li >
+ <a href="../flink-connector/">Flink Connector</a>
</li>
+
+ </ul>
+ </li>
+
<li >
- <a href="../spark-procedures/">Maintenance Procedures</a>
+ <a href="../hive/">Hive</a>
</li>
<li >
- <a href="../spark-structured-streaming/">Structured Streaming</a>
+ <a href="https://trino.io/docs/current/connector/iceberg.html">Trino</a>
</li>
<li >
- <a href="../spark-queries/#time-travel">Time Travel</a>
+ <a href="https://prestodb.io/docs/current/connector/iceberg.html">PrestoDB</a>
</li>
@@ -229,24 +289,6 @@
- <li >
- <a href="https://trino.io/docs/current/connector/iceberg.html">Trino</a>
- </li>
-
-
-
- <li >
- <a href="../flink/">Flink</a>
- </li>
-
-
-
- <li >
- <a href="../hive/">Hive</a>
- </li>
-
-
-
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Integrations <b class="caret"></b></a>
<ul class="dropdown-menu">
diff --git a/index.html b/index.html
index c51fb62..ebda3f0 100644
--- a/index.html
+++ b/index.html
@@ -82,6 +82,12 @@
<li >
+ <a href="roadmap/">Roadmap</a>
+</li>
+
+
+
+<li >
<a href="community/">Community</a>
</li>
@@ -240,10 +246,25 @@
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Flink</a>
+ <ul class="dropdown-menu">
+
+
<li >
- <a href="flink/">Flink</a>
+ <a href="flink/">Getting Started</a>
</li>
+
+
+<li >
+ <a href="flink-connector/">Flink Connector</a>
+</li>
+
+
+ </ul>
+ </li>
+
<li >
@@ -420,7 +441,7 @@
</a>
</li>
<li >
- <a rel="next" href="community/">
+ <a rel="next" href="roadmap/">
Next <i class="fas fa-arrow-right"></i>
</a>
</li>
diff --git a/java-api-quickstart/index.html b/java-api-quickstart/index.html
index dd786cc..a8ca6dd 100644
--- a/java-api-quickstart/index.html
+++ b/java-api-quickstart/index.html
@@ -82,6 +82,12 @@
<li >
+ <a href="../roadmap/">Roadmap</a>
+</li>
+
+
+
+<li >
<a href="../community/">Community</a>
</li>
@@ -240,10 +246,25 @@
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Flink</a>
+ <ul class="dropdown-menu">
+
+
<li >
- <a href="../flink/">Flink</a>
+ <a href="../flink/">Getting Started</a>
</li>
+
+
+<li >
+ <a href="../flink-connector/">Flink Connector</a>
+</li>
+
+
+ </ul>
+ </li>
+
<li >
diff --git a/jdbc/index.html b/jdbc/index.html
index ac49e4e..c142747 100644
--- a/jdbc/index.html
+++ b/jdbc/index.html
@@ -82,6 +82,12 @@
<li >
+ <a href="../roadmap/">Roadmap</a>
+</li>
+
+
+
+<li >
<a href="../community/">Community</a>
</li>
@@ -240,10 +246,25 @@
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Flink</a>
+ <ul class="dropdown-menu">
+
+
<li >
- <a href="../flink/">Flink</a>
+ <a href="../flink/">Getting Started</a>
</li>
+
+
+<li >
+ <a href="../flink-connector/">Flink Connector</a>
+</li>
+
+
+ </ul>
+ </li>
+
<li >
diff --git a/maintenance/index.html b/maintenance/index.html
index f85ee51..2e1caa1 100644
--- a/maintenance/index.html
+++ b/maintenance/index.html
@@ -82,6 +82,12 @@
<li >
+ <a href="../roadmap/">Roadmap</a>
+</li>
+
+
+
+<li >
<a href="../community/">Community</a>
</li>
@@ -240,10 +246,25 @@
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Flink</a>
+ <ul class="dropdown-menu">
+
+
<li >
- <a href="../flink/">Flink</a>
+ <a href="../flink/">Getting Started</a>
</li>
+
+
+<li >
+ <a href="../flink-connector/">Flink Connector</a>
+</li>
+
+
+ </ul>
+ </li>
+
<li >
diff --git a/nessie/index.html b/nessie/index.html
index 5137927..54ef2f1 100644
--- a/nessie/index.html
+++ b/nessie/index.html
@@ -82,6 +82,12 @@
<li >
+ <a href="../roadmap/">Roadmap</a>
+</li>
+
+
+
+<li >
<a href="../community/">Community</a>
</li>
@@ -240,10 +246,25 @@
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Flink</a>
+ <ul class="dropdown-menu">
+
+
<li >
- <a href="../flink/">Flink</a>
+ <a href="../flink/">Getting Started</a>
</li>
+
+
+<li >
+ <a href="../flink-connector/">Flink Connector</a>
+</li>
+
+
+ </ul>
+ </li>
+
<li >
@@ -534,7 +555,7 @@ can encompass an arbitrary number of actions on an arbitrary number of tables, h
to the set of single table transactions currently available.</p>
<p>Further operations such as merges, viewing the commit log or diffs are performed by direct interaction with the
<code>NessieClient</code> in java or by using the python client or cli. See <a href="https://projectnessie.org/tools/cli/">Nessie CLI</a> for
-more details on the CLI and <a href="https://projectnessie.org/tools/spark/">Spark Guide</a> for a more complete description of
+more details on the CLI and <a href="https://projectnessie.org/tools/iceberg/spark/">Spark Guide</a> for a more complete description of
Nessie functionality.</p>
<h2 id="nessie-and-iceberg">Nessie and Iceberg<a class="headerlink" href="#nessie-and-iceberg" title="Permanent link">¶</a></h2>
<p>For most cases Nessie acts just like any other Catalog for Iceberg: providing a logical organization of a set of tables
diff --git a/partitioning/index.html b/partitioning/index.html
index a4ee6da..fecad21 100644
--- a/partitioning/index.html
+++ b/partitioning/index.html
@@ -82,6 +82,12 @@
<li >
+ <a href="../roadmap/">Roadmap</a>
+</li>
+
+
+
+<li >
<a href="../community/">Community</a>
</li>
@@ -121,6 +127,12 @@
+ <li >
+ <a href="../getting-started/">Getting Started</a>
+ </li>
+
+
+
<li class="dropdown active">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Tables <b class="caret"></b></a>
<ul class="dropdown-menu">
@@ -173,54 +185,102 @@
<li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">Spark <b class="caret"></b></a>
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">Engines <b class="caret"></b></a>
<ul class="dropdown-menu">
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Spark</a>
+ <ul class="dropdown-menu">
+
+
<li >
<a href="../getting-started/">Getting Started</a>
</li>
-
-
+
+
<li >
<a href="../spark-configuration/">Configuration</a>
</li>
-
-
+
+
<li >
<a href="../spark-ddl/">DDL</a>
</li>
-
-
+
+
<li >
<a href="../spark-queries/">Queries</a>
</li>
+
+
+<li >
+ <a href="../spark-writes/">Writes</a>
+</li>
+
+
+
+<li >
+ <a href="../spark-procedures/">Maintenance Procedures</a>
+</li>
+
+
+
+<li >
+ <a href="../spark-structured-streaming/">Structured Streaming</a>
+</li>
+
+
+
+<li >
+ <a href="../spark-queries/#time-travel">Time Travel</a>
+</li>
+
+
+ </ul>
+ </li>
+
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Flink</a>
+ <ul class="dropdown-menu">
+
+
<li >
- <a href="../spark-writes/">Writes</a>
+ <a href="../flink/">Getting Started</a>
+</li>
+
+
+
+<li >
+ <a href="../flink-connector/">Flink Connector</a>
</li>
+
+ </ul>
+ </li>
+
<li >
- <a href="../spark-procedures/">Maintenance Procedures</a>
+ <a href="../hive/">Hive</a>
</li>
<li >
- <a href="../spark-structured-streaming/">Structured Streaming</a>
+ <a href="https://trino.io/docs/current/connector/iceberg.html">Trino</a>
</li>
<li >
- <a href="../spark-queries/#time-travel">Time Travel</a>
+ <a href="https://prestodb.io/docs/current/connector/iceberg.html">PrestoDB</a>
</li>
@@ -229,24 +289,6 @@
- <li >
- <a href="https://trino.io/docs/current/connector/iceberg.html">Trino</a>
- </li>
-
-
-
- <li >
- <a href="../flink/">Flink</a>
- </li>
-
-
-
- <li >
- <a href="../hive/">Hive</a>
- </li>
-
-
-
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Integrations <b class="caret"></b></a>
<ul class="dropdown-menu">
diff --git a/performance/index.html b/performance/index.html
index 1f0d602..95e6029 100644
--- a/performance/index.html
+++ b/performance/index.html
@@ -82,6 +82,12 @@
<li >
+ <a href="../roadmap/">Roadmap</a>
+</li>
+
+
+
+<li >
<a href="../community/">Community</a>
</li>
@@ -121,6 +127,12 @@
+ <li >
+ <a href="../getting-started/">Getting Started</a>
+ </li>
+
+
+
<li class="dropdown active">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Tables <b class="caret"></b></a>
<ul class="dropdown-menu">
@@ -173,54 +185,102 @@
<li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">Spark <b class="caret"></b></a>
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">Engines <b class="caret"></b></a>
<ul class="dropdown-menu">
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Spark</a>
+ <ul class="dropdown-menu">
+
+
<li >
<a href="../getting-started/">Getting Started</a>
</li>
-
-
+
+
<li >
<a href="../spark-configuration/">Configuration</a>
</li>
-
-
+
+
<li >
<a href="../spark-ddl/">DDL</a>
</li>
-
-
+
+
<li >
<a href="../spark-queries/">Queries</a>
</li>
+
+
+<li >
+ <a href="../spark-writes/">Writes</a>
+</li>
+
+
+
+<li >
+ <a href="../spark-procedures/">Maintenance Procedures</a>
+</li>
+
+
+
+<li >
+ <a href="../spark-structured-streaming/">Structured Streaming</a>
+</li>
+
+
+
+<li >
+ <a href="../spark-queries/#time-travel">Time Travel</a>
+</li>
+
+
+ </ul>
+ </li>
+
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Flink</a>
+ <ul class="dropdown-menu">
+
+
<li >
- <a href="../spark-writes/">Writes</a>
+ <a href="../flink/">Getting Started</a>
+</li>
+
+
+
+<li >
+ <a href="../flink-connector/">Flink Connector</a>
</li>
+
+ </ul>
+ </li>
+
<li >
- <a href="../spark-procedures/">Maintenance Procedures</a>
+ <a href="../hive/">Hive</a>
</li>
<li >
- <a href="../spark-structured-streaming/">Structured Streaming</a>
+ <a href="https://trino.io/docs/current/connector/iceberg.html">Trino</a>
</li>
<li >
- <a href="../spark-queries/#time-travel">Time Travel</a>
+ <a href="https://prestodb.io/docs/current/connector/iceberg.html">PrestoDB</a>
</li>
@@ -229,24 +289,6 @@
- <li >
- <a href="https://trino.io/docs/current/connector/iceberg.html">Trino</a>
- </li>
-
-
-
- <li >
- <a href="../flink/">Flink</a>
- </li>
-
-
-
- <li >
- <a href="../hive/">Hive</a>
- </li>
-
-
-
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Integrations <b class="caret"></b></a>
<ul class="dropdown-menu">
diff --git a/python-api-intro/index.html b/python-api-intro/index.html
index 83ae48e..ddc05e9 100644
--- a/python-api-intro/index.html
+++ b/python-api-intro/index.html
@@ -82,6 +82,12 @@
<li >
+ <a href="../roadmap/">Roadmap</a>
+</li>
+
+
+
+<li >
<a href="../community/">Community</a>
</li>
@@ -121,6 +127,12 @@
+ <li >
+ <a href="../getting-started/">Getting Started</a>
+ </li>
+
+
+
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Tables <b class="caret"></b></a>
<ul class="dropdown-menu">
@@ -173,54 +185,102 @@
<li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">Spark <b class="caret"></b></a>
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">Engines <b class="caret"></b></a>
<ul class="dropdown-menu">
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Spark</a>
+ <ul class="dropdown-menu">
+
+
<li >
<a href="../getting-started/">Getting Started</a>
</li>
-
-
+
+
<li >
<a href="../spark-configuration/">Configuration</a>
</li>
-
-
+
+
<li >
<a href="../spark-ddl/">DDL</a>
</li>
-
-
+
+
<li >
<a href="../spark-queries/">Queries</a>
</li>
+
+
+<li >
+ <a href="../spark-writes/">Writes</a>
+</li>
+
+
+
+<li >
+ <a href="../spark-procedures/">Maintenance Procedures</a>
+</li>
+
+
+
+<li >
+ <a href="../spark-structured-streaming/">Structured Streaming</a>
+</li>
+
+
+
+<li >
+ <a href="../spark-queries/#time-travel">Time Travel</a>
+</li>
+
+
+ </ul>
+ </li>
+
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Flink</a>
+ <ul class="dropdown-menu">
+
+
<li >
- <a href="../spark-writes/">Writes</a>
+ <a href="../flink/">Getting Started</a>
+</li>
+
+
+
+<li >
+ <a href="../flink-connector/">Flink Connector</a>
</li>
+
+ </ul>
+ </li>
+
<li >
- <a href="../spark-procedures/">Maintenance Procedures</a>
+ <a href="../hive/">Hive</a>
</li>
<li >
- <a href="../spark-structured-streaming/">Structured Streaming</a>
+ <a href="https://trino.io/docs/current/connector/iceberg.html">Trino</a>
</li>
<li >
- <a href="../spark-queries/#time-travel">Time Travel</a>
+ <a href="https://prestodb.io/docs/current/connector/iceberg.html">PrestoDB</a>
</li>
@@ -229,24 +289,6 @@
- <li >
- <a href="https://trino.io/docs/current/connector/iceberg.html">Trino</a>
- </li>
-
-
-
- <li >
- <a href="../flink/">Flink</a>
- </li>
-
-
-
- <li >
- <a href="../hive/">Hive</a>
- </li>
-
-
-
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Integrations <b class="caret"></b></a>
<ul class="dropdown-menu">
diff --git a/python-feature-support/index.html b/python-feature-support/index.html
index 65f290e..540d01d 100644
--- a/python-feature-support/index.html
+++ b/python-feature-support/index.html
@@ -82,6 +82,12 @@
<li >
+ <a href="../roadmap/">Roadmap</a>
+</li>
+
+
+
+<li >
<a href="../community/">Community</a>
</li>
@@ -240,10 +246,25 @@
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Flink</a>
+ <ul class="dropdown-menu">
+
+
<li >
- <a href="../flink/">Flink</a>
+ <a href="../flink/">Getting Started</a>
</li>
+
+
+<li >
+ <a href="../flink-connector/">Flink Connector</a>
+</li>
+
+
+ </ul>
+ </li>
+
<li >
diff --git a/python-quickstart/index.html b/python-quickstart/index.html
index 786ae0e..26b58ab 100644
--- a/python-quickstart/index.html
+++ b/python-quickstart/index.html
@@ -82,6 +82,12 @@
<li >
+ <a href="../roadmap/">Roadmap</a>
+</li>
+
+
+
+<li >
<a href="../community/">Community</a>
</li>
@@ -121,6 +127,12 @@
+ <li >
+ <a href="../getting-started/">Getting Started</a>
+ </li>
+
+
+
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Tables <b class="caret"></b></a>
<ul class="dropdown-menu">
@@ -173,54 +185,102 @@
<li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">Spark <b class="caret"></b></a>
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">Engines <b class="caret"></b></a>
<ul class="dropdown-menu">
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Spark</a>
+ <ul class="dropdown-menu">
+
+
<li >
<a href="../getting-started/">Getting Started</a>
</li>
-
-
+
+
<li >
<a href="../spark-configuration/">Configuration</a>
</li>
-
-
+
+
<li >
<a href="../spark-ddl/">DDL</a>
</li>
-
-
+
+
<li >
<a href="../spark-queries/">Queries</a>
</li>
+
+
+<li >
+ <a href="../spark-writes/">Writes</a>
+</li>
+
+
+
+<li >
+ <a href="../spark-procedures/">Maintenance Procedures</a>
+</li>
+
+
+
+<li >
+ <a href="../spark-structured-streaming/">Structured Streaming</a>
+</li>
+
+
+
+<li >
+ <a href="../spark-queries/#time-travel">Time Travel</a>
+</li>
+
+
+ </ul>
+ </li>
+
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Flink</a>
+ <ul class="dropdown-menu">
+
+
<li >
- <a href="../spark-writes/">Writes</a>
+ <a href="../flink/">Getting Started</a>
+</li>
+
+
+
+<li >
+ <a href="../flink-connector/">Flink Connector</a>
</li>
+
+ </ul>
+ </li>
+
<li >
- <a href="../spark-procedures/">Maintenance Procedures</a>
+ <a href="../hive/">Hive</a>
</li>
<li >
- <a href="../spark-structured-streaming/">Structured Streaming</a>
+ <a href="https://trino.io/docs/current/connector/iceberg.html">Trino</a>
</li>
<li >
- <a href="../spark-queries/#time-travel">Time Travel</a>
+ <a href="https://prestodb.io/docs/current/connector/iceberg.html">PrestoDB</a>
</li>
@@ -229,24 +289,6 @@
- <li >
- <a href="https://trino.io/docs/current/connector/iceberg.html">Trino</a>
- </li>
-
-
-
- <li >
- <a href="../flink/">Flink</a>
- </li>
-
-
-
- <li >
- <a href="../hive/">Hive</a>
- </li>
-
-
-
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Integrations <b class="caret"></b></a>
<ul class="dropdown-menu">
diff --git a/releases/index.html b/releases/index.html
index 01b09ae..892d67b 100644
--- a/releases/index.html
+++ b/releases/index.html
@@ -82,6 +82,12 @@
<li >
+ <a href="../roadmap/">Roadmap</a>
+</li>
+
+
+
+<li >
<a href="../community/">Community</a>
</li>
@@ -240,10 +246,25 @@
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Flink</a>
+ <ul class="dropdown-menu">
+
+
<li >
- <a href="../flink/">Flink</a>
+ <a href="../flink/">Getting Started</a>
</li>
+
+
+<li >
+ <a href="../flink-connector/">Flink Connector</a>
+</li>
+
+
+ </ul>
+ </li>
+
<li >
@@ -537,7 +558,7 @@
<li>Added support for micro-batch streaming reads for structured streaming in Spark3 [<a href="https://github.com/apache/iceberg/pull/2660">#2660</a>].</li>
<li>Improved the performance of importing a Hive table by not loading all partitions from Hive and instead pushing the partition filter to the Metastore [<a href="https://github.com/apache/iceberg/pull/2777">#2777</a>].</li>
<li>Added support for <code>UPDATE</code> statements in Spark [<a href="https://github.com/apache/iceberg/pull/2193">#2193</a>, <a href="https://github.com/apache/iceberg/pull/2206">#2206</a>].</li>
-<li>Added support for Spark 3.1 [<a href="">#2512</a>].</li>
+<li>Added support for Spark 3.1 [<a href="https://github.com/apache/iceberg/pull/2512">#2512</a>].</li>
<li>Added <code>RemoveReachableFiles</code> action [<a href="https://github.com/apache/iceberg/pull/2415">#2415</a>].</li>
<li>Added <code>add_files</code> stored procedure [<a href="https://github.com/apache/iceberg/pull/2210">#2210</a>].</li>
<li>Refactored Actions API and added a new entry point.</li>
diff --git a/reliability/index.html b/reliability/index.html
index f55c7d9..3ae29dc 100644
--- a/reliability/index.html
+++ b/reliability/index.html
@@ -82,6 +82,12 @@
<li >
+ <a href="../roadmap/">Roadmap</a>
+</li>
+
+
+
+<li >
<a href="../community/">Community</a>
</li>
@@ -121,6 +127,12 @@
+ <li >
+ <a href="../getting-started/">Getting Started</a>
+ </li>
+
+
+
<li class="dropdown active">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Tables <b class="caret"></b></a>
<ul class="dropdown-menu">
@@ -173,54 +185,102 @@
<li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">Spark <b class="caret"></b></a>
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">Engines <b class="caret"></b></a>
<ul class="dropdown-menu">
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Spark</a>
+ <ul class="dropdown-menu">
+
+
<li >
<a href="../getting-started/">Getting Started</a>
</li>
-
-
+
+
<li >
<a href="../spark-configuration/">Configuration</a>
</li>
-
-
+
+
<li >
<a href="../spark-ddl/">DDL</a>
</li>
-
-
+
+
<li >
<a href="../spark-queries/">Queries</a>
</li>
+
+
+<li >
+ <a href="../spark-writes/">Writes</a>
+</li>
+
+
+
+<li >
+ <a href="../spark-procedures/">Maintenance Procedures</a>
+</li>
+
+
+
+<li >
+ <a href="../spark-structured-streaming/">Structured Streaming</a>
+</li>
+
+
+
+<li >
+ <a href="../spark-queries/#time-travel">Time Travel</a>
+</li>
+
+
+ </ul>
+ </li>
+
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Flink</a>
+ <ul class="dropdown-menu">
+
+
<li >
- <a href="../spark-writes/">Writes</a>
+ <a href="../flink/">Getting Started</a>
+</li>
+
+
+
+<li >
+ <a href="../flink-connector/">Flink Connector</a>
</li>
+
+ </ul>
+ </li>
+
<li >
- <a href="../spark-procedures/">Maintenance Procedures</a>
+ <a href="../hive/">Hive</a>
</li>
<li >
- <a href="../spark-structured-streaming/">Structured Streaming</a>
+ <a href="https://trino.io/docs/current/connector/iceberg.html">Trino</a>
</li>
<li >
- <a href="../spark-queries/#time-travel">Time Travel</a>
+ <a href="https://prestodb.io/docs/current/connector/iceberg.html">PrestoDB</a>
</li>
@@ -229,24 +289,6 @@
- <li >
- <a href="https://trino.io/docs/current/connector/iceberg.html">Trino</a>
- </li>
-
-
-
- <li >
- <a href="../flink/">Flink</a>
- </li>
-
-
-
- <li >
- <a href="../hive/">Hive</a>
- </li>
-
-
-
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Integrations <b class="caret"></b></a>
<ul class="dropdown-menu">
diff --git a/jdbc/index.html b/roadmap/index.html
similarity index 76%
copy from jdbc/index.html
copy to roadmap/index.html
index ac49e4e..942fa24 100644
--- a/jdbc/index.html
+++ b/roadmap/index.html
@@ -7,11 +7,11 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="A table format for large, slow-moving tabular data">
- <link rel="canonical" href="https://iceberg.apache.org/jdbc/">
+ <link rel="canonical" href="https://iceberg.apache.org/roadmap/">
<link rel="shortcut icon" href="../img/favicon.ico">
- <title>JDBC - Apache Iceberg</title>
+ <title>Roadmap - Apache Iceberg</title>
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.12.0/css/all.css">
@@ -70,7 +70,7 @@
<ul class="nav navbar-nav">
- <li class="dropdown">
+ <li class="dropdown active">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Project <b class="caret"></b></a>
<ul class="dropdown-menu">
@@ -81,6 +81,12 @@
+<li class="active">
+ <a href="./">Roadmap</a>
+</li>
+
+
+
<li >
<a href="../community/">Community</a>
</li>
@@ -240,10 +246,25 @@
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Flink</a>
+ <ul class="dropdown-menu">
+
+
<li >
- <a href="../flink/">Flink</a>
+ <a href="../flink/">Getting Started</a>
</li>
+
+
+<li >
+ <a href="../flink-connector/">Flink Connector</a>
+</li>
+
+
+ </ul>
+ </li>
+
<li >
@@ -268,7 +289,7 @@
- <li class="dropdown active">
+ <li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Integrations <b class="caret"></b></a>
<ul class="dropdown-menu">
@@ -285,8 +306,8 @@
-<li class="active">
- <a href="./">JDBC</a>
+<li >
+ <a href="../jdbc/">JDBC</a>
</li>
@@ -415,12 +436,12 @@
<ul class="nav navbar-nav navbar-right">
<li >
- <a rel="prev" href="../nessie/">
+ <a rel="prev" href="..">
<i class="fas fa-arrow-left"></i> Previous
</a>
</li>
<li >
- <a rel="next" href="../api/">
+ <a rel="next" href="../community/">
Next <i class="fas fa-arrow-right"></i>
</a>
</li>
@@ -434,11 +455,11 @@
<div class="col-md-3"><div class="bs-sidebar hidden-print affix well" role="complementary">
<ul class="nav bs-sidenav">
- <li class="first-level active"><a href="#iceberg-jdbc-integration">Iceberg JDBC Integration</a></li>
- <li class="second-level"><a href="#jdbc-catalog">JDBC Catalog</a></li>
-
- <li class="third-level"><a href="#configurations">Configurations</a></li>
- <li class="third-level"><a href="#examples">Examples</a></li>
+ <li class="first-level active"><a href="#roadmap-overview">Roadmap Overview</a></li>
+ <li class="first-level "><a href="#priority-1">Priority 1</a></li>
+ <li class="first-level "><a href="#priority-2">Priority 2</a></li>
+ <li class="first-level "><a href="#priority-3">Priority 3</a></li>
+ <li class="first-level "><a href="#external">External</a></li>
</ul>
</div></div>
<div class="col-md-9" role="main">
@@ -460,59 +481,45 @@
- limitations under the License.
-->
-<h1 id="iceberg-jdbc-integration">Iceberg JDBC Integration<a class="headerlink" href="#iceberg-jdbc-integration" title="Permanent link">¶</a></h1>
-<h2 id="jdbc-catalog">JDBC Catalog<a class="headerlink" href="#jdbc-catalog" title="Permanent link">¶</a></h2>
-<p>Iceberg supports using a table in a relational database to manage Iceberg tables through JDBC.
-The database that JDBC connects to must support atomic transaction to allow the JDBC catalog implementation to
-properly support atomic Iceberg table commits and read serializable isolation.</p>
-<h3 id="configurations">Configurations<a class="headerlink" href="#configurations" title="Permanent link">¶</a></h3>
-<p>Because each database and database service provider might require different configurations,
-the JDBC catalog allows arbitrary configurations through:</p>
-<table>
-<thead>
-<tr>
-<th>Property</th>
-<th>Default</th>
-<th>Description</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>uri</td>
-<td></td>
-<td>the JDBC connection string</td>
-</tr>
-<tr>
-<td>jdbc.<property_key></td>
-<td></td>
-<td>any key value pairs to configure the JDBC connection</td>
-</tr>
-</tbody>
-</table>
-<h3 id="examples">Examples<a class="headerlink" href="#examples" title="Permanent link">¶</a></h3>
-<h4 id="spark">Spark<a class="headerlink" href="#spark" title="Permanent link">¶</a></h4>
-<p>You can start a Spark session with a MySQL JDBC connection using the following configurations:</p>
-<pre><code class="language-shell">spark-sql --packages org.apache.iceberg:iceberg-spark3-runtime:0.12.0 \
- --conf spark.sql.catalog.my_catalog=org.apache.iceberg.spark.SparkCatalog \
- --conf spark.sql.catalog.my_catalog.warehouse=s3://my-bucket/my/key/prefix \
- --conf spark.sql.catalog.my_catalog.catalog-impl=org.apache.iceberg.jdbc.JdbcCatalog \
- --conf spark.sql.catalog.my_catalog.uri=jdbc:mysql://test.1234567890.us-west-2.rds.amazonaws.com:3306/default \
- --conf spark.sql.catalog.my_catalog.jdbc.verifyServerCertificate=true \
- --conf spark.sql.catalog.my_catalog.jdbc.useSSL=true \
- --conf spark.sql.catalog.my_catalog.jdbc.user=admin \
- --conf spark.sql.catalog.my_catalog.jdbc.password=pass
-</code></pre>
-<h4 id="java-api">Java API<a class="headerlink" href="#java-api" title="Permanent link">¶</a></h4>
-<pre><code class="language-java">Class.forName("com.mysql.cj.jdbc.Driver"); // ensure JDBC driver is at runtime classpath
-Map<String, String> properties = new HashMap<>();
-properties.put(CatalogProperties.CATALOG_IMPL, JdbcCatalog.class.getName());
-properties.put(CatalogProperties.URI, "jdbc:mysql://localhost:3306/test");
-properties.put(JdbcCatalog.PROPERTY_PREFIX + "user", "admin");
-properties.put(JdbcCatalog.PROPERTY_PREFIX + "password", "pass");
-properties.put(CatalogProperties.WAREHOUSE_LOCATION, "s3://warehouse/path");
-Configuration hadoopConf = new Configuration(); // configs if you use HadoopFileIO
-JdbcCatalog catalog = CatalogUtil.buildIcebergCatalog("test_jdbc_catalog", properties, hadoopConf);
-</code></pre></div>
+<h1 id="roadmap-overview">Roadmap Overview<a class="headerlink" href="#roadmap-overview" title="Permanent link">¶</a></h1>
+<p>This roadmap outlines projects that the Iceberg community is working on, their priority, and a rough size estimate.
+This is based on the latest <a href="https://lists.apache.org/thread.html/r84e80216c259c81f824c6971504c321cd8c785774c489d52d4fc123f%40%3Cdev.iceberg.apache.org%3E">community priority discussion</a>.
+Each high-level item links to a Github project board that tracks the current status.
+Related design docs will be linked on the planning boards.</p>
+<h1 id="priority-1">Priority 1<a class="headerlink" href="#priority-1" title="Permanent link">¶</a></h1>
+<ul>
+<li>API: <a href="https://github.com/apache/iceberg/projects/3">Iceberg 1.0.0</a> [medium]</li>
+<li>Spark: <a href="https://github.com/apache/iceberg/projects/11">Merge-on-read plans</a> [large]</li>
+<li>Maintenance: <a href="https://github.com/apache/iceberg/projects/10">Delete file compaction</a> [medium]</li>
+<li>Flink: <a href="https://github.com/apache/iceberg/projects/12">Upgrade to 1.13.2</a> (document compatibility) [medium]</li>
+<li>Python: <a href="https://github.com/apache/iceberg/projects/7">Pythonic refactor</a> [medium]</li>
+</ul>
+<h1 id="priority-2">Priority 2<a class="headerlink" href="#priority-2" title="Permanent link">¶</a></h1>
+<ul>
+<li>ORC: <a href="https://github.com/apache/iceberg/projects/13">Support delete files stored as ORC</a> [small]</li>
+<li>Spark: <a href="https://github.com/apache/iceberg/projects/2">DSv2 streaming improvements</a> [small]</li>
+<li>Flink: <a href="https://github.com/apache/iceberg/projects/14">Inline file compaction</a> [small]</li>
+<li>Flink: <a href="https://github.com/apache/iceberg/projects/15">Support UPSERT</a> [small]</li>
+<li>Flink: <a href="https://github.com/apache/iceberg/projects/23">FLIP-27 based Iceberg source</a> [large]</li>
+<li>Views: <a href="https://github.com/apache/iceberg/projects/6">Spec</a> [medium]</li>
+<li>Spec: <a href="https://github.com/apache/iceberg/projects/16">Z-ordering / Space-filling curves</a> [medium]</li>
+<li>Spec: <a href="https://github.com/apache/iceberg/projects/4">Snapshot tagging and branching</a> [small]</li>
+<li>Spec: <a href="https://github.com/apache/iceberg/projects/17">Secondary indexes</a> [large]</li>
+<li>Spec v3: <a href="https://github.com/apache/iceberg/projects/5">Encryption</a> [large]</li>
+<li>Spec v3: <a href="https://github.com/apache/iceberg/projects/18">Relative paths</a> [large]</li>
+<li>Spec v3: <a href="https://github.com/apache/iceberg/projects/19">Default field values</a> [medium]</li>
+</ul>
+<h1 id="priority-3">Priority 3<a class="headerlink" href="#priority-3" title="Permanent link">¶</a></h1>
+<ul>
+<li>Docs: <a href="https://github.com/apache/iceberg/projects/20">versioned docs</a> [medium]</li>
+<li>IO: <a href="https://github.com/apache/iceberg/projects/21">Support Aliyun OSS/DLF</a> [medium]</li>
+<li>IO: <a href="https://github.com/apache/iceberg/projects/22">Support Dell ECS</a> [medium]</li>
+</ul>
+<h1 id="external">External<a class="headerlink" href="#external" title="Permanent link">¶</a></h1>
+<ul>
+<li>PrestoDB: <a href="https://github.com/apache/iceberg/projects/9">Iceberg PrestoDB Connector</a></li>
+<li>Trino: <a href="https://github.com/apache/iceberg/projects/8">Iceberg Trino Connector</a></li>
+</ul></div>
</div>
diff --git a/schemas/index.html b/schemas/index.html
index f5ac7a3..513493a 100644
--- a/schemas/index.html
+++ b/schemas/index.html
@@ -82,6 +82,12 @@
<li >
+ <a href="../roadmap/">Roadmap</a>
+</li>
+
+
+
+<li >
<a href="../community/">Community</a>
</li>
@@ -121,6 +127,12 @@
+ <li >
+ <a href="../getting-started/">Getting Started</a>
+ </li>
+
+
+
<li class="dropdown active">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Tables <b class="caret"></b></a>
<ul class="dropdown-menu">
@@ -173,54 +185,102 @@
<li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">Spark <b class="caret"></b></a>
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">Engines <b class="caret"></b></a>
<ul class="dropdown-menu">
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Spark</a>
+ <ul class="dropdown-menu">
+
+
<li >
<a href="../getting-started/">Getting Started</a>
</li>
-
-
+
+
<li >
<a href="../spark-configuration/">Configuration</a>
</li>
-
-
+
+
<li >
<a href="../spark-ddl/">DDL</a>
</li>
-
-
+
+
<li >
<a href="../spark-queries/">Queries</a>
</li>
+
+
+<li >
+ <a href="../spark-writes/">Writes</a>
+</li>
+
+
+
+<li >
+ <a href="../spark-procedures/">Maintenance Procedures</a>
+</li>
+
+
+
+<li >
+ <a href="../spark-structured-streaming/">Structured Streaming</a>
+</li>
+
+
+
+<li >
+ <a href="../spark-queries/#time-travel">Time Travel</a>
+</li>
+
+
+ </ul>
+ </li>
+
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Flink</a>
+ <ul class="dropdown-menu">
+
+
<li >
- <a href="../spark-writes/">Writes</a>
+ <a href="../flink/">Getting Started</a>
+</li>
+
+
+
+<li >
+ <a href="../flink-connector/">Flink Connector</a>
</li>
+
+ </ul>
+ </li>
+
<li >
- <a href="../spark-procedures/">Maintenance Procedures</a>
+ <a href="../hive/">Hive</a>
</li>
<li >
- <a href="../spark-structured-streaming/">Structured Streaming</a>
+ <a href="https://trino.io/docs/current/connector/iceberg.html">Trino</a>
</li>
<li >
- <a href="../spark-queries/#time-travel">Time Travel</a>
+ <a href="https://prestodb.io/docs/current/connector/iceberg.html">PrestoDB</a>
</li>
@@ -229,24 +289,6 @@
- <li >
- <a href="https://trino.io/docs/current/connector/iceberg.html">Trino</a>
- </li>
-
-
-
- <li >
- <a href="../flink/">Flink</a>
- </li>
-
-
-
- <li >
- <a href="../hive/">Hive</a>
- </li>
-
-
-
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Integrations <b class="caret"></b></a>
<ul class="dropdown-menu">
diff --git a/security/index.html b/security/index.html
index c9e04af..931a097 100644
--- a/security/index.html
+++ b/security/index.html
@@ -82,6 +82,12 @@
<li >
+ <a href="../roadmap/">Roadmap</a>
+</li>
+
+
+
+<li >
<a href="../community/">Community</a>
</li>
@@ -240,10 +246,25 @@
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Flink</a>
+ <ul class="dropdown-menu">
+
+
<li >
- <a href="../flink/">Flink</a>
+ <a href="../flink/">Getting Started</a>
</li>
+
+
+<li >
+ <a href="../flink-connector/">Flink Connector</a>
+</li>
+
+
+ </ul>
+ </li>
+
<li >
diff --git a/sitemap.xml b/sitemap.xml
index 4807277..20d9830 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -2,192 +2,202 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://iceberg.apache.org/</loc>
- <lastmod>2021-09-10</lastmod>
+ <lastmod>2021-09-22</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/api/</loc>
- <lastmod>2021-09-10</lastmod>
+ <lastmod>2021-09-22</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/aws/</loc>
- <lastmod>2021-09-10</lastmod>
+ <lastmod>2021-09-22</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/benchmarks/</loc>
- <lastmod>2021-09-10</lastmod>
+ <lastmod>2021-09-22</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/blogs/</loc>
- <lastmod>2021-09-10</lastmod>
+ <lastmod>2021-09-22</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/community/</loc>
- <lastmod>2021-09-10</lastmod>
+ <lastmod>2021-09-22</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/configuration/</loc>
- <lastmod>2021-09-10</lastmod>
+ <lastmod>2021-09-22</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/custom-catalog/</loc>
- <lastmod>2021-09-10</lastmod>
+ <lastmod>2021-09-22</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/evolution/</loc>
- <lastmod>2021-09-10</lastmod>
+ <lastmod>2021-09-22</lastmod>
+ <changefreq>daily</changefreq>
+ </url>
+ <url>
+ <loc>https://iceberg.apache.org/flink-connector/</loc>
+ <lastmod>2021-09-22</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/flink/</loc>
- <lastmod>2021-09-10</lastmod>
+ <lastmod>2021-09-22</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/getting-started/</loc>
- <lastmod>2021-09-10</lastmod>
+ <lastmod>2021-09-22</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/hive/</loc>
- <lastmod>2021-09-10</lastmod>
+ <lastmod>2021-09-22</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/how-to-release/</loc>
- <lastmod>2021-09-10</lastmod>
+ <lastmod>2021-09-22</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/java-api-quickstart/</loc>
- <lastmod>2021-09-10</lastmod>
+ <lastmod>2021-09-22</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/jdbc/</loc>
- <lastmod>2021-09-10</lastmod>
+ <lastmod>2021-09-22</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/maintenance/</loc>
- <lastmod>2021-09-10</lastmod>
+ <lastmod>2021-09-22</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/nessie/</loc>
- <lastmod>2021-09-10</lastmod>
+ <lastmod>2021-09-22</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/partitioning/</loc>
- <lastmod>2021-09-10</lastmod>
+ <lastmod>2021-09-22</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/performance/</loc>
- <lastmod>2021-09-10</lastmod>
+ <lastmod>2021-09-22</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/python-api-intro/</loc>
- <lastmod>2021-09-10</lastmod>
+ <lastmod>2021-09-22</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/python-feature-support/</loc>
- <lastmod>2021-09-10</lastmod>
+ <lastmod>2021-09-22</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/python-quickstart/</loc>
- <lastmod>2021-09-10</lastmod>
+ <lastmod>2021-09-22</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/releases/</loc>
- <lastmod>2021-09-10</lastmod>
+ <lastmod>2021-09-22</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/reliability/</loc>
- <lastmod>2021-09-10</lastmod>
+ <lastmod>2021-09-22</lastmod>
+ <changefreq>daily</changefreq>
+ </url>
+ <url>
+ <loc>https://iceberg.apache.org/roadmap/</loc>
+ <lastmod>2021-09-22</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/schemas/</loc>
- <lastmod>2021-09-10</lastmod>
+ <lastmod>2021-09-22</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/security/</loc>
- <lastmod>2021-09-10</lastmod>
+ <lastmod>2021-09-22</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/snapshots/</loc>
- <lastmod>2021-09-10</lastmod>
+ <lastmod>2021-09-22</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/spark-configuration/</loc>
- <lastmod>2021-09-10</lastmod>
+ <lastmod>2021-09-22</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/spark-ddl/</loc>
- <lastmod>2021-09-10</lastmod>
+ <lastmod>2021-09-22</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/spark-procedures/</loc>
- <lastmod>2021-09-10</lastmod>
+ <lastmod>2021-09-22</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/spark-queries/</loc>
- <lastmod>2021-09-10</lastmod>
+ <lastmod>2021-09-22</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/spark-structured-streaming/</loc>
- <lastmod>2021-09-10</lastmod>
+ <lastmod>2021-09-22</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/spark-writes/</loc>
- <lastmod>2021-09-10</lastmod>
+ <lastmod>2021-09-22</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/spec/</loc>
- <lastmod>2021-09-10</lastmod>
+ <lastmod>2021-09-22</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/terms/</loc>
- <lastmod>2021-09-10</lastmod>
+ <lastmod>2021-09-22</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/trademarks/</loc>
- <lastmod>2021-09-10</lastmod>
+ <lastmod>2021-09-22</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/trino-prestodb/</loc>
- <lastmod>2021-09-10</lastmod>
+ <lastmod>2021-09-22</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/why-iceberg/</loc>
- <lastmod>2021-09-10</lastmod>
+ <lastmod>2021-09-22</lastmod>
<changefreq>daily</changefreq>
</url>
</urlset>
\ No newline at end of file
diff --git a/sitemap.xml.gz b/sitemap.xml.gz
index 4c97f19..2eaadf8 100644
Binary files a/sitemap.xml.gz and b/sitemap.xml.gz differ
diff --git a/snapshots/index.html b/snapshots/index.html
index ec4f08e..f40dc28 100644
--- a/snapshots/index.html
+++ b/snapshots/index.html
@@ -82,6 +82,12 @@
<li >
+ <a href="../roadmap/">Roadmap</a>
+</li>
+
+
+
+<li >
<a href="../community/">Community</a>
</li>
@@ -121,6 +127,12 @@
+ <li >
+ <a href="../getting-started/">Getting Started</a>
+ </li>
+
+
+
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Tables <b class="caret"></b></a>
<ul class="dropdown-menu">
@@ -173,54 +185,102 @@
<li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">Spark <b class="caret"></b></a>
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">Engines <b class="caret"></b></a>
<ul class="dropdown-menu">
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Spark</a>
+ <ul class="dropdown-menu">
+
+
<li >
<a href="../getting-started/">Getting Started</a>
</li>
-
-
+
+
<li >
<a href="../spark-configuration/">Configuration</a>
</li>
-
-
+
+
<li >
<a href="../spark-ddl/">DDL</a>
</li>
-
-
+
+
<li >
<a href="../spark-queries/">Queries</a>
</li>
+
+
+<li >
+ <a href="../spark-writes/">Writes</a>
+</li>
+
+
+
+<li >
+ <a href="../spark-procedures/">Maintenance Procedures</a>
+</li>
+
+
+
+<li >
+ <a href="../spark-structured-streaming/">Structured Streaming</a>
+</li>
+
+
+
+<li >
+ <a href="../spark-queries/#time-travel">Time Travel</a>
+</li>
+
+
+ </ul>
+ </li>
+
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Flink</a>
+ <ul class="dropdown-menu">
+
+
<li >
- <a href="../spark-writes/">Writes</a>
+ <a href="../flink/">Getting Started</a>
+</li>
+
+
+
+<li >
+ <a href="../flink-connector/">Flink Connector</a>
</li>
+
+ </ul>
+ </li>
+
<li >
- <a href="../spark-procedures/">Maintenance Procedures</a>
+ <a href="../hive/">Hive</a>
</li>
<li >
- <a href="../spark-structured-streaming/">Structured Streaming</a>
+ <a href="https://trino.io/docs/current/connector/iceberg.html">Trino</a>
</li>
<li >
- <a href="../spark-queries/#time-travel">Time Travel</a>
+ <a href="https://prestodb.io/docs/current/connector/iceberg.html">PrestoDB</a>
</li>
@@ -229,24 +289,6 @@
- <li >
- <a href="https://trino.io/docs/current/connector/iceberg.html">Trino</a>
- </li>
-
-
-
- <li >
- <a href="../flink/">Flink</a>
- </li>
-
-
-
- <li >
- <a href="../hive/">Hive</a>
- </li>
-
-
-
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Integrations <b class="caret"></b></a>
<ul class="dropdown-menu">
diff --git a/spark-configuration/index.html b/spark-configuration/index.html
index d471bcc..7aa80aa 100644
--- a/spark-configuration/index.html
+++ b/spark-configuration/index.html
@@ -82,6 +82,12 @@
<li >
+ <a href="../roadmap/">Roadmap</a>
+</li>
+
+
+
+<li >
<a href="../community/">Community</a>
</li>
@@ -240,10 +246,25 @@
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Flink</a>
+ <ul class="dropdown-menu">
+
+
<li >
- <a href="../flink/">Flink</a>
+ <a href="../flink/">Getting Started</a>
</li>
+
+
+<li >
+ <a href="../flink-connector/">Flink Connector</a>
+</li>
+
+
+ </ul>
+ </li>
+
<li >
diff --git a/spark-ddl/index.html b/spark-ddl/index.html
index 8e4a9c6..4b6b06a 100644
--- a/spark-ddl/index.html
+++ b/spark-ddl/index.html
@@ -82,6 +82,12 @@
<li >
+ <a href="../roadmap/">Roadmap</a>
+</li>
+
+
+
+<li >
<a href="../community/">Community</a>
</li>
@@ -121,6 +127,12 @@
+ <li >
+ <a href="../getting-started/">Getting Started</a>
+ </li>
+
+
+
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Tables <b class="caret"></b></a>
<ul class="dropdown-menu">
@@ -173,54 +185,102 @@
<li class="dropdown active">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">Spark <b class="caret"></b></a>
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">Engines <b class="caret"></b></a>
<ul class="dropdown-menu">
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Spark</a>
+ <ul class="dropdown-menu">
+
+
<li >
<a href="../getting-started/">Getting Started</a>
</li>
-
-
+
+
<li >
<a href="../spark-configuration/">Configuration</a>
</li>
-
-
+
+
<li class="active">
<a href="./">DDL</a>
</li>
-
-
+
+
<li >
<a href="../spark-queries/">Queries</a>
</li>
+
+
+<li >
+ <a href="../spark-writes/">Writes</a>
+</li>
+
+
+
+<li >
+ <a href="../spark-procedures/">Maintenance Procedures</a>
+</li>
+
+
+
+<li >
+ <a href="../spark-structured-streaming/">Structured Streaming</a>
+</li>
+
+
+
+<li >
+ <a href="../spark-queries/#time-travel">Time Travel</a>
+</li>
+
+
+ </ul>
+ </li>
+
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Flink</a>
+ <ul class="dropdown-menu">
+
+
<li >
- <a href="../spark-writes/">Writes</a>
+ <a href="../flink/">Getting Started</a>
+</li>
+
+
+
+<li >
+ <a href="../flink-connector/">Flink Connector</a>
</li>
+
+ </ul>
+ </li>
+
<li >
- <a href="../spark-procedures/">Maintenance Procedures</a>
+ <a href="../hive/">Hive</a>
</li>
<li >
- <a href="../spark-structured-streaming/">Structured Streaming</a>
+ <a href="https://trino.io/docs/current/connector/iceberg.html">Trino</a>
</li>
<li >
- <a href="../spark-queries/#time-travel">Time Travel</a>
+ <a href="https://prestodb.io/docs/current/connector/iceberg.html">PrestoDB</a>
</li>
@@ -229,24 +289,6 @@
- <li >
- <a href="https://trino.io/docs/current/connector/iceberg.html">Trino</a>
- </li>
-
-
-
- <li >
- <a href="../flink/">Flink</a>
- </li>
-
-
-
- <li >
- <a href="../hive/">Hive</a>
- </li>
-
-
-
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Integrations <b class="caret"></b></a>
<ul class="dropdown-menu">
diff --git a/spark-procedures/index.html b/spark-procedures/index.html
index 102f6dc..a1de0fc 100644
--- a/spark-procedures/index.html
+++ b/spark-procedures/index.html
@@ -82,6 +82,12 @@
<li >
+ <a href="../roadmap/">Roadmap</a>
+</li>
+
+
+
+<li >
<a href="../community/">Community</a>
</li>
@@ -240,10 +246,25 @@
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Flink</a>
+ <ul class="dropdown-menu">
+
+
<li >
- <a href="../flink/">Flink</a>
+ <a href="../flink/">Getting Started</a>
</li>
+
+
+<li >
+ <a href="../flink-connector/">Flink Connector</a>
+</li>
+
+
+ </ul>
+ </li>
+
<li >
diff --git a/spark-queries/index.html b/spark-queries/index.html
index aa9bcd5..f63890e 100644
--- a/spark-queries/index.html
+++ b/spark-queries/index.html
@@ -82,6 +82,12 @@
<li >
+ <a href="../roadmap/">Roadmap</a>
+</li>
+
+
+
+<li >
<a href="../community/">Community</a>
</li>
@@ -121,6 +127,12 @@
+ <li >
+ <a href="../getting-started/">Getting Started</a>
+ </li>
+
+
+
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Tables <b class="caret"></b></a>
<ul class="dropdown-menu">
@@ -173,54 +185,102 @@
<li class="dropdown active">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">Spark <b class="caret"></b></a>
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">Engines <b class="caret"></b></a>
<ul class="dropdown-menu">
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Spark</a>
+ <ul class="dropdown-menu">
+
+
<li >
<a href="../getting-started/">Getting Started</a>
</li>
-
-
+
+
<li >
<a href="../spark-configuration/">Configuration</a>
</li>
-
-
+
+
<li >
<a href="../spark-ddl/">DDL</a>
</li>
-
-
+
+
<li class="active">
<a href="./">Queries</a>
</li>
+
+
+<li >
+ <a href="../spark-writes/">Writes</a>
+</li>
+
+
+
+<li >
+ <a href="../spark-procedures/">Maintenance Procedures</a>
+</li>
+
+
+
+<li >
+ <a href="../spark-structured-streaming/">Structured Streaming</a>
+</li>
+
+
+
+<li >
+ <a href="#time-travel">Time Travel</a>
+</li>
+
+
+ </ul>
+ </li>
+
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Flink</a>
+ <ul class="dropdown-menu">
+
+
<li >
- <a href="../spark-writes/">Writes</a>
+ <a href="../flink/">Getting Started</a>
+</li>
+
+
+
+<li >
+ <a href="../flink-connector/">Flink Connector</a>
</li>
+
+ </ul>
+ </li>
+
<li >
- <a href="../spark-procedures/">Maintenance Procedures</a>
+ <a href="../hive/">Hive</a>
</li>
<li >
- <a href="../spark-structured-streaming/">Structured Streaming</a>
+ <a href="https://trino.io/docs/current/connector/iceberg.html">Trino</a>
</li>
<li >
- <a href="#time-travel">Time Travel</a>
+ <a href="https://prestodb.io/docs/current/connector/iceberg.html">PrestoDB</a>
</li>
@@ -229,24 +289,6 @@
- <li >
- <a href="https://trino.io/docs/current/connector/iceberg.html">Trino</a>
- </li>
-
-
-
- <li >
- <a href="../flink/">Flink</a>
- </li>
-
-
-
- <li >
- <a href="../hive/">Hive</a>
- </li>
-
-
-
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Integrations <b class="caret"></b></a>
<ul class="dropdown-menu">
diff --git a/spark-structured-streaming/index.html b/spark-structured-streaming/index.html
index 3ca4396..3bb3087 100644
--- a/spark-structured-streaming/index.html
+++ b/spark-structured-streaming/index.html
@@ -82,6 +82,12 @@
<li >
+ <a href="../roadmap/">Roadmap</a>
+</li>
+
+
+
+<li >
<a href="../community/">Community</a>
</li>
@@ -240,10 +246,25 @@
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Flink</a>
+ <ul class="dropdown-menu">
+
+
<li >
- <a href="../flink/">Flink</a>
+ <a href="../flink/">Getting Started</a>
</li>
+
+
+<li >
+ <a href="../flink-connector/">Flink Connector</a>
+</li>
+
+
+ </ul>
+ </li>
+
<li >
diff --git a/spark-writes/index.html b/spark-writes/index.html
index 00cc847..b3b8da6 100644
--- a/spark-writes/index.html
+++ b/spark-writes/index.html
@@ -82,6 +82,12 @@
<li >
+ <a href="../roadmap/">Roadmap</a>
+</li>
+
+
+
+<li >
<a href="../community/">Community</a>
</li>
@@ -121,6 +127,12 @@
+ <li >
+ <a href="../getting-started/">Getting Started</a>
+ </li>
+
+
+
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Tables <b class="caret"></b></a>
<ul class="dropdown-menu">
@@ -173,54 +185,102 @@
<li class="dropdown active">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">Spark <b class="caret"></b></a>
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">Engines <b class="caret"></b></a>
<ul class="dropdown-menu">
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Spark</a>
+ <ul class="dropdown-menu">
+
+
<li >
<a href="../getting-started/">Getting Started</a>
</li>
-
-
+
+
<li >
<a href="../spark-configuration/">Configuration</a>
</li>
-
-
+
+
<li >
<a href="../spark-ddl/">DDL</a>
</li>
-
-
+
+
<li >
<a href="../spark-queries/">Queries</a>
</li>
-
-
+
+
<li class="active">
<a href="./">Writes</a>
</li>
+
+
+<li >
+ <a href="../spark-procedures/">Maintenance Procedures</a>
+</li>
+
+
+
+<li >
+ <a href="../spark-structured-streaming/">Structured Streaming</a>
+</li>
+
+
+
+<li >
+ <a href="../spark-queries/#time-travel">Time Travel</a>
+</li>
+
+
+ </ul>
+ </li>
+
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Flink</a>
+ <ul class="dropdown-menu">
+
+
<li >
- <a href="../spark-procedures/">Maintenance Procedures</a>
+ <a href="../flink/">Getting Started</a>
+</li>
+
+
+
+<li >
+ <a href="../flink-connector/">Flink Connector</a>
</li>
+
+ </ul>
+ </li>
+
<li >
- <a href="../spark-structured-streaming/">Structured Streaming</a>
+ <a href="../hive/">Hive</a>
</li>
<li >
- <a href="../spark-queries/#time-travel">Time Travel</a>
+ <a href="https://trino.io/docs/current/connector/iceberg.html">Trino</a>
+</li>
+
+
+
+<li >
+ <a href="https://prestodb.io/docs/current/connector/iceberg.html">PrestoDB</a>
</li>
@@ -229,24 +289,6 @@
- <li >
- <a href="https://trino.io/docs/current/connector/iceberg.html">Trino</a>
- </li>
-
-
-
- <li >
- <a href="../flink/">Flink</a>
- </li>
-
-
-
- <li >
- <a href="../hive/">Hive</a>
- </li>
-
-
-
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Integrations <b class="caret"></b></a>
<ul class="dropdown-menu">
@@ -420,6 +462,7 @@
<li class="third-level"><a href="#merge-into">MERGE INTO</a></li>
<li class="third-level"><a href="#insert-overwrite">INSERT OVERWRITE</a></li>
<li class="third-level"><a href="#delete-from">DELETE FROM</a></li>
+ <li class="third-level"><a href="#update">UPDATE</a></li>
<li class="second-level"><a href="#writing-with-dataframes">Writing with DataFrames</a></li>
<li class="third-level"><a href="#appending-data">Appending data</a></li>
@@ -491,6 +534,12 @@
<td>⚠ Row-level delete requires Spark extensions</td>
</tr>
<tr>
+<td><a href="#update">SQL update</a></td>
+<td>✔️</td>
+<td></td>
+<td>⚠ Requires Iceberg Spark extensions</td>
+</tr>
+<tr>
<td><a href="#appending-data">DataFrame append</a></td>
<td>✔️</td>
<td>✔️</td>
@@ -590,6 +639,14 @@ GROUP BY uuid
WHERE ts >= '2020-05-01 00:00:00' and ts < '2020-06-01 00:00:00'
</code></pre>
<p>If the delte filter matches entire partitions of the table, Iceberg will perform a metadata-only delete. If the filter matches individual rows of a table, then Iceberg will rewrite only the affected data files.</p>
+<h3 id="update"><code>UPDATE</code><a class="headerlink" href="#update" title="Permanent link">¶</a></h3>
+<p>Spark 3.1 added support for <code>UPDATE</code> queries that update matching rows in tables.</p>
+<p>Update queries accept a filter to match rows to update.</p>
+<pre><code class="language-sql">UPDATE prod.db.table
+SET c1 = 'update_c1', c2 = 'update_c2'
+WHERE ts >= '2020-05-01 00:00:00' and ts < '2020-06-01 00:00:00'
+</code></pre>
+<p>For more complex row-level updates based on incoming data, see the section on <code>MERGE INTO</code>.</p>
<h2 id="writing-with-dataframes">Writing with DataFrames<a class="headerlink" href="#writing-with-dataframes" title="Permanent link">¶</a></h2>
<p>Spark 3 introduced the new <code>DataFrameWriterV2</code> API for writing to tables using data frames. The v2 API is recommended for several reasons:</p>
<ul>
diff --git a/spec/index.html b/spec/index.html
index 5a3beec..b89aacd 100644
--- a/spec/index.html
+++ b/spec/index.html
@@ -82,6 +82,12 @@
<li >
+ <a href="../roadmap/">Roadmap</a>
+</li>
+
+
+
+<li >
<a href="../community/">Community</a>
</li>
@@ -240,10 +246,25 @@
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Flink</a>
+ <ul class="dropdown-menu">
+
+
<li >
- <a href="../flink/">Flink</a>
+ <a href="../flink/">Getting Started</a>
</li>
+
+
+<li >
+ <a href="../flink-connector/">Flink Connector</a>
+</li>
+
+
+ </ul>
+ </li>
+
<li >
diff --git a/terms/index.html b/terms/index.html
index e4cb53e..30d6b53 100644
--- a/terms/index.html
+++ b/terms/index.html
@@ -82,6 +82,12 @@
<li >
+ <a href="../roadmap/">Roadmap</a>
+</li>
+
+
+
+<li >
<a href="../community/">Community</a>
</li>
@@ -121,6 +127,12 @@
+ <li >
+ <a href="../getting-started/">Getting Started</a>
+ </li>
+
+
+
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Tables <b class="caret"></b></a>
<ul class="dropdown-menu">
@@ -173,54 +185,102 @@
<li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">Spark <b class="caret"></b></a>
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">Engines <b class="caret"></b></a>
<ul class="dropdown-menu">
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Spark</a>
+ <ul class="dropdown-menu">
+
+
<li >
<a href="../getting-started/">Getting Started</a>
</li>
-
-
+
+
<li >
<a href="../spark-configuration/">Configuration</a>
</li>
-
-
+
+
<li >
<a href="../spark-ddl/">DDL</a>
</li>
-
-
+
+
<li >
<a href="../spark-queries/">Queries</a>
</li>
+
+
+<li >
+ <a href="../spark-writes/">Writes</a>
+</li>
+
+
+
+<li >
+ <a href="../spark-procedures/">Maintenance Procedures</a>
+</li>
+
+
+
+<li >
+ <a href="../spark-structured-streaming/">Structured Streaming</a>
+</li>
+
+
+
+<li >
+ <a href="../spark-queries/#time-travel">Time Travel</a>
+</li>
+
+
+ </ul>
+ </li>
+
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Flink</a>
+ <ul class="dropdown-menu">
+
+
<li >
- <a href="../spark-writes/">Writes</a>
+ <a href="../flink/">Getting Started</a>
+</li>
+
+
+
+<li >
+ <a href="../flink-connector/">Flink Connector</a>
</li>
+
+ </ul>
+ </li>
+
<li >
- <a href="../spark-procedures/">Maintenance Procedures</a>
+ <a href="../hive/">Hive</a>
</li>
<li >
- <a href="../spark-structured-streaming/">Structured Streaming</a>
+ <a href="https://trino.io/docs/current/connector/iceberg.html">Trino</a>
</li>
<li >
- <a href="../spark-queries/#time-travel">Time Travel</a>
+ <a href="https://prestodb.io/docs/current/connector/iceberg.html">PrestoDB</a>
</li>
@@ -229,24 +289,6 @@
- <li >
- <a href="https://trino.io/docs/current/connector/iceberg.html">Trino</a>
- </li>
-
-
-
- <li >
- <a href="../flink/">Flink</a>
- </li>
-
-
-
- <li >
- <a href="../hive/">Hive</a>
- </li>
-
-
-
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Integrations <b class="caret"></b></a>
<ul class="dropdown-menu">
diff --git a/trademarks/index.html b/trademarks/index.html
index 92f8835..2dab526 100644
--- a/trademarks/index.html
+++ b/trademarks/index.html
@@ -82,6 +82,12 @@
<li >
+ <a href="../roadmap/">Roadmap</a>
+</li>
+
+
+
+<li >
<a href="../community/">Community</a>
</li>
@@ -121,6 +127,12 @@
+ <li >
+ <a href="../getting-started/">Getting Started</a>
+ </li>
+
+
+
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Tables <b class="caret"></b></a>
<ul class="dropdown-menu">
@@ -173,54 +185,102 @@
<li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">Spark <b class="caret"></b></a>
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">Engines <b class="caret"></b></a>
<ul class="dropdown-menu">
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Spark</a>
+ <ul class="dropdown-menu">
+
+
<li >
<a href="../getting-started/">Getting Started</a>
</li>
-
-
+
+
<li >
<a href="../spark-configuration/">Configuration</a>
</li>
-
-
+
+
<li >
<a href="../spark-ddl/">DDL</a>
</li>
-
-
+
+
<li >
<a href="../spark-queries/">Queries</a>
</li>
+
+
+<li >
+ <a href="../spark-writes/">Writes</a>
+</li>
+
+
+
+<li >
+ <a href="../spark-procedures/">Maintenance Procedures</a>
+</li>
+
+
+
+<li >
+ <a href="../spark-structured-streaming/">Structured Streaming</a>
+</li>
+
+
+
+<li >
+ <a href="../spark-queries/#time-travel">Time Travel</a>
+</li>
+
+
+ </ul>
+ </li>
+
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Flink</a>
+ <ul class="dropdown-menu">
+
+
<li >
- <a href="../spark-writes/">Writes</a>
+ <a href="../flink/">Getting Started</a>
+</li>
+
+
+
+<li >
+ <a href="../flink-connector/">Flink Connector</a>
</li>
+
+ </ul>
+ </li>
+
<li >
- <a href="../spark-procedures/">Maintenance Procedures</a>
+ <a href="../hive/">Hive</a>
</li>
<li >
- <a href="../spark-structured-streaming/">Structured Streaming</a>
+ <a href="https://trino.io/docs/current/connector/iceberg.html">Trino</a>
</li>
<li >
- <a href="../spark-queries/#time-travel">Time Travel</a>
+ <a href="https://prestodb.io/docs/current/connector/iceberg.html">PrestoDB</a>
</li>
@@ -229,24 +289,6 @@
- <li >
- <a href="https://trino.io/docs/current/connector/iceberg.html">Trino</a>
- </li>
-
-
-
- <li >
- <a href="../flink/">Flink</a>
- </li>
-
-
-
- <li >
- <a href="../hive/">Hive</a>
- </li>
-
-
-
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Integrations <b class="caret"></b></a>
<ul class="dropdown-menu">
diff --git a/trino-prestodb/index.html b/trino-prestodb/index.html
index 8a841d4..2930926 100644
--- a/trino-prestodb/index.html
+++ b/trino-prestodb/index.html
@@ -82,6 +82,12 @@
<li >
+ <a href="../roadmap/">Roadmap</a>
+</li>
+
+
+
+<li >
<a href="../community/">Community</a>
</li>
@@ -240,10 +246,25 @@
+ <li class="dropdown-submenu">
+ <a tabindex="-1" href="">Flink</a>
+ <ul class="dropdown-menu">
+
+
<li >
- <a href="../flink/">Flink</a>
+ <a href="../flink/">Getting Started</a>
</li>
+
+
+<li >
+ <a href="../flink-connector/">Flink Connector</a>
+</li>
+
+
+ </ul>
+ </li>
+
<li >