Home › Guides › Apache Iceberg
Tech Explained · 2026What Is Apache Iceberg in 2026? The Open Table Format Explained, Iceberg v3, and 7 Skills to Learn
Every major analytics vendor now reads and writes the same table format, and that changes what a data engineer needs to know. Iceberg v3 added deletion vectors, row lineage and a VARIANT type, and AWS, Databricks, Snowflake, Google and Microsoft have all wired it into their platforms. Here is how it works, where it beats the alternatives, and how to learn it.
- Iceberg is metadata, not storage. Your data stays as Parquet files in S3, ADLS or GCS. Iceberg is the layer that makes those files behave like a table.
- The format argument is settled; the catalog argument is not. The live decision in 2026 is which catalog governs your tables: AWS Glue, Apache Polaris, Unity Catalog or Snowflake Open Catalog.
- v3 is the version that matters. Deletion vectors fix slow row-level deletes, row lineage makes change tracking native, VARIANT gives semi-structured data a real type.
- Interoperability is real. Microsoft documents OneLake shortcuts that expose a Snowflake-written Iceberg table to Fabric engines with no data copy.
- Delta Lake is not dead. Inside Databricks, staying on Delta is defensible, and v3 narrows the gap anyway.
- The hard part is operations. Compaction, snapshot expiry and catalog permissions separate a working lakehouse from an expensive one.
If you have read data engineering job posts this year and wondered what is Apache Iceberg doing in nearly all of them, the answer is that the industry agreed on a standard and rebuilt its tooling around it. Iceberg lets Spark, Trino, Flink, DuckDB, Snowflake, BigQuery and Microsoft Fabric read and write the same physical files without one vendor owning the definition of a table. That sounds like plumbing. It is, and plumbing is where data engineering salaries come from.
What Is Apache Iceberg, and Why Did Every Lakehouse Move to It?
Apache Iceberg is a specification for how a set of data files on object storage becomes a table with a schema, a partition layout and consistent point-in-time snapshots. It began at Netflix, went to the Apache Software Foundation, and was designed as a vendor-neutral spec first and an implementation second. That choice is why it won.
Before open table formats, a lake table was a Hive-style directory of Parquet files plus a metastore entry naming the directory. That breaks in expensive ways: listing hundreds of thousands of S3 objects to plan a query is slow, concurrent writers can expose half-written results because there is no atomic commit, and changing a partition scheme means rewriting the table.
The three layers to picture
-
Catalog. A pointer saying "the current version of
sales.ordersis this metadata file". The only thing needing an atomic swap. - Metadata. A JSON file holding schema, partition spec and snapshot history, pointing to manifest lists and manifest files that list data files with per-column statistics such as min, max and null counts.
- Data. Ordinary Parquet, ORC or Avro files in your bucket, readable by anything.
Because manifests carry column statistics, an engine skips whole files before reading a byte. A filter like WHERE order_date = '2026-08-01' prunes at the manifest level rather than by listing a directory. That is why Iceberg stays fast where Hive-style layouts stall. Anyone working through Microsoft Fabric for the DP-700 certification meets this structure directly, because Fabric lakehouse tables and OneLake shortcuts sit on exactly this catalog, metadata and data separation.
Also read: DP-700 Certification Guide 2026: Fabric Data Engineer Associate
How Apache Iceberg Works: Snapshots, Time Travel and Hidden Partitioning
Every write produces a new snapshot. Nothing is mutated in place. A writer adds data files, writes new manifests and a new metadata file, then asks the catalog to swap the pointer. If two writers race, one swap wins and the other retries. That single atomic swap is what gives you ACID behaviour on object storage that has no transactions of its own.
Old snapshots stay valid until you expire them, so time travel is a read of an earlier pointer, not a restore from backup:
SELECT * FROM sales.orders FOR TIMESTAMP AS OF '2026-08-01 00:00:00';
SELECT snapshot_id, committed_at, operation
FROM sales.orders.snapshots ORDER BY committed_at DESC;
CALL system.rollback_to_snapshot('sales.orders', 7842190123456789);
Remember that last call. A poisoned nightly load stops being a lost weekend and becomes a one-line fix, provided you have not already expired the snapshot you need.
Hidden partitioning is the other feature that pays for itself. In Hive-style tables a partition is a physical directory, so an analyst filtering on order_timestamp instead of the order_date partition column silently scans everything. Iceberg records the transform in metadata and applies days(order_timestamp) for you, so the natural filter still prunes. Decide later that daily partitions are too fine and you change the spec: new data lands under the new layout, old data stays readable, no rewrite.
Iceberg v3: Deletion Vectors, Row Lineage and VARIANT
Version 3 closed the remaining gaps against Delta Lake. The Google Open Source blog's write-up on Iceberg v3, published in August 2025, sets out the headline additions, and AWS followed in November 2025 with an announcement that its analytics services support v3 deletion vectors and row lineage. Databricks has published Iceberg v3 as a public preview on its platform, and community write-ups in mid 2026 describe Iceberg release 1.11.0, from May 2026, as the first with production-ready v3 support.
| v3 feature | What it does | Why it matters |
|---|---|---|
| Deletion vectors | Row-level deletes as a compact bitmap per data file, compacted to one vector per file at write time | Deleting 200 rows no longer rewrites a 512 MB Parquet file or piles up delete files that slow every read |
| Row lineage | The table tracks row IDs and sequence numbers for newly created rows | CDC and incremental downstream jobs without hand-rolled surrogate keys and hash diffs |
| VARIANT type | Native semi-structured type covering date, timestamp, timestamptz, binary and decimal primitives | Event payloads stop being a STRING column parsed at query time |
| New primitives | Nanosecond timestamps and a geometry type | Fewer lossy casts from high-precision source systems |
| Default column values | Schema evolution can add a column with a default | Adding a column to a 40 TB table stays a metadata operation |
The strategic read is convergence. Deletion vectors were a Delta advantage; both formats have them now. Row lineage was something teams built by hand; it is in the spec. The gap that justified picking one format over the other is closing, which pushes the real decision up a layer, into the catalog.
Apache Iceberg vs Delta Lake vs Hudi: Which Should You Learn in 2026?
Three formats, three centres of gravity. Iceberg was built as a neutral spec. Delta Lake grew out of Spark and Databricks. Hudi was engineered around fast incremental upserts on streaming data.
| Criterion | Apache Iceberg | Delta Lake | Apache Hudi |
|---|---|---|---|
| Design goal | Vendor-neutral spec first | Spark-native, then broadened | Incremental upserts on streams |
| Engine breadth | Widest: Spark, Flink, Trino, DuckDB, Snowflake, BigQuery, Athena, Fabric | Strongest in Databricks and Spark | Mainly Spark and Flink |
| Row-level deletes | Deletion vectors in v3 | Deletion vectors, mature | Merge-on-read, mature |
| Streaming upsert and CDC | Good, better with v3 row lineage | Good | Best of the three |
| Partition evolution | Yes, plus hidden partitioning | Via clustering approaches | Limited |
| Catalog ecosystem | Open REST catalog spec, several implementations | Unity Catalog centred | Hive metastore and Hudi timeline server |
| Cloud vendor support | AWS, Google, Microsoft, Snowflake, Databricks | Databricks first-class, broad elsewhere | Supported, rarely the default |
| Semi-structured data | VARIANT in v3 | VARIANT supported | Usually string or struct |
| Visibility in Indian job posts | Rising fastest, across cloud and Fabric roles | Common wherever Databricks runs | Niche, streaming-heavy employers |
| Best default for a learner | Yes, for portable career value | Yes, if your employer runs Databricks | Only for CDC or streaming work |
The verdict, without hedging
Learn Iceberg first. It travels across the most employers, it is the format the cloud vendors converged on, and its concepts map almost one to one onto Delta afterwards. If you are already employed on a Databricks platform, learn Delta deeply as your daily driver and Iceberg as your portability skill, and do not migrate a working Delta estate for fashion. Learn Hudi only if you are hired onto streaming or CDC ingestion, where merge-on-read still earns its place.
The same logic decides cloud platforms: the stack your employer runs matters more than which vendor is theoretically better, a trade-off we worked through in our AZ-305 vs SAA-C03 comparison.
The Iceberg REST Catalog: The Decision That Actually Matters Now
Since every engine can read the files, the catalog decides who sees which table, who can write to it, and how credentials are vended. The Iceberg REST Catalog specification exists so that governance is decoupled from compute, and any implementation of it becomes a first-class catalog for your tables.
| Catalog | Best fit | Trade-off to know |
|---|---|---|
| AWS Glue Data Catalog | Teams already on Athena and EMR | Governance is AWS-shaped; cross-cloud access takes extra work |
| Apache Polaris | Teams wanting an open, vendor-neutral control plane | Newer project, more operational burden if self-hosted |
| Databricks Unity Catalog | Databricks estates wanting one governance model | Full write capability is tied to the platform |
| Snowflake Open Catalog | Snowflake shops opening tables to outside engines | Priced per request, so query patterns drive cost |
| Microsoft OneLake shortcuts | Fabric estates consuming Iceberg written elsewhere | Virtualises Iceberg as Delta metadata, so be clear which side owns writes |
Two verified points matter here. Apache Polaris graduated to an Apache Software Foundation top-level project in February 2026, which signals governance not controlled by a single vendor. And Microsoft's Fabric blog documents a OneLake shortcut pointing at an Iceberg table written by Snowflake, generating virtual Delta metadata so Fabric engines read it with no data movement or duplication. If you are studying cloud and data certifications across more than one vendor, that interoperability is the thing to be able to explain in an interview.
Storage-side skills matter too. Bucket policies, KMS encryption and credential vending are platform work, which is why lakehouse engineers end up strong in either AWS solutions architecture or Azure architecture and DevOps, not in the query engine alone.
Learn the lakehouse the way employers run it, on Microsoft Fabric with DP-700
Covers Microsoft Fabric data engineering for the DP-700 certification, with DP-900 fundamentals included, taught live over 8 weeks. Includes hands on projects, mentor support and placement guidance.
Explore the course
What Is Apache Iceberg Worth to a Data Career in India in 2026?
Iceberg is not a job title. It is a skill inside data engineering, analytics engineering and platform roles, and it arrives with a cluster of others. Seven carry most of the weight: SQL that survives a 40 TB table, including window functions and an instinct for what the engine prunes; Spark or Flink at the level of writing and tuning a job rather than running someone else's notebook; object storage and IAM, meaning bucket policies, KMS keys and why a cross-account read fails; table maintenance, meaning compaction strategy, snapshot expiry and small-file detection; catalog configuration including REST endpoints and permission models; orchestration and CI with pipelines under version control; and one platform in real depth, usually Fabric, Databricks or the AWS analytics stack.
On pay, treat every number as a band. Industry reports and job-board listings suggest lakehouse-focused data engineering roles in India are typically advertised between roughly Rs 8 and 16 lakh a year at two to four years of experience, with senior and platform-lead roles listed considerably higher and a wide spread by city, company type and whether the role sits in a global capability centre. A certificate alone does not move that band. Demonstrable pipeline work does, and the certificate gets you read.
Coming from analytics, the useful bridge is to see how lakehouse tables surface into Power BI and the PL-300 skill set before moving down the stack. Coming from software engineering, go straight at a live Microsoft Fabric data engineering program where lakehouse concepts and DP-700 exam domains are taught together. And if your target is AI rather than analytics, retrieval pipelines increasingly read from lakehouse tables, which is why table format literacy now shows up in AI engineering and RAG roles.
Also read: Data Analyst to Data Engineer in 2026: A 9-Month Switch Plan
How to Get Started With Apache Iceberg: A 6-Week Hands-On Path
You can learn the model on a laptop before touching a cloud bill. Spark with a recent Iceberg runtime gives you a local catalog in one command:
spark-sql \
--packages org.apache.iceberg:iceberg-spark-runtime-3.5_2.12:1.11.0 \
--conf spark.sql.catalog.local=org.apache.iceberg.spark.SparkCatalog \
--conf spark.sql.catalog.local.type=hadoop \
--conf spark.sql.catalog.local.warehouse=$PWD/warehouse
CREATE TABLE local.db.orders (id BIGINT, customer STRING, amount DECIMAL(10,2), ts TIMESTAMP)
USING iceberg PARTITIONED BY (days(ts));
| Week | Focus | What you can do by the end |
|---|---|---|
| 1 | Local Spark plus Iceberg, create and load tables | Explain catalog, metadata and data layers from a table you built |
| 2 | Snapshots, time travel, rollback | Recover from a deliberately bad load using rollback_to_snapshot
|
| 3 | Schema and partition evolution | Add a column and change a partition spec with no rewrite, and prove old data still reads |
| 4 | MERGE INTO, deletes, v3 deletion vectors | Run an upsert pipeline and inspect how deletes are physically stored |
| 5 | Compaction, expire snapshots, orphan files | Diagnose a small-file problem and fix it with a compaction procedure |
| 6 | A cloud catalog plus a second engine | Write with one engine, read with another, through a REST catalog |
Week six is what makes an interview answer credible, because writing from Spark and reading from Trino or Fabric is the exact claim Iceberg makes. If you would rather do this with a cohort than alone, 360DT batches run Saturday and Sunday, 8:00 to 11:00 PM IST, and you can sit in on a free webinar or book a demo class first.
Costs, Limitations and the Pitfalls Nobody Warns You About
A worked example, offered as an illustrative scenario rather than a real company's reported result. A six-person data team at a mid-size Indian fintech holds 4 TB of transaction and event data. Analysts query from Snowflake, the ML team wants the same data in Spark, dashboards live in Power BI. Before Iceberg they kept two copies, warehouse and lake, plus a nightly sync job that a rotating on-call engineer babysat, roughly a day a week of attention. One Iceberg table set removes the second copy and the sync job entirely. What remains is storage, requests and managed maintenance: AWS's July 2025 announcement for S3 Tables cut compaction charges sharply, halving per-object processing and reducing per-byte processing by up to 90 percent for binpack compaction and up to 80 percent for sort and z-order, and published AWS examples put total S3 Tables cost for 1 TB in the region of a few tens of dollars a month. The saving was never the storage. It was the duplicate copy and the job keeping it in sync.
- The small-file problem. Streaming writes every 30 seconds create thousands of tiny files and manifest entries. Query planning degrades before storage cost does. Schedule compaction from day one.
- Snapshots that never expire. Time travel is free until your bucket holds every version of every file you ever wrote.
- Two writers, no shared catalog. The atomic commit depends on the catalog. Point two engines at the same files through different catalogs and you can lose writes.
- Assuming every engine supports every feature. v3 support landed at different times across engines. Check your reader before relying on deletion vectors.
- Treating catalog choice as reversible. Migrating later means re-registering tables and rebuilding permissions.
One fair criticism, stated plainly: Iceberg adds operational surface. A Hive-style table needed no compaction job, no snapshot expiry and no catalog service. If your dataset is 50 GB and one team queries it from one engine, this is machinery you do not need yet. The format earns its keep at scale, at concurrency, or when more than one engine must see the same data.
The Verdict for 2026
Iceberg is the default assumption for a new lakehouse, and the interesting engineering has moved to catalogs and maintenance. For a learner in India, the highest-return sequence is to learn the Iceberg model properly, get fluent in one platform that uses it, and prove you can run maintenance rather than only write queries. Delta stays a strong second skill and a first skill inside Databricks. Hudi stays a specialist tool.
To do that in a structured form with live teaching and an exam at the end, the Microsoft Fabric Data Engineer course covering DP-700 and DP-900 is the logical next step: 50+ hours of live class over 8 weeks at Rs 24,999, weekends only, built around hands on projects. Start there and Iceberg stops being a word in job posts and becomes something you have operated.
Frequently asked questions
What is Apache Iceberg in simple terms?
Apache Iceberg is a specification that turns a folder of Parquet files in cloud storage into a proper table with a schema, ACID transactions, snapshots and time travel. The data files stay where they are and stay readable by other tools. Iceberg adds the metadata layer that tells an engine which files belong to the table right now, so several engines can safely read and write the same data.
Is Apache Iceberg better than Delta Lake?
Neither is universally better, and Iceberg v3 closed most of the feature gap by adding deletion vectors, row lineage and a VARIANT type. Iceberg has broader engine and vendor support, which makes it the safer default for a multi-cloud or multi-engine setup. Delta Lake is the natural choice inside Databricks, where it is tightly integrated with Unity Catalog and the platform's optimisations.
Do I need to know Spark to learn Apache Iceberg?
Not to start. You can learn the concepts through SQL alone on Trino, DuckDB or Microsoft Fabric. Spark matters once you move from querying into writing pipelines, running MERGE operations and executing maintenance procedures such as compaction and snapshot expiry, which is where most data engineering jobs sit.
Which certification covers Apache Iceberg and lakehouse skills?
There is no vendor-neutral Iceberg certification. The closest practical credentials are platform certifications that test lakehouse engineering: Microsoft's DP-700 for Fabric data engineering, and AWS analytics-oriented paths for teams on Glue, Athena and EMR. Microsoft lists the DP-700 exam at USD 165 with regional pricing that varies by country, so check the Microsoft Learn registration page for the current India price.
What is the Iceberg REST Catalog and why does it matter?
It is a standard HTTP interface for the service that tracks which metadata file is a table's current version and who may read or write it. Because the interface is standardised, you can swap the implementation, such as AWS Glue, Apache Polaris or Snowflake Open Catalog, without changing your table files. Since every engine can now read Iceberg files, the catalog is where governance actually lives.
Can Microsoft Fabric read Apache Iceberg tables?
Yes. Microsoft's Fabric blog documents OneLake shortcuts that point at an Iceberg table stored in ADLS, OneLake, Amazon S3, Google Cloud Storage or a compatible service, and generate virtual Delta metadata so Fabric engines read it without copying or moving the data. Snowflake can write Iceberg tables directly to OneLake, a common pattern for teams running both platforms.
Is Apache Iceberg worth learning for a fresher in India?
Yes, but not as your first skill. Get solid SQL and Python first, then one cloud platform, then Iceberg as the layer tying storage and query engines together. Freshers who can show a working lakehouse project with partition evolution, a MERGE pipeline and a compaction job stand out far more than those listing the format as a CV keyword.
About this guide. 360 Digital Transformation is an independent training provider. We are not affiliated with the certification bodies, vendors or products compared here, and our courses are exam preparation rather than official training. Product features and pricing change often; figures cited were checked on 10 September 2026.
