SEATTLE — In a major development for cloud data architectures, Amazon Web Services (AWS) has announced comprehensive support for the Apache Iceberg V3 specification across Amazon S3 Tables. Effective immediately, data engineers and analytics teams operating within AWS environments can create, manage, and scale V3 tables natively. This update brings advanced data types, efficient row-level operations, and built-in data governance features directly to object storage, promising to eliminate historical bottlenecks associated with semi-structured, geospatial, and high-frequency transactional data workloads.
Authored by Daniel Abib, the announcement marks a pivotal milestone for organizations grappling with the exponential growth of analytics datasets. By integrating the cutting-edge capabilities of Apache Iceberg V3—including deletion vectors, row lineage, and a robust suite of new native data types—AWS continues to cement Amazon S3 Tables as a foundational storage layer purpose-built for modern data lakes.
Main Facts: What is Apache Iceberg V3 on S3 Tables?
The integration of Apache Iceberg V3 into Amazon S3 Tables addresses the friction points that organizations routinely encounter when managing petabyte-scale repositories. Iceberg has rapidly established itself as the open standard for large-scale table formats, allowing enterprises to decouple storage from compute while leveraging advanced functionalities like schema evolution, hidden partitioning, and time travel queries.
However, as workloads grew under the V2 specification, technical debt accumulated. Compliance mandates requiring the deletion of specific user records often generated thousands of positional delete files, severely degrading query performance until resource-intensive compaction cycles could run. Similarly, ingestion of semi-structured events—such as JSON strings—required expensive parsing at query time, while geospatial coordinates and nanosecond-precision timestamps had to be laboriously encoded as strings or integers.
The V3 specification solves these challenges by introducing:
- Deletion Vectors: Replacing traditional positional delete files with a streamlined, compact binary format that drastically reduces delete-file overhead.
- Row Lineage: Automatically assigning unique identifiers (
_row_id) and sequence numbers (_last_updated_sequence_number) to track modifications at the individual record level. - Extended Native Data Types: Introducing first-class support for
variant(semi-structured data), nanosecond timestamps,geometry,geography, andunknowndata types.
Amazon S3 Tables fully operationalizes these features by automating underlying maintenance tasks, such as compaction, replication, and Intelligent-Tiering, ensuring that table performance remains optimal even as data volumes swell into the billions of rows.
Chronology: The Evolution to V3
The journey toward Apache Iceberg V3 represents a multi-year collaborative evolution within the open-source community, culminating in enterprise-grade adoption by major cloud providers.
- The Era of V2 Limitations: For years, Apache Iceberg V2 served as the backbone for data lakes globally. While robust, its reliance on positional delete files for updates and deletes introduced significant query-time overhead for high-churn tables. Data teams routinely built custom pipelines or scheduled frequent compaction jobs to mitigate latency spikes.
- The Formulation of the V3 Specification: The Iceberg community developed the V3 specification to tackle these exact operational overheads, focusing on optimized metadata structures, native handling of semi-structured payloads via shredding techniques, and granular row-level tracking.
- AWS Integration and Rollout: Recognizing the immediate enterprise demand, AWS engineered native S3 Tables support for all V3 capabilities. Starting today, the integration is live across all AWS regions where S3 Tables are supported. Users can effortlessly instantiate new V3 tables or execute in-place atomic upgrades of legacy V2 configurations without requiring complex data rewrites.
Supporting Data and Technical Implementation
To understand the tangible impact of the V3 upgrade, consider a typical retail analytics scenario tracking user behavior across web and mobile applications. Incoming telemetry data often arrives with diverse payloads—page views containing URLs and durations, purchases detailing items and monetary amounts, and search queries logging terms and result counts.
Handling Semi-Structured Data with the Variant Type
Under previous specifications, storing mixed event schemas required cumbersome serialization workarounds. With V3, the variant data type stores semi-structured information natively in a columnar format. During ingestion, the engine shreds the variant data into hidden columns and aggregates execution statistics.
CREATE TABLE my_catalog.namespace.clickstream (
event_id bigint,
event_time timestamp,
user_id string,
payload variant
)
USING iceberg
TBLPROPERTIES ('format-version' = '3');
When new events are inserted, data engineers no longer need to worry about rigid schema evolution constraints:
INSERT INTO my_catalog.namespace.clickstream VALUES
(1, current_timestamp(), 'user-42',
PARSE_JSON('"action": "purchase", "amount": 99.99, "items": ["laptop_stand"]')),
(2, current_timestamp(), 'user-17',
PARSE_JSON('"action": "page_view", "url": "/products/webcam", "duration_ms": 4200'));
Querying this data is significantly accelerated. Using analytical engines such as Amazon EMR Spark, analysts can leverage the variant_get function to query nested fields directly, relying on underlying file pruning to bypass expensive string-parsing operations:

SELECT
event_id,
user_id,
variant_get(payload, '$.action', 'string') AS action,
variant_get(payload, '$.amount', 'double') AS amount
FROM my_catalog.namespace.clickstream
WHERE variant_get(payload, '$.action', 'string) = 'purchase'
AND variant_get(payload, '$.amount', 'double') > 50.00;
Optimizing Deletions with Deletion Vectors
Regulatory requirements such as GDPR and CCPA often mandate the swift removal of user data from massive repositories. In V2 tables, deleting 50,000 records from a two-billion-row dataset produced thousands of small positional delete files.
By configuring merge-on-read execution modes on S3 Tables:
ALTER TABLE my_catalog.namespace.clickstream
SET TBLPROPERTIES (
'write.delete.mode' = 'merge-on-read',
'write.update.mode' = 'merge-on-read',
'write.merge.mode' = 'merge-on-read'
);
When a compliance delete is triggered:
DELETE FROM my_catalog.namespace.clickstream
WHERE user_id = 'user-42';
Instead of rewriting underlying data blocks, the engine writes a single, lightweight binary deletion vector. Amazon S3 Tables background maintenance automatically absorbs and compacts these vectors during regular operational cycles.
Building Efficient Incremental Pipelines via Row Lineage
Data engineering pipelines frequently struggle with change-data-capture (CDC) overheads, often requiring full-table scans to identify newly altered records. V3 simplifies this by embedding row lineage metadata (_row_id and _last_updated_sequence_number) into every record. Downstream systems can thus ingest changes incrementally:
SELECT *, _row_id, _last_updated_sequence_number
FROM my_catalog.namespace.clickstream
WHERE _last_updated_sequence_number > 42;
Official Responses and Ecosystem Integration
AWS continues to lead the cloud analytics market in native Apache Iceberg interoperability, weaving support for the standard across ingestion, storage, cataloging, and compute layers.
- Storage & Optimization: Amazon S3 Tables handles automatic compaction, maintenance, replication, and tiering at no additional structural cost beyond standard S3 pricing.
- Compute & Ingestion: Data can be written and transformed utilizing Amazon EMR Spark.
- Governance & Catalogs: AWS Glue 6.0 provides full Iceberg V3 support and, alongside S3 Tables, fully implements the Iceberg REST Catalog (IRC) API. This ensures seamless interoperability across diverse analytics engines regardless of the endpoint.
- Downstream Analytics: Amazon Redshift seamlessly queries and analyzes V3 datasets, providing business intelligence teams with immediate access to fresh, high-performance data insights.
According to AWS documentation, existing V2 tables can be upgraded instantly using a simple DDL command without data duplication:
ALTER TABLE my_catalog.namespace.existing_table
SET TBLPROPERTIES ('format-version' = '3');
Note: AWS highlights that upgrading is a permanent, one-way operation; organizations should verify that all consuming engines support the V3 specification prior to executing the migration.
Broader Implications for the Data Engineering Industry
The mainstream commercial availability of Apache Iceberg V3 on managed cloud infrastructure signals a maturing landscape for open table formats. For enterprises, the implications are profound:
- Reduced Infrastructure Overhead: By eliminating the performance degradation associated with small delete files and un-indexed semi-structured payloads, organizations can achieve higher query concurrency with fewer compute resources.
- Simplified Architectures: The native integration of variant and geospatial data types removes the need for complex custom transformation pipelines, lowering maintenance costs and minimizing software bug surfaces.
- Enhanced Compliance Agility: Streamlined row-level operations and robust row lineage empower compliance and security teams to execute data pruning and auditing with unprecedented speed and accuracy.
As data lakes continue to supplant traditional monolithic data warehouses as the preferred repository for enterprise analytics, innovations like Amazon S3 Tables with Apache Iceberg V3 ensure that scale no longer comes at the expense of query performance or cost efficiency.

