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 fec56e9 Deployed 708ded924 with MkDocs version: 1.2.1
fec56e9 is described below
commit fec56e9727f0898a77d400d421b5299a87fd8fb2
Author: Ryan Blue <[email protected]>
AuthorDate: Mon Jul 26 17:35:08 2021 -0700
Deployed 708ded924 with MkDocs version: 1.2.1
---
404.html | 12 +++
api/index.html | 14 +++-
aws/index.html | 131 ++++++++++++++++++++++++++---
benchmarks/index.html | 12 +++
blogs/index.html | 17 ++++
community/index.html | 14 +++-
configuration/index.html | 14 +++-
custom-catalog/index.html | 12 +++
evolution/index.html | 12 +++
flink/index.html | 12 +++
getting-started/index.html | 12 +++
hive/index.html | 12 +++
how-to-release/index.html | 14 +++-
index.html | 12 +++
java-api-quickstart/index.html | 12 +++
{schemas => jdbc}/index.html | 151 ++++++++++++++--------------------
maintenance/index.html | 12 +++
nessie/index.html | 14 +++-
partitioning/index.html | 12 +++
performance/index.html | 12 +++
python-api-intro/index.html | 12 +++
python-feature-support/index.html | 12 +++
python-quickstart/index.html | 12 +++
releases/index.html | 12 +++
reliability/index.html | 12 +++
schemas/index.html | 12 +++
{trademarks => security}/index.html | 34 ++++++--
sitemap.xml | 82 ++++++++++--------
sitemap.xml.gz | Bin 473 -> 483 bytes
snapshots/index.html | 12 +++
spark-configuration/index.html | 12 +++
spark-ddl/index.html | 12 +++
spark-procedures/index.html | 12 +++
spark-queries/index.html | 12 +++
spark-structured-streaming/index.html | 12 +++
spark-writes/index.html | 12 +++
spec/index.html | 29 ++++---
terms/index.html | 12 +++
trademarks/index.html | 12 +++
trino/index.html | 12 +++
why-iceberg/index.html | 12 +++
41 files changed, 701 insertions(+), 161 deletions(-)
diff --git a/404.html b/404.html
index c81f38f..259276c 100644
--- a/404.html
+++ b/404.html
@@ -110,6 +110,12 @@
</li>
+
+<li >
+ <a href="/security/">Security</a>
+</li>
+
+
</ul>
</li>
@@ -257,6 +263,12 @@
</li>
+
+<li >
+ <a href="/jdbc/">JDBC</a>
+</li>
+
+
</ul>
</li>
diff --git a/api/index.html b/api/index.html
index 7c28e17..22116ab 100644
--- a/api/index.html
+++ b/api/index.html
@@ -110,6 +110,12 @@
</li>
+
+<li >
+ <a href="../security/">Security</a>
+</li>
+
+
</ul>
</li>
@@ -257,6 +263,12 @@
</li>
+
+<li >
+ <a href="../jdbc/">JDBC</a>
+</li>
+
+
</ul>
</li>
@@ -382,7 +394,7 @@
<ul class="nav navbar-nav navbar-right">
<li >
- <a rel="prev" href="../nessie/">
+ <a rel="prev" href="../jdbc/">
<i class="fas fa-arrow-left"></i> Previous
</a>
</li>
diff --git a/aws/index.html b/aws/index.html
index d4ed104..49b423b 100644
--- a/aws/index.html
+++ b/aws/index.html
@@ -110,6 +110,12 @@
</li>
+
+<li >
+ <a href="../security/">Security</a>
+</li>
+
+
</ul>
</li>
@@ -257,6 +263,12 @@
</li>
+
+<li >
+ <a href="../jdbc/">JDBC</a>
+</li>
+
+
</ul>
</li>
@@ -407,13 +419,12 @@
<li class="third-level"><a href="#spark">Spark</a></li>
<li class="third-level"><a href="#flink">Flink</a></li>
<li class="third-level"><a href="#hive">Hive</a></li>
- <li class="second-level"><a href="#glue-catalog">Glue
Catalog</a></li>
+ <li class="second-level"><a href="#catalogs">Catalogs</a></li>
- <li class="third-level"><a href="#glue-catalog-id">Glue
Catalog ID</a></li>
- <li class="third-level"><a href="#skip-archive">Skip
Archive</a></li>
- <li class="third-level"><a
href="#dynamodb-for-commit-locking">DynamoDB for Commit Locking</a></li>
- <li class="third-level"><a
href="#warehouse-location">Warehouse Location</a></li>
- <li class="third-level"><a href="#table-location">Table
Location</a></li>
+ <li class="third-level"><a href="#glue-catalog">Glue
Catalog</a></li>
+ <li class="third-level"><a href="#dynamodb-catalog">DynamoDB
Catalog</a></li>
+ <li class="third-level"><a href="#rds-jdbc-catalog">RDS JDBC
Catalog</a></li>
+ <li class="third-level"><a
href="#which-catalog-to-choose">Which catalog to choose?</a></li>
<li class="second-level"><a href="#s3-fileio">S3 FileIO</a></li>
<li class="third-level"><a
href="#progressive-multipart-upload">Progressive Multipart Upload</a></li>
@@ -561,7 +572,9 @@ STORED BY
'org.apache.iceberg.mr.hive.HiveIcebergStorageHandler'
TBLPROPERTIES ('iceberg.catalog'='glue');
</code></pre>
<p>You can also preload the catalog by setting the configurations above in
<code>hive-site.xml</code>.</p>
-<h2 id="glue-catalog">Glue Catalog<a class="headerlink" href="#glue-catalog"
title="Permanent link">¶</a></h2>
+<h2 id="catalogs">Catalogs<a class="headerlink" href="#catalogs"
title="Permanent link">¶</a></h2>
+<p>There are multiple different options that users can choose to build an
Iceberg catalog with AWS.</p>
+<h3 id="glue-catalog">Glue Catalog<a class="headerlink" href="#glue-catalog"
title="Permanent link">¶</a></h3>
<p>Iceberg enables the use of <a href="https://aws.amazon.com/glue">AWS
Glue</a> as the <code>Catalog</code> implementation.
When used, an Iceberg namespace is stored as a <a
href="https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-databases.html">Glue
Database</a>,
an Iceberg table is stored as a <a
href="https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-tables.html">Glue
Table</a>,
@@ -569,19 +582,19 @@ and every Iceberg table version is stored as a <a
href="https://docs.aws.amazon.
You can start using Glue catalog by specifying the <code>catalog-impl</code>
as <code>org.apache.iceberg.aws.glue.GlueCatalog</code>,
just like what is shown in the <a href="#enabling-aws-integration">enabling
AWS integration</a> section above.
More details about loading the catalog can be found in individual engine
pages, such as <a
href="../spark-configuration/#loading-a-custom-catalog">Spark</a> and <a
href="../flink/#creating-catalogs-and-using-catalogs">Flink</a>.</p>
-<h3 id="glue-catalog-id">Glue Catalog ID<a class="headerlink"
href="#glue-catalog-id" title="Permanent link">¶</a></h3>
+<h4 id="glue-catalog-id">Glue Catalog ID<a class="headerlink"
href="#glue-catalog-id" title="Permanent link">¶</a></h4>
<p>There is a unique Glue metastore in each AWS account and each AWS region.
By default, <code>GlueCatalog</code> chooses the Glue metastore to use based
on the user’s default AWS client credential and region setup.
You can specify the Glue catalog ID through <code>glue.id</code> catalog
property to point to a Glue catalog in a different AWS account.
The Glue catalog ID is your numeric AWS account ID.
If the Glue catalog is in a different region, you should configure you AWS
client to point to the correct region,
see more details in <a href="#aws-client-customization">AWS client
customization</a>.</p>
-<h3 id="skip-archive">Skip Archive<a class="headerlink" href="#skip-archive"
title="Permanent link">¶</a></h3>
+<h4 id="skip-archive">Skip Archive<a class="headerlink" href="#skip-archive"
title="Permanent link">¶</a></h4>
<p>By default, Glue stores all the table versions created and user can
rollback a table to any historical version if needed.
However, if you are streaming data to Iceberg, this will easily create a lot
of Glue table versions.
Therefore, it is recommended to turn off the archive feature in Glue by
setting <code>glue.skip-archive</code> to <code>true</code>.
For more details, please read <a
href="https://docs.aws.amazon.com/general/latest/gr/glue.html">Glue Quotas</a>
and the <a
href="https://docs.aws.amazon.com/glue/latest/webapi/API_UpdateTable.html">UpdateTable
API</a>.</p>
-<h3 id="dynamodb-for-commit-locking">DynamoDB for Commit Locking<a
class="headerlink" href="#dynamodb-for-commit-locking" title="Permanent
link">¶</a></h3>
+<h4 id="dynamodb-for-commit-locking">DynamoDB for Commit Locking<a
class="headerlink" href="#dynamodb-for-commit-locking" title="Permanent
link">¶</a></h4>
<p>Glue does not have a strong guarantee over concurrent updates to a table.
Although it throws <code>ConcurrentModificationException</code> when detecting
two processes updating a table at the same time,
there is no guarantee that one update would not clobber the other update.
@@ -594,12 +607,12 @@ Therefore, <a
href="https://aws.amazon.com/dynamodb">DynamoDB</a> can be used fo
</ol>
<p>Other lock related catalog properties can also be used to adjust locking
behaviors such as heartbeat interval.
For more details, please refer to <a
href="../configuration/#lock-catalog-properties">Lock catalog properties</a>.
</p>
-<h3 id="warehouse-location">Warehouse Location<a class="headerlink"
href="#warehouse-location" title="Permanent link">¶</a></h3>
+<h4 id="warehouse-location">Warehouse Location<a class="headerlink"
href="#warehouse-location" title="Permanent link">¶</a></h4>
<p>Similar to all other catalog implementations, <code>warehouse</code> is a
required catalog property to determine the root path of the data warehouse in
storage.
By default, Glue only allows a warehouse location in S3 because of the use of
<code>S3FileIO</code>.
To store data in a different local or cloud store, Glue catalog can switch to
use <code>HadoopFileIO</code> or any custom FileIO by setting the
<code>io-impl</code> catalog property.
Details about this feature can be found in the <a
href="../custom-catalog/#custom-file-io-implementation">custom FileIO</a>
section.</p>
-<h3 id="table-location">Table Location<a class="headerlink"
href="#table-location" title="Permanent link">¶</a></h3>
+<h4 id="table-location">Table Location<a class="headerlink"
href="#table-location" title="Permanent link">¶</a></h4>
<p>By default, the root location for a table <code>my_table</code> of
namespace <code>my_ns</code> is at
<code>my-warehouse-location/my-ns.db/my-table</code>.
This default root location can be changed at both namespace and table
level.</p>
<p>To use a different path prefix for all tables under a namespace, use AWS
console or any AWS Glue client SDK you like to update the
<code>locationUri</code> attribute of the corresponding Glue database.
@@ -625,6 +638,100 @@ USING iceberg
LOCATION 's3://my-special-table-bucket'
PARTITIONED BY (category);
</code></pre>
+<h3 id="dynamodb-catalog">DynamoDB Catalog<a class="headerlink"
href="#dynamodb-catalog" title="Permanent link">¶</a></h3>
+<p>Iceberg supports using a <a
href="https://aws.amazon.com/dynamodb">DynamoDB</a> table to record and manage
database and table information.</p>
+<h4 id="configurations">Configurations<a class="headerlink"
href="#configurations" title="Permanent link">¶</a></h4>
+<p>The DynamoDB catalog supports the following configurations:</p>
+<table>
+<thead>
+<tr>
+<th>Property</th>
+<th>Default</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>dynamodb.table-name</td>
+<td>iceberg</td>
+<td>name of the DynamoDB table used by DynamoDbCatalog</td>
+</tr>
+</tbody>
+</table>
+<h4 id="internal-table-design">Internal Table Design<a class="headerlink"
href="#internal-table-design" title="Permanent link">¶</a></h4>
+<p>The DynamoDB table is designed with the following columns:</p>
+<table>
+<thead>
+<tr>
+<th>Column</th>
+<th>Key</th>
+<th>Type</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>identifier</td>
+<td>partition key</td>
+<td>string</td>
+<td>table identifier such as <code>db1.table1</code>, or string
<code>NAMESPACE</code> for namespaces</td>
+</tr>
+<tr>
+<td>namespace</td>
+<td>sort key</td>
+<td>string</td>
+<td>namespace name. A <a
href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSI.html">global
secondary index (GSI)</a> is created with namespace as partition key,
identifier as sort key, no other projected columns</td>
+</tr>
+<tr>
+<td>v</td>
+<td></td>
+<td>string</td>
+<td>row version, used for optimistic locking</td>
+</tr>
+<tr>
+<td>updated_at</td>
+<td></td>
+<td>number</td>
+<td>timestamp (millis) of the last update</td>
+</tr>
+<tr>
+<td>created_at</td>
+<td></td>
+<td>number</td>
+<td>timestamp (millis) of the table creation</td>
+</tr>
+<tr>
+<td>p.<property_key></td>
+<td></td>
+<td>string</td>
+<td>Iceberg-defined table properties including <code>table_type</code>,
<code>metadata_location</code> and <code>previous_metadata_location</code> or
namespace properties</td>
+</tr>
+</tbody>
+</table>
+<p>This design has the following benefits:</p>
+<ol>
+<li>it avoids potential <a
href="https://aws.amazon.com/premiumsupport/knowledge-center/dynamodb-table-throttled/">hot
partition issue</a> if there are heavy write traffic to the tables within the
same namespace, because the partition key is at the table level</li>
+<li>namespace operations are clustered in a single partition to avoid
affecting table commit operations</li>
+<li>a sort key to partition key reverse GSI is used for list table operation,
and all other operations are single row ops or single partition query. No full
table scan is needed for any operation in the catalog.</li>
+<li>a string UUID version field <code>v</code> is used instead of
<code>updated_at</code> to avoid 2 processes committing at the same
millisecond</li>
+<li>multi-row transaction is used for <code>catalog.renameTable</code> to
ensure idempotency</li>
+<li>properties are flattened as top level columns so that user can add custom
GSI on any property field to customize the catalog. For example, users can
store owner information as table property <code>owner</code>, and search tables
by owner by adding a GSI on the <code>p.owner</code> column.</li>
+</ol>
+<h3 id="rds-jdbc-catalog">RDS JDBC Catalog<a class="headerlink"
href="#rds-jdbc-catalog" title="Permanent link">¶</a></h3>
+<p>Iceberg also supports JDBC catalog which uses a table in a relational
database to manage Iceberg tables.
+You can configure to use JDBC catalog with relational database services like
<a href="https://aws.amazon.com/rds">AWS RDS</a>.
+Read <a href="../jdbc/#jdbc-catalog">the JDBC integration page</a> for guides
and examples about using the JDBC catalog.
+Read <a
href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.Connecting.Java.html">this
AWS documentation</a> for more details about configuring JDBC catalog with IAM
authentication. </p>
+<h3 id="which-catalog-to-choose">Which catalog to choose?<a class="headerlink"
href="#which-catalog-to-choose" title="Permanent link">¶</a></h3>
+<p>With all the available options, we offer the following guidance when
choosing the right catalog to use for your application:</p>
+<ol>
+<li>if your organization has an existing Glue metastore or plans to use the
AWS analytics ecosystem including Glue, <a
href="https://aws.amazon.com/athena">Athena</a>, <a
href="https://aws.amazon.com/emr">EMR</a>, <a
href="https://aws.amazon.com/redshift">Redshift</a> and <a
href="https://aws.amazon.com/lake-formation">LakeFormation</a>, Glue catalog
provides the easiest integration.</li>
+<li>if your application requires frequent updates to table or high read and
write throughput (e.g. streaming write), DynamoDB catalog provides the best
performance through optimistic locking.</li>
+<li>if you would like to enforce access control for tables in a catalog, Glue
tables can be managed as an <a
href="https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsglue.html">IAM
resource</a>, whereas DynamoDB catalog tables can only be managed through <a
href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/specifying-conditions.html">item-level
permission</a> which is much more complicated.</li>
+<li>if you would like to query tables based on table property information
without the need to scan the entire catalog, DynamoDB catalog allows you to
build secondary indexes for any arbitrary property field and provide efficient
query performance.</li>
+<li>if you would like to have the benefit of DynamoDB catalog while also
connect to Glue, you can enable <a
href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Streams.Lambda.Tutorial.html">DynamoDB
stream with Lambda trigger</a> to asynchronously update your Glue metastore
with table information in the DynamoDB catalog. </li>
+<li>if your organization already maintains an existing relational database in
RDS or uses <a href="https://aws.amazon.com/rds/aurora/serverless/">serverless
Aurora</a> to manage tables, JDBC catalog provides the easiest integration.</li>
+</ol>
<h2 id="s3-fileio">S3 FileIO<a class="headerlink" href="#s3-fileio"
title="Permanent link">¶</a></h2>
<p>Iceberg allows users to write data to S3 through <code>S3FileIO</code>.
<code>GlueCatalog</code> by default uses this <code>FileIO</code>, and other
catalogs can load this <code>FileIO</code> using the <code>io-impl</code>
catalog property.</p>
diff --git a/benchmarks/index.html b/benchmarks/index.html
index 9a49cf4..631e111 100644
--- a/benchmarks/index.html
+++ b/benchmarks/index.html
@@ -110,6 +110,12 @@
</li>
+
+<li >
+ <a href="../security/">Security</a>
+</li>
+
+
</ul>
</li>
@@ -257,6 +263,12 @@
</li>
+
+<li >
+ <a href="../jdbc/">JDBC</a>
+</li>
+
+
</ul>
</li>
diff --git a/blogs/index.html b/blogs/index.html
index 7029b37..33c184d 100644
--- a/blogs/index.html
+++ b/blogs/index.html
@@ -110,6 +110,12 @@
</li>
+
+<li >
+ <a href="../security/">Security</a>
+</li>
+
+
</ul>
</li>
@@ -257,6 +263,12 @@
</li>
+
+<li >
+ <a href="../jdbc/">JDBC</a>
+</li>
+
+
</ul>
</li>
@@ -402,6 +414,8 @@
<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-blogs">Iceberg
Blogs</a></li>
+ <li class="second-level"><a
href="#apache-iceberg-an-architectural-look-under-the-covers">Apache Iceberg:
An Architectural Look Under the Covers</a></li>
+
<li class="second-level"><a
href="#migrating-to-apache-iceberg-at-adobe-experience-platform">Migrating to
Apache Iceberg at Adobe Experience Platform</a></li>
<li class="second-level"><a
href="#a-short-introduction-to-apache-iceberg">A Short Introduction to Apache
Iceberg</a></li>
@@ -441,6 +455,9 @@
<h2 id="iceberg-blogs">Iceberg Blogs<a class="headerlink"
href="#iceberg-blogs" title="Permanent link">¶</a></h2>
<p>Here is a list of company blogs that talk about Iceberg. The blogs are
ordered from most recent to oldest.</p>
+<h3 id="apache-iceberg-an-architectural-look-under-the-covers"><a
href="https://www.dremio.com/apache-iceberg-an-architectural-look-under-the-covers/">Apache
Iceberg: An Architectural Look Under the Covers</a><a class="headerlink"
href="#apache-iceberg-an-architectural-look-under-the-covers" title="Permanent
link">¶</a></h3>
+<p><strong>Date</strong>: July 6th, 2021, <strong>Company</strong>: Dremio</p>
+<p><strong>Author</strong>: <a
href="https://www.linkedin.com/in/jasonhhughes/">Jason Hughes</a></p>
<h3 id="migrating-to-apache-iceberg-at-adobe-experience-platform"><a
href="https://medium.com/adobetech/migrating-to-apache-iceberg-at-adobe-experience-platform-40fa80f8b8de">Migrating
to Apache Iceberg at Adobe Experience Platform</a><a class="headerlink"
href="#migrating-to-apache-iceberg-at-adobe-experience-platform"
title="Permanent link">¶</a></h3>
<p><strong>Date</strong>: Jun 17th, 2021, <strong>Company</strong>: Adobe</p>
<p><strong>Author</strong>: <a
href="https://www.linkedin.com/in/rominparekh/">Romin Parekh</a>, <a
href="https://www.linkedin.com/in/miao-wang-0406a74/">Miao Wang</a>, <a
href="https://www.linkedin.com/in/shonesadler/">Shone Sadler</a></p>
diff --git a/community/index.html b/community/index.html
index d69138e..0de5c5a 100644
--- a/community/index.html
+++ b/community/index.html
@@ -110,6 +110,12 @@
</li>
+
+<li >
+ <a href="../security/">Security</a>
+</li>
+
+
</ul>
</li>
@@ -257,6 +263,12 @@
</li>
+
+<li >
+ <a href="../jdbc/">JDBC</a>
+</li>
+
+
</ul>
</li>
@@ -489,7 +501,7 @@ let us know by sending an email to <a
href="mailto&
<h2 id="setting-up-ide-and-code-style">Setting up IDE and Code Style<a
class="headerlink" href="#setting-up-ide-and-code-style" title="Permanent
link">¶</a></h2>
<h3 id="configuring-code-formatter-for-intellij-idea">Configuring Code
Formatter for IntelliJ IDEA<a class="headerlink"
href="#configuring-code-formatter-for-intellij-idea" title="Permanent
link">¶</a></h3>
<p>In the <strong>Settings/Preferences</strong> dialog go to <strong>Editor
> Code Style > Java</strong>. Click on the gear wheel and select
<strong>Import Scheme</strong> to import IntelliJ IDEA XML code style settings.
-Point to <a
href="../../.baseline/idea/intellij-java-palantir-style.xml">intellij-java-palantir-style.xml</a>
and hit <strong>OK</strong> (you might need to enable <strong>Show Hidden
Files and Directories</strong> in the dialog). The code itself can then be
formatted via <strong>Code > Reformat Code</strong>.</p>
+Point to <a
href="https://github.com/apache/iceberg/blob/master/.baseline/idea/intellij-java-palantir-style.xml">intellij-java-palantir-style.xml</a>
and hit <strong>OK</strong> (you might need to enable <strong>Show Hidden
Files and Directories</strong> in the dialog). The code itself can then be
formatted via <strong>Code > Reformat Code</strong>.</p>
<p>See also the IntelliJ <a
href="https://www.jetbrains.com/help/idea/copying-code-style-settings.html">Code
Style docs</a> and <a
href="https://www.jetbrains.com/help/idea/reformat-and-rearrange-code.html">Reformat
Code docs</a> for additional details.</p>
<h2 id="running-benchmarks">Running Benchmarks<a class="headerlink"
href="#running-benchmarks" title="Permanent link">¶</a></h2>
<p>Some PRs/changesets might require running benchmarks to determine whether
they are affecting the baseline performance. Currently there is
diff --git a/configuration/index.html b/configuration/index.html
index 4b8ba88..8e99fca 100644
--- a/configuration/index.html
+++ b/configuration/index.html
@@ -110,6 +110,12 @@
</li>
+
+<li >
+ <a href="../security/">Security</a>
+</li>
+
+
</ul>
</li>
@@ -257,6 +263,12 @@
</li>
+
+<li >
+ <a href="../jdbc/">JDBC</a>
+</li>
+
+
</ul>
</li>
@@ -382,7 +394,7 @@
<ul class="nav navbar-nav navbar-right">
<li >
- <a rel="prev" href="../how-to-release/">
+ <a rel="prev" href="../security/">
<i class="fas fa-arrow-left"></i> Previous
</a>
</li>
diff --git a/custom-catalog/index.html b/custom-catalog/index.html
index 0a4ca14..a56af74 100644
--- a/custom-catalog/index.html
+++ b/custom-catalog/index.html
@@ -110,6 +110,12 @@
</li>
+
+<li >
+ <a href="../security/">Security</a>
+</li>
+
+
</ul>
</li>
@@ -257,6 +263,12 @@
</li>
+
+<li >
+ <a href="../jdbc/">JDBC</a>
+</li>
+
+
</ul>
</li>
diff --git a/evolution/index.html b/evolution/index.html
index 40ac6fe..e3a104b 100644
--- a/evolution/index.html
+++ b/evolution/index.html
@@ -110,6 +110,12 @@
</li>
+
+<li >
+ <a href="../security/">Security</a>
+</li>
+
+
</ul>
</li>
@@ -257,6 +263,12 @@
</li>
+
+<li >
+ <a href="../jdbc/">JDBC</a>
+</li>
+
+
</ul>
</li>
diff --git a/flink/index.html b/flink/index.html
index a1a4a34..5bfccdc 100644
--- a/flink/index.html
+++ b/flink/index.html
@@ -110,6 +110,12 @@
</li>
+
+<li >
+ <a href="../security/">Security</a>
+</li>
+
+
</ul>
</li>
@@ -257,6 +263,12 @@
</li>
+
+<li >
+ <a href="../jdbc/">JDBC</a>
+</li>
+
+
</ul>
</li>
diff --git a/getting-started/index.html b/getting-started/index.html
index ff7b304..e7ed821 100644
--- a/getting-started/index.html
+++ b/getting-started/index.html
@@ -110,6 +110,12 @@
</li>
+
+<li >
+ <a href="../security/">Security</a>
+</li>
+
+
</ul>
</li>
@@ -257,6 +263,12 @@
</li>
+
+<li >
+ <a href="../jdbc/">JDBC</a>
+</li>
+
+
</ul>
</li>
diff --git a/hive/index.html b/hive/index.html
index a6db7c1..709fac4 100644
--- a/hive/index.html
+++ b/hive/index.html
@@ -110,6 +110,12 @@
</li>
+
+<li >
+ <a href="../security/">Security</a>
+</li>
+
+
</ul>
</li>
@@ -257,6 +263,12 @@
</li>
+
+<li >
+ <a href="../jdbc/">JDBC</a>
+</li>
+
+
</ul>
</li>
diff --git a/how-to-release/index.html b/how-to-release/index.html
index 1c3a083..55ea1f5 100644
--- a/how-to-release/index.html
+++ b/how-to-release/index.html
@@ -110,6 +110,12 @@
</li>
+
+<li >
+ <a href="../security/">Security</a>
+</li>
+
+
</ul>
</li>
@@ -257,6 +263,12 @@
</li>
+
+<li >
+ <a href="../jdbc/">JDBC</a>
+</li>
+
+
</ul>
</li>
@@ -387,7 +399,7 @@
</a>
</li>
<li >
- <a rel="next" href="../configuration/">
+ <a rel="next" href="../security/">
Next <i class="fas fa-arrow-right"></i>
</a>
</li>
diff --git a/index.html b/index.html
index 2b041c5..4446975 100644
--- a/index.html
+++ b/index.html
@@ -110,6 +110,12 @@
</li>
+
+<li >
+ <a href="security/">Security</a>
+</li>
+
+
</ul>
</li>
@@ -257,6 +263,12 @@
</li>
+
+<li >
+ <a href="jdbc/">JDBC</a>
+</li>
+
+
</ul>
</li>
diff --git a/java-api-quickstart/index.html b/java-api-quickstart/index.html
index 7f841d1..fb9d52f 100644
--- a/java-api-quickstart/index.html
+++ b/java-api-quickstart/index.html
@@ -110,6 +110,12 @@
</li>
+
+<li >
+ <a href="../security/">Security</a>
+</li>
+
+
</ul>
</li>
@@ -257,6 +263,12 @@
</li>
+
+<li >
+ <a href="../jdbc/">JDBC</a>
+</li>
+
+
</ul>
</li>
diff --git a/schemas/index.html b/jdbc/index.html
similarity index 78%
copy from schemas/index.html
copy to jdbc/index.html
index 9c5699e..b183334 100644
--- a/schemas/index.html
+++ b/jdbc/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/schemas/">
+ <link rel="canonical" href="https://iceberg.apache.org/jdbc/">
<link rel="shortcut icon" href="../img/favicon.ico">
- <title>Schemas - Apache Iceberg</title>
+ <title>JDBC - Apache Iceberg</title>
<link rel="stylesheet"
href="https://use.fontawesome.com/releases/v5.12.0/css/all.css">
@@ -110,12 +110,18 @@
</li>
+
+<li >
+ <a href="../security/">Security</a>
+</li>
+
+
</ul>
</li>
- <li class="dropdown active">
+ <li class="dropdown">
<a href="#" class="dropdown-toggle"
data-toggle="dropdown">Tables <b class="caret"></b></a>
<ul class="dropdown-menu">
@@ -126,8 +132,8 @@
-<li class="active">
- <a href="./">Schemas</a>
+<li >
+ <a href="../schemas/">Schemas</a>
</li>
@@ -241,7 +247,7 @@
- <li class="dropdown">
+ <li class="dropdown active">
<a href="#" class="dropdown-toggle"
data-toggle="dropdown">Integrations <b class="caret"></b></a>
<ul class="dropdown-menu">
@@ -257,6 +263,12 @@
</li>
+
+<li class="active">
+ <a href="./">JDBC</a>
+</li>
+
+
</ul>
</li>
@@ -382,12 +394,12 @@
<ul class="nav navbar-nav navbar-right">
<li >
- <a rel="prev" href="../configuration/">
+ <a rel="prev" href="../nessie/">
<i class="fas fa-arrow-left"></i> Previous
</a>
</li>
<li >
- <a rel="next" href="../partitioning/">
+ <a rel="next" href="../api/">
Next <i class="fas fa-arrow-right"></i>
</a>
</li>
@@ -401,7 +413,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="#schemas">Schemas</a></li>
+ <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>
</ul>
</div></div>
<div class="col-md-9" role="main">
@@ -423,100 +439,59 @@
- limitations under the License.
-->
-<h1 id="schemas">Schemas<a class="headerlink" href="#schemas" title="Permanent
link">¶</a></h1>
-<p>Iceberg tables support the following types:</p>
+<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>Type</th>
+<th>Property</th>
+<th>Default</th>
<th>Description</th>
-<th>Notes</th>
</tr>
</thead>
<tbody>
<tr>
-<td><strong><code>boolean</code></strong></td>
-<td>True or false</td>
-<td></td>
-</tr>
-<tr>
-<td><strong><code>int</code></strong></td>
-<td>32-bit signed integers</td>
-<td>Can promote to <code>long</code></td>
-</tr>
-<tr>
-<td><strong><code>long</code></strong></td>
-<td>64-bit signed integers</td>
-<td></td>
-</tr>
-<tr>
-<td><strong><code>float</code></strong></td>
-<td><a href="https://en.wikipedia.org/wiki/IEEE_754">32-bit IEEE 754</a>
floating point</td>
-<td>Can promote to <code>double</code></td>
-</tr>
-<tr>
-<td><strong><code>double</code></strong></td>
-<td><a href="https://en.wikipedia.org/wiki/IEEE_754">64-bit IEEE 754</a>
floating point</td>
-<td></td>
-</tr>
-<tr>
-<td><strong><code>decimal(P,S)</code></strong></td>
-<td>Fixed-point decimal; precision P, scale S</td>
-<td>Scale is fixed and precision must be 38 or less</td>
-</tr>
-<tr>
-<td><strong><code>date</code></strong></td>
-<td>Calendar date without timezone or time</td>
-<td></td>
-</tr>
-<tr>
-<td><strong><code>time</code></strong></td>
-<td>Time of day without date, timezone</td>
-<td>Stored as microseconds</td>
-</tr>
-<tr>
-<td><strong><code>timestamp</code></strong></td>
-<td>Timestamp without timezone</td>
-<td>Stored as microseconds</td>
-</tr>
-<tr>
-<td><strong><code>timestamptz</code></strong></td>
-<td>Timestamp with timezone</td>
-<td>Stored as microseconds</td>
-</tr>
-<tr>
-<td><strong><code>string</code></strong></td>
-<td>Arbitrary-length character sequences</td>
-<td>Encoded with UTF-8</td>
-</tr>
-<tr>
-<td><strong><code>fixed(L)</code></strong></td>
-<td>Fixed-length byte array of length L</td>
-<td></td>
-</tr>
-<tr>
-<td><strong><code>binary</code></strong></td>
-<td>Arbitrary-length byte array</td>
-<td></td>
-</tr>
-<tr>
-<td><strong><code>struct<...></code></strong></td>
-<td>A record with named fields of any data type</td>
-<td></td>
-</tr>
-<tr>
-<td><strong><code>list<E></code></strong></td>
-<td>A list with elements of any data type</td>
+<td>uri</td>
<td></td>
+<td>the JDBC connection string</td>
</tr>
<tr>
-<td><strong><code>map<K, V></code></strong></td>
-<td>A map with keys and values of any data type</td>
+<td>jdbc.<property_key></td>
<td></td>
+<td>any key value pairs to configure the JDBC connection</td>
</tr>
</tbody>
</table>
-<p>Iceberg tracks each field in a table schema using an ID that is never
reused in a table. See <a href="../evolution/#correctness">correctness
guarantees</a> for more information.</p></div>
+<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.11.1 \
+ --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>
</div>
diff --git a/maintenance/index.html b/maintenance/index.html
index 67677c0..3d592ec 100644
--- a/maintenance/index.html
+++ b/maintenance/index.html
@@ -110,6 +110,12 @@
</li>
+
+<li >
+ <a href="../security/">Security</a>
+</li>
+
+
</ul>
</li>
@@ -257,6 +263,12 @@
</li>
+
+<li >
+ <a href="../jdbc/">JDBC</a>
+</li>
+
+
</ul>
</li>
diff --git a/nessie/index.html b/nessie/index.html
index 7e10d19..88c53c3 100644
--- a/nessie/index.html
+++ b/nessie/index.html
@@ -110,6 +110,12 @@
</li>
+
+<li >
+ <a href="../security/">Security</a>
+</li>
+
+
</ul>
</li>
@@ -257,6 +263,12 @@
</li>
+
+<li >
+ <a href="../jdbc/">JDBC</a>
+</li>
+
+
</ul>
</li>
@@ -387,7 +399,7 @@
</a>
</li>
<li >
- <a rel="next" href="../api/">
+ <a rel="next" href="../jdbc/">
Next <i class="fas fa-arrow-right"></i>
</a>
</li>
diff --git a/partitioning/index.html b/partitioning/index.html
index 90f6551..a4ee6da 100644
--- a/partitioning/index.html
+++ b/partitioning/index.html
@@ -110,6 +110,12 @@
</li>
+
+<li >
+ <a href="../security/">Security</a>
+</li>
+
+
</ul>
</li>
@@ -257,6 +263,12 @@
</li>
+
+<li >
+ <a href="../jdbc/">JDBC</a>
+</li>
+
+
</ul>
</li>
diff --git a/performance/index.html b/performance/index.html
index b1a109f..1f0d602 100644
--- a/performance/index.html
+++ b/performance/index.html
@@ -110,6 +110,12 @@
</li>
+
+<li >
+ <a href="../security/">Security</a>
+</li>
+
+
</ul>
</li>
@@ -257,6 +263,12 @@
</li>
+
+<li >
+ <a href="../jdbc/">JDBC</a>
+</li>
+
+
</ul>
</li>
diff --git a/python-api-intro/index.html b/python-api-intro/index.html
index 0af7259..83ae48e 100644
--- a/python-api-intro/index.html
+++ b/python-api-intro/index.html
@@ -110,6 +110,12 @@
</li>
+
+<li >
+ <a href="../security/">Security</a>
+</li>
+
+
</ul>
</li>
@@ -257,6 +263,12 @@
</li>
+
+<li >
+ <a href="../jdbc/">JDBC</a>
+</li>
+
+
</ul>
</li>
diff --git a/python-feature-support/index.html
b/python-feature-support/index.html
index 23ec6fd..f65f8bf 100644
--- a/python-feature-support/index.html
+++ b/python-feature-support/index.html
@@ -110,6 +110,12 @@
</li>
+
+<li >
+ <a href="../security/">Security</a>
+</li>
+
+
</ul>
</li>
@@ -257,6 +263,12 @@
</li>
+
+<li >
+ <a href="../jdbc/">JDBC</a>
+</li>
+
+
</ul>
</li>
diff --git a/python-quickstart/index.html b/python-quickstart/index.html
index 34cc855..786ae0e 100644
--- a/python-quickstart/index.html
+++ b/python-quickstart/index.html
@@ -110,6 +110,12 @@
</li>
+
+<li >
+ <a href="../security/">Security</a>
+</li>
+
+
</ul>
</li>
@@ -257,6 +263,12 @@
</li>
+
+<li >
+ <a href="../jdbc/">JDBC</a>
+</li>
+
+
</ul>
</li>
diff --git a/releases/index.html b/releases/index.html
index 22494b7..b27b6e9 100644
--- a/releases/index.html
+++ b/releases/index.html
@@ -110,6 +110,12 @@
</li>
+
+<li >
+ <a href="../security/">Security</a>
+</li>
+
+
</ul>
</li>
@@ -257,6 +263,12 @@
</li>
+
+<li >
+ <a href="../jdbc/">JDBC</a>
+</li>
+
+
</ul>
</li>
diff --git a/reliability/index.html b/reliability/index.html
index 0a1bd0f..f55c7d9 100644
--- a/reliability/index.html
+++ b/reliability/index.html
@@ -110,6 +110,12 @@
</li>
+
+<li >
+ <a href="../security/">Security</a>
+</li>
+
+
</ul>
</li>
@@ -257,6 +263,12 @@
</li>
+
+<li >
+ <a href="../jdbc/">JDBC</a>
+</li>
+
+
</ul>
</li>
diff --git a/schemas/index.html b/schemas/index.html
index 9c5699e..f5ac7a3 100644
--- a/schemas/index.html
+++ b/schemas/index.html
@@ -110,6 +110,12 @@
</li>
+
+<li >
+ <a href="../security/">Security</a>
+</li>
+
+
</ul>
</li>
@@ -257,6 +263,12 @@
</li>
+
+<li >
+ <a href="../jdbc/">JDBC</a>
+</li>
+
+
</ul>
</li>
diff --git a/trademarks/index.html b/security/index.html
similarity index 89%
copy from trademarks/index.html
copy to security/index.html
index 3de592f..f79f417 100644
--- a/trademarks/index.html
+++ b/security/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/trademarks/">
+ <link rel="canonical" href="https://iceberg.apache.org/security/">
<link rel="shortcut icon" href="../img/favicon.ico">
- <title>Trademarks - Apache Iceberg</title>
+ <title>Security - Apache Iceberg</title>
<link rel="stylesheet"
href="https://use.fontawesome.com/releases/v5.12.0/css/all.css">
@@ -99,8 +99,8 @@
-<li class="active">
- <a href="./">Trademarks</a>
+<li >
+ <a href="../trademarks/">Trademarks</a>
</li>
@@ -110,6 +110,12 @@
</li>
+
+<li class="active">
+ <a href="./">Security</a>
+</li>
+
+
</ul>
</li>
@@ -257,6 +263,12 @@
</li>
+
+<li >
+ <a href="../jdbc/">JDBC</a>
+</li>
+
+
</ul>
</li>
@@ -382,12 +394,12 @@
<ul class="nav navbar-nav navbar-right">
<li >
- <a rel="prev" href="../blogs/">
+ <a rel="prev" href="../how-to-release/">
<i class="fas fa-arrow-left"></i> Previous
</a>
</li>
<li >
- <a rel="next" href="../how-to-release/">
+ <a rel="next" href="../configuration/">
Next <i class="fas fa-arrow-right"></i>
</a>
</li>
@@ -401,7 +413,7 @@
<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="#trademarks">Trademarks</a></li>
+ <li class="first-level active"><a
href="#reporting-security-issues">Reporting Security Issues</a></li>
</ul>
</div></div>
<div class="col-md-9" role="main">
@@ -423,8 +435,12 @@
- limitations under the License.
-->
-<h2 id="trademarks">Trademarks<a class="headerlink" href="#trademarks"
title="Permanent link">¶</a></h2>
-<p>Apache Iceberg, Iceberg, Apache, the Apache feather logo, and the Apache
Iceberg project logo are either registered trademarks or trademarks of The
Apache Software Foundation in the United States and other countries.</p></div>
+<h1 id="reporting-security-issues">Reporting Security Issues<a
class="headerlink" href="#reporting-security-issues" title="Permanent
link">¶</a></h1>
+<p>The Apache Iceberg Project uses the standard process outlined by the <a
href="https://www.apache.org/security/">Apache
+Security Team</a> for reporting vulnerabilities.
+Note that vulnerabilities should not be publicly disclosed until the project
has
+responded.</p>
+<p>To report a possible security vulnerability, please email <a
href="mailto:a href="mailto:security@iceberg.apache.org"">a href="mailto:security@&
[...]
</div>
diff --git a/sitemap.xml b/sitemap.xml
index 8706633..bd74bdc 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -2,182 +2,192 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://iceberg.apache.org/</loc>
- <lastmod>2021-07-12</lastmod>
+ <lastmod>2021-07-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/api/</loc>
- <lastmod>2021-07-12</lastmod>
+ <lastmod>2021-07-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/aws/</loc>
- <lastmod>2021-07-12</lastmod>
+ <lastmod>2021-07-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/benchmarks/</loc>
- <lastmod>2021-07-12</lastmod>
+ <lastmod>2021-07-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/blogs/</loc>
- <lastmod>2021-07-12</lastmod>
+ <lastmod>2021-07-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/community/</loc>
- <lastmod>2021-07-12</lastmod>
+ <lastmod>2021-07-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/configuration/</loc>
- <lastmod>2021-07-12</lastmod>
+ <lastmod>2021-07-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/custom-catalog/</loc>
- <lastmod>2021-07-12</lastmod>
+ <lastmod>2021-07-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/evolution/</loc>
- <lastmod>2021-07-12</lastmod>
+ <lastmod>2021-07-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/flink/</loc>
- <lastmod>2021-07-12</lastmod>
+ <lastmod>2021-07-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/getting-started/</loc>
- <lastmod>2021-07-12</lastmod>
+ <lastmod>2021-07-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/hive/</loc>
- <lastmod>2021-07-12</lastmod>
+ <lastmod>2021-07-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/how-to-release/</loc>
- <lastmod>2021-07-12</lastmod>
+ <lastmod>2021-07-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/java-api-quickstart/</loc>
- <lastmod>2021-07-12</lastmod>
+ <lastmod>2021-07-27</lastmod>
+ <changefreq>daily</changefreq>
+ </url>
+ <url>
+ <loc>https://iceberg.apache.org/jdbc/</loc>
+ <lastmod>2021-07-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/maintenance/</loc>
- <lastmod>2021-07-12</lastmod>
+ <lastmod>2021-07-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/nessie/</loc>
- <lastmod>2021-07-12</lastmod>
+ <lastmod>2021-07-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/partitioning/</loc>
- <lastmod>2021-07-12</lastmod>
+ <lastmod>2021-07-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/performance/</loc>
- <lastmod>2021-07-12</lastmod>
+ <lastmod>2021-07-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/python-api-intro/</loc>
- <lastmod>2021-07-12</lastmod>
+ <lastmod>2021-07-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/python-feature-support/</loc>
- <lastmod>2021-07-12</lastmod>
+ <lastmod>2021-07-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/python-quickstart/</loc>
- <lastmod>2021-07-12</lastmod>
+ <lastmod>2021-07-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/releases/</loc>
- <lastmod>2021-07-12</lastmod>
+ <lastmod>2021-07-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/reliability/</loc>
- <lastmod>2021-07-12</lastmod>
+ <lastmod>2021-07-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/schemas/</loc>
- <lastmod>2021-07-12</lastmod>
+ <lastmod>2021-07-27</lastmod>
+ <changefreq>daily</changefreq>
+ </url>
+ <url>
+ <loc>https://iceberg.apache.org/security/</loc>
+ <lastmod>2021-07-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/snapshots/</loc>
- <lastmod>2021-07-12</lastmod>
+ <lastmod>2021-07-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/spark-configuration/</loc>
- <lastmod>2021-07-12</lastmod>
+ <lastmod>2021-07-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/spark-ddl/</loc>
- <lastmod>2021-07-12</lastmod>
+ <lastmod>2021-07-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/spark-procedures/</loc>
- <lastmod>2021-07-12</lastmod>
+ <lastmod>2021-07-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/spark-queries/</loc>
- <lastmod>2021-07-12</lastmod>
+ <lastmod>2021-07-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/spark-structured-streaming/</loc>
- <lastmod>2021-07-12</lastmod>
+ <lastmod>2021-07-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/spark-writes/</loc>
- <lastmod>2021-07-12</lastmod>
+ <lastmod>2021-07-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/spec/</loc>
- <lastmod>2021-07-12</lastmod>
+ <lastmod>2021-07-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/terms/</loc>
- <lastmod>2021-07-12</lastmod>
+ <lastmod>2021-07-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/trademarks/</loc>
- <lastmod>2021-07-12</lastmod>
+ <lastmod>2021-07-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/trino/</loc>
- <lastmod>2021-07-12</lastmod>
+ <lastmod>2021-07-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://iceberg.apache.org/why-iceberg/</loc>
- <lastmod>2021-07-12</lastmod>
+ <lastmod>2021-07-27</lastmod>
<changefreq>daily</changefreq>
</url>
</urlset>
\ No newline at end of file
diff --git a/sitemap.xml.gz b/sitemap.xml.gz
index d8a4130..fd233c0 100644
Binary files a/sitemap.xml.gz and b/sitemap.xml.gz differ
diff --git a/snapshots/index.html b/snapshots/index.html
index 8b976e2..ec4f08e 100644
--- a/snapshots/index.html
+++ b/snapshots/index.html
@@ -110,6 +110,12 @@
</li>
+
+<li >
+ <a href="../security/">Security</a>
+</li>
+
+
</ul>
</li>
@@ -257,6 +263,12 @@
</li>
+
+<li >
+ <a href="../jdbc/">JDBC</a>
+</li>
+
+
</ul>
</li>
diff --git a/spark-configuration/index.html b/spark-configuration/index.html
index 1cf2a0b..bbbfd3c 100644
--- a/spark-configuration/index.html
+++ b/spark-configuration/index.html
@@ -110,6 +110,12 @@
</li>
+
+<li >
+ <a href="../security/">Security</a>
+</li>
+
+
</ul>
</li>
@@ -257,6 +263,12 @@
</li>
+
+<li >
+ <a href="../jdbc/">JDBC</a>
+</li>
+
+
</ul>
</li>
diff --git a/spark-ddl/index.html b/spark-ddl/index.html
index 40bf7a5..8e4a9c6 100644
--- a/spark-ddl/index.html
+++ b/spark-ddl/index.html
@@ -110,6 +110,12 @@
</li>
+
+<li >
+ <a href="../security/">Security</a>
+</li>
+
+
</ul>
</li>
@@ -257,6 +263,12 @@
</li>
+
+<li >
+ <a href="../jdbc/">JDBC</a>
+</li>
+
+
</ul>
</li>
diff --git a/spark-procedures/index.html b/spark-procedures/index.html
index 8febe91..119e578 100644
--- a/spark-procedures/index.html
+++ b/spark-procedures/index.html
@@ -110,6 +110,12 @@
</li>
+
+<li >
+ <a href="../security/">Security</a>
+</li>
+
+
</ul>
</li>
@@ -257,6 +263,12 @@
</li>
+
+<li >
+ <a href="../jdbc/">JDBC</a>
+</li>
+
+
</ul>
</li>
diff --git a/spark-queries/index.html b/spark-queries/index.html
index e598f79..aa9bcd5 100644
--- a/spark-queries/index.html
+++ b/spark-queries/index.html
@@ -110,6 +110,12 @@
</li>
+
+<li >
+ <a href="../security/">Security</a>
+</li>
+
+
</ul>
</li>
@@ -257,6 +263,12 @@
</li>
+
+<li >
+ <a href="../jdbc/">JDBC</a>
+</li>
+
+
</ul>
</li>
diff --git a/spark-structured-streaming/index.html
b/spark-structured-streaming/index.html
index 5105c21..7d2139c 100644
--- a/spark-structured-streaming/index.html
+++ b/spark-structured-streaming/index.html
@@ -110,6 +110,12 @@
</li>
+
+<li >
+ <a href="../security/">Security</a>
+</li>
+
+
</ul>
</li>
@@ -257,6 +263,12 @@
</li>
+
+<li >
+ <a href="../jdbc/">JDBC</a>
+</li>
+
+
</ul>
</li>
diff --git a/spark-writes/index.html b/spark-writes/index.html
index 41ce86b..00cc847 100644
--- a/spark-writes/index.html
+++ b/spark-writes/index.html
@@ -110,6 +110,12 @@
</li>
+
+<li >
+ <a href="../security/">Security</a>
+</li>
+
+
</ul>
</li>
@@ -257,6 +263,12 @@
</li>
+
+<li >
+ <a href="../jdbc/">JDBC</a>
+</li>
+
+
</ul>
</li>
diff --git a/spec/index.html b/spec/index.html
index 23f1b21..cce2ccd 100644
--- a/spec/index.html
+++ b/spec/index.html
@@ -110,6 +110,12 @@
</li>
+
+<li >
+ <a href="../security/">Security</a>
+</li>
+
+
</ul>
</li>
@@ -257,6 +263,12 @@
</li>
+
+<li >
+ <a href="../jdbc/">JDBC</a>
+</li>
+
+
</ul>
</li>
@@ -1109,10 +1121,10 @@
</tr>
<tr>
<td><em>optional</em></td>
-<td></td>
-<td><del><strong><code>111 distinct_counts</code></strong></del></td>
+<td><em>optional</em></td>
+<td><strong><code>111 distinct_counts</code></strong></td>
<td><code>map<123: int, 124: long></code></td>
-<td><strong>Deprecated. Do not write.</strong></td>
+<td>Map from column id to number of distinct values in the column; distinct
counts must be derived using values in the file by counting or using sketches,
but not using methods like merging existing distinct counts</td>
</tr>
<tr>
<td><em>optional</em></td>
@@ -1404,7 +1416,7 @@
</tr>
<tr>
<td><em>optional</em></td>
-<td><em>required</em></td>
+<td><em>optional</em></td>
<td><strong><code>518 contains_nan</code></strong></td>
<td><code>boolean</code></td>
<td>Whether the manifest contains at least one partition with a NaN value for
the field</td>
@@ -2194,12 +2206,12 @@
<tr>
<td><strong><code>fixed(L)</code></strong></td>
<td><code>hashBytes(v)</code></td>
-<td><code>00 01 02 03</code> → <code>188683207</code></td>
+<td><code>00 01 02 03</code> → <code>-188683207</code></td>
</tr>
<tr>
<td><strong><code>binary</code></strong></td>
<td><code>hashBytes(v)</code></td>
-<td><code>00 01 02 03</code> → <code>188683207</code></td>
+<td><code>00 01 02 03</code> → <code>-188683207</code></td>
</tr>
</tbody>
</table>
@@ -2749,10 +2761,6 @@ Hash results are not dependent on decimal scale, which
is part of the type, not
<li><code>deleted_rows_count</code> is now required</li>
</ul>
</li>
-<li>Manifest list <code>field_summary</code>:<ul>
-<li><code>contains_nan</code> is now required</li>
-</ul>
-</li>
<li>Manifest key-value metadata:<ul>
<li><code>schema-id</code> is now required</li>
<li><code>partition-spec-id</code> is now required</li>
@@ -2771,7 +2779,6 @@ Hash results are not dependent on decimal scale, which is
part of the type, not
<li><code>block_size_in_bytes</code> was removed (breaks v1 reader
compatibility)</li>
<li><code>file_ordinal</code> was removed</li>
<li><code>sort_columns</code> was removed</li>
-<li><code>distinct_counts</code> was removed</li>
</ul>
</li>
</ul>
diff --git a/terms/index.html b/terms/index.html
index 0f81110..e4cb53e 100644
--- a/terms/index.html
+++ b/terms/index.html
@@ -110,6 +110,12 @@
</li>
+
+<li >
+ <a href="../security/">Security</a>
+</li>
+
+
</ul>
</li>
@@ -257,6 +263,12 @@
</li>
+
+<li >
+ <a href="../jdbc/">JDBC</a>
+</li>
+
+
</ul>
</li>
diff --git a/trademarks/index.html b/trademarks/index.html
index 3de592f..92f8835 100644
--- a/trademarks/index.html
+++ b/trademarks/index.html
@@ -110,6 +110,12 @@
</li>
+
+<li >
+ <a href="../security/">Security</a>
+</li>
+
+
</ul>
</li>
@@ -257,6 +263,12 @@
</li>
+
+<li >
+ <a href="../jdbc/">JDBC</a>
+</li>
+
+
</ul>
</li>
diff --git a/trino/index.html b/trino/index.html
index b95d537..bf4c51b 100644
--- a/trino/index.html
+++ b/trino/index.html
@@ -110,6 +110,12 @@
</li>
+
+<li >
+ <a href="../security/">Security</a>
+</li>
+
+
</ul>
</li>
@@ -257,6 +263,12 @@
</li>
+
+<li >
+ <a href="../jdbc/">JDBC</a>
+</li>
+
+
</ul>
</li>
diff --git a/why-iceberg/index.html b/why-iceberg/index.html
index d3c91b7..9dbdd36 100644
--- a/why-iceberg/index.html
+++ b/why-iceberg/index.html
@@ -110,6 +110,12 @@
</li>
+
+<li >
+ <a href="../security/">Security</a>
+</li>
+
+
</ul>
</li>
@@ -257,6 +263,12 @@
</li>
+
+<li >
+ <a href="../jdbc/">JDBC</a>
+</li>
+
+
</ul>
</li>