
Explore why OLTP systems struggle with data analysis, as joins, aggregates, and volume overwhelm structured data, while analysts seek regional sales, product users, and yearly revenue.
Gain a high-level overview of OLAP systems and how they address OLTP problems, with key components like storage, file formats, table formats, storage engine, compute engine, catalog, and consumption tools.
Learn how OLAP storage chooses file formats based on data type, using csv or avro for row data, json or text for semi-structured, and parquet or ORC for columnar storage.
Learn how the parquet file format and its metadata enable the Iceberg table format in data lakes, clarifying the link between parquet and Iceberg.
Explore iceberg's hidden partition feature by creating a sample dataset and an iceberg table in a notebook, then observe how a transformed month filter affects partition prune and query planning.
Understand delete operations on Iceberg tables in Snowflake via copy on write: a new data file is created, the old one marked deleted, and snapshots and metadata updated.
This course is broadly divided into 8 sections,
Why Iceberg:
This will help you understand the significance of Iceberg and the challenges associated with traditional data warehouse architectures.
Iceberg environment setup:
We’ll set up a Spark environment with Iceberg in GitHub Codespaces. This will serve as a playground where you can run Iceberg commands and experiment hands-on.
Parquet file format:
We’ll dive deep into the Parquet file format to build a strong foundation. Understanding Parquet is essential because Iceberg is built on top of Apache Parquet and leverages its structure for efficient storage and querying.
Iceberg features:
We’ll explore key Iceberg features such as hidden partitioning, schema evolution, and time travel to understand how it addresses common limitations in traditional data lakes.
Iceberg concepts:
We’ll explore concepts like Copy-on-Write (COW), Merge-on-Read (MOR), and snapshot isolation to gain a deeper, more concrete understanding of how Iceberg manages data and ensures consistency.
Iceber with snowflake:
We’ll configure Iceberg with Snowflake and explore how Iceberg integrates with it, helping us understand the foundational concepts of using Iceberg within the Snowflake ecosystem.
Datalake with snowflake Iceberg:
We’ll build a sample data lake using Snowflake Iceberg and also demonstrate how to query Iceberg tables from Spark for cross-platform interoperability.
By the end of this course, you’ll have a solid understanding of the Iceberg table format—its advantages, use cases, and how to build an efficient data lake using Iceberg.