
Explore the fundamentals of AWS S3 tables built on Apache Iceberg, covering basics, maintenance, and security, with insights on access, encryption, and related AWS services for analytics.
Apache Iceberg is an open table format for analytics that enables cross-engine transactions and schema evolution across Spark, Trino, Presto, and Flink, with layered metadata for S3 data lakes.
Learn how Iceberg creates new data files, manifests, manifest lists, and metadata to produce a snapshot tracked by the catalog. Atomic updates, versioning, time travel, and schema evolution for engines.
Discover how AWS S3 tables automate maintenance for iceberg on S3, eliminating manual tasks, enabling easy integration with SageMaker, Athena, and Redshift, and boosting query speed.
Explore the core AWS aspects of consuming and managing S3 tables, focusing on practical AWS integration while not delving into iceberg concepts, with S3 tables built on Apache Iceberg.
Explore the core components of AWS S3 tables, including the table bucket, Apache Iceberg format, and how namespaces organize tables for analytics workloads using SQL and standard query engines.
Explore AWS Athena, a serverless, interactive query service for data in S3, supporting CSV, JSON, Parquet, ORC, and Avro; learn to define a table schema and run SQL queries.
Explore how the AWS Glue Data Catalog serves as a centralized metadata repository for S3 tables, providing a single source of truth across query engines and Iceberg.
Explore how AWS Lake Formation centralizes permissions across services, enables fine-grained security at table, column, and row levels, and provides governance for secure data lakes on S3.
Explore how SageMaker Lakehouse unifies data access across data lakes and data warehouses, enabling open-standards querying with Apache Iceberg for real-time machine learning and analytics.
Learn how to create an S3 table bucket, enable analytics integration with AWS Glue and Athena, set up the namespace and table, and insert and query sample data.
Create a table in Athena within the test one namespace using an iceberg table, daily_sales (sale_date, product_category, sales_amount) partitioned by month, and configure the S3 results location.
Explore four options to access S3 tables: SageMaker Lakehouse integration, AWS Glue Iceberg Rest endpoint, Amazon S3 Tables Iceberg Rest endpoint, and S3 Tables Catalog for Apache Iceberg.
Explore the AWS Glue iceberg rest endpoint and its rest catalog open API specification, enabling interoperability with any iceberg compatible client to manage S3 tables through SageMaker Lakehouse.
Demonstrate consuming the AWS Glue iceberg REST endpoint by building a sample script to interact with S3 tables, including creating a table, inserting records, and reading data.
Create a custom IAM policy and role to allow a local script to perform S3 table operations via the glue iceberg endpoint, with access to glue APIs and lake formation.
define lake formation permissions on S3 table resources by creating a data lake administrator and granting database and table rights to the clue iceberg endpoint client role, enabling external access.
Install required python libraries (pyiceberg, pandas, pyarrow) and verify python 3.7+ and pip 22.2.2+; then create admin s3 tables user keys, configure aws cli credentials, and verify identity.
Write data to a new s3 table using the pi iceberg library and glue iceberg rest endpoint, leveraging assumed role credentials to create the table and insert data.
Validate the new customer table with the AWS CLI and S3 tables. Read data via the Glue Iceberg rest endpoint, loading the rest catalog and verifying results.
Access S3 tables with the Iceberg rest endpoint via http rest protocol, enabling namespace management, table management, snapshot metadata, and configuration handling via the Iceberg rest catalog open api.
Demonstrates using S3 tables with the Iceberg rest endpoint via an external script. Create an IAM role and policy, set up a namespace, then test read and write Iceberg operations.
Create the S3 tables iceberg endpoint client policy and an IAM role with a trust policy allowing the admin S3 tables user to assume it, enabling read and write access.
Create a dedicated namespace for this demonstration using the AWS CLI in us-west-2, linking the table bucket arn to the S3 tables iceberg endpoint Testdb.
Create a new product table inside a newly created namespace and insert a sample record using the S3 tables iceberg rest endpoint. Note differences from the earlier demonstration.
Validate S3 tables data with a PySpark script against the iceberg rest endpoint, performing read and write operations on the product table (Apple iPad mini) and printing results.
Explore accessing S3 tables via the iceberg catalog, with a demonstration of AWS labs S3 Tables Catalog for Iceberg library that converts iceberg operations to S3 tables API calls.
Learn to use S3 Tables Catalog library for Iceberg to interact with S3 tables from a Scala and Spark client deployed on AWS, with IAM role permissions and Spark validation.
Create S3 Tables Catalog Client Role by selecting AWS Clue Service as the trusted entity and attaching S3 tables iceberg EPP client policy and clue Service role policy.
Develop and deploy a Spark-based Scala ETL job on AWS Glue using S3 Tables Catalog for Iceberg, creating a database and shipment table, inserting sample data, and querying results.
Download iceberg spark runtime 3.5.2 and the S3 tables catalog for iceberg runtime, copy the jars to the AWS Glue assets bucket, and configure extra jars for stable catalog operations.
Validate the Iceberg catalog integration by running a Glue job that creates a namespace and table, inserts samples, and verifies data with a select in the S3 tables catalog.
Define identity based policies to secure S3 tables by mapping IAM principals to table bucket and table permissions. Configure actions, ARNs, conditions, lambda to tailor admin, standard user access.
Understand resource based policies for S3 tables that map to resources like tables and buckets, requiring a principal, action, and conditions, and how they work with identity policies.
Configure lake formation permissions to enforce fine-grained access on S3 tables with database, table, column, row, and cell level controls, using data filters and the SageMaker Lake House integration.
Learn how the AWS CLI enables you to interact with AWS services like EC2, S3, and Lambda from your command line, using top-level commands, subcommands, and helpful output formats.
Leverage the aws cli to manage s3 tables by creating, querying, and deleting table buckets. Configure encryption and maintenance settings and manage table bucket policies with iam permissions.
Learn how to manage namespaces and tables in AWS S3 tables, including create, delete, get, and list operations, permissions, and encryption configurations. Explore table policies and policy management.
S3 tables automate maintenance tasks like compaction, snapshot management, and unreferenced file cleanup by default. Configure target file size and strategies like bin pack, sort, or Z-order at table level.
Configure table bucket level unreferenced days and non-current days to remove unreferenced objects, while S3 tables run maintenance tasks such as compaction, snapshot management, and unreferenced file cleanup.
Monitor s3 tables with cloudtrail and cloudwatch to track api calls and events, store logs with trails, and enable data events for sql queries.
Explore S3 table quotas and limits, including default ten table buckets, ten thousand namespaces, and ten thousand table definitions, and learn about supported regions and region-specific endpoints for programmatic access.
Understand S3 tables pricing across storage, requests, compaction, and monitoring, including how bin pack, sort, or Z‑order strategies and regional differences affect costs.
Recap the key concepts of AWS S3 tables, including Apache Iceberg, and outline next steps with Athena, Glue Lake Formation, and SageMaker Lakehouse for real-world workflows.
Welcome to “AWS S3 Tables for Beginners: Foundation of Modern Analytics” — your complete introduction to one of AWS’s newest and most powerful analytics services.
This course is designed to help you understand, set up, and work with AWS S3 Tables, a modern, open table format built on Apache Iceberg, that brings data warehouse reliability to data lakes.
By the end of this course, you’ll have the skills to create, query, and manage S3 Tables efficiently — and understand how they fit into the broader AWS analytics ecosystem alongside Athena, Redshift, Glue, and Lake Formation.
What You’ll Learn
What AWS S3 Tables are and why they matter in modern analytics
How S3 Tables differ from traditional S3 data lakes and Redshift data warehouses
The role of Apache Iceberg and how it enables schema evolution, time travel, and ACID transactions
How to create and query S3 Tables using Sagemaker Lakehouse, Glue Iceberg Endpoint, S3 Tables Iceberg Endpoint and Catalog
How to secure your tables using IAM, Resource Policies and AWS Lake Formation
Best practices for managing metadata, compaction, and snapshot cleanup
Hands-on examples of building and accessing S3 Tables via catalogs and APIs
Course Structure
Introduction – Understand the evolution from data lakes to lakehouses and where S3 Tables fit in
Getting Started – Learn how to enable and create S3 Tables in your AWS account
Accessing S3 Tables – Query data using Sagemaker Lakehouse, Glue Iceberg Endpoint, S3 Tables Iceberg Endpoint and Catalog
Securing S3 Tables – Apply IAM level, Resource level and fine-grained access at table, column, and row-level using Lake Formation
Managing S3 Tables – Explore maintenance tasks such as compaction, schema evolution, and metadata optimization
Conclusion – Recap and understand how S3 Tables simplify and modernize data analytics on AWS
Who This Course Is For
Data engineers, analysts, and cloud architects exploring AWS analytics services
Professionals transitioning from traditional data warehouses to data lakes or lakehouses
Anyone who wants to understand how open table formats like Iceberg are changing cloud data management
Prerequisites
Basic understanding of AWS (S3, IAM, Athena, or Redshift) is helpful but not required
Awareness on Data Engineering Concepts and Technologies including Data Lake, Open Table Format, Apache Iceberg, Apache Spark and PyIceberg
Why Take This Course
AWS S3 Tables simplify the complexity of self-managed data lakes by automating maintenance, improving query performance, and ensuring data consistency.
With this course, you’ll gain both conceptual clarity and hands-on understanding of how to build reliable, scalable, and open analytics systems on AWS.