← Back to list

How to Test Apache Iceberg & Trino Locally in Under 60 Seconds (With Zero AWS Costs)

If you are building modern data pipelines, you already know that Apache Iceberg is completely changing the way we interact with data lakes…

Ofirnakdai · 2026-08-03 16:35 · 0 claps · 2.2 min read
#trinos #nessie #apache-iceberg #local-development #data-lakehouse
Open on Medium ↗
Wiki topics: ☁️ · DevOps & Cloud 🔧 · Data Engineering

How to Test Apache Iceberg & Trino Locally in Under 60 Seconds (With Zero AWS Costs)

If you are building modern data pipelines, you already know that Apache Iceberg is completely changing the way we interact with data lakes. But let’s be honest about the developer experience: testing Iceberg locally can be a massive headache.

Every time I wanted to run a simple integration test, I found myself relying on cloud resources. Spinning up an EMR cluster, waiting for AWS Glue to sync, or running queries through Athena just to verify a schema change is slow, frustrating, and expensive.

I needed a way to test Iceberg tables entirely on my local machine, disconnected from the cloud, with zero latency and zero AWS costs.

After spending way too many hours wrestling with Docker networks, catalog configurations, and Trino connectors, I finally built the perfect local Lakehouse stack. Here is how you can spin it up in under 60 seconds.

The Architecture: Bringing the Lakehouse to Localhost

To replicate a production cloud environment on your laptop, we need three main components:

  1. Storage (The S3 Alternative): MinIO
  2. Metadata Catalog (The Glue Alternative): Nessie (or a REST Catalog)
  3. Compute Engine (The Athena Alternative): Trino

Getting these three to communicate inside a Docker network usually requires a complex labyrinth of environment variables. The biggest challenge is ensuring Trino’s Iceberg connector properly authenticates with MinIO while reading the catalog from Nessie.

The 60-Second Solution

Instead of building this from scratch, I open-sourced the boilerplate. You can grab the core stack from my GitHub repository and start querying immediately.

Step 1: Clone and Run

Make sure you have Docker installed, then run:

Bash

git clone https://github.com/YOUR_USERNAME/lakehousekit-free.git
cd lakehousekit-free
docker-compose up -d

That’s it. In about 30 seconds, you have a fully functional Data Lakehouse running on localhost.

Step 2: Write Some Data

Open your favorite SQL client (DBeaver, DataGrip, or the Trino CLI) and connect to localhost:8080 (User: admin).

Let’s create a schema and an Iceberg table:

SQL

-- Create a new Iceberg schema mapping to our MinIO bucket
CREATE SCHEMA iceberg.default WITH (location = 's3a://lakehouse-data/');
-- Create an Iceberg table with partitioning
CREATE TABLE iceberg.default.user_events (
    event_id VARCHAR,
    event_time TIMESTAMP(6),
    user_id VARCHAR,
    event_type VARCHAR
) WITH (
    format = 'PARQUET',
    partitioning = ARRAY['day(event_time)']
);
-- Insert some test records
INSERT INTO iceberg.default.user_events 
VALUES ('uuid-1', current_timestamp, 'user-123', 'click');

You can now head over to the MinIO console at localhost:9001 and actually see the underlying Parquet files and metadata JSONs generated by Iceberg.

Taking it to Production (CI/CD & Mock Data)

Having a local Docker stack is great for ad-hoc testing, but what if you want to run automated tests on every Pull Request? Or what if you need to populate that local environment with 1,000,000 rows of realistic synthetic data to test performance?

If you want to skip the setup and get a complete, production-ready development ecosystem, I created LakehouseKit Pro.

It includes everything you need to build with Iceberg like a pro:

  • 🐍 Python Mock Data SDK: Instantly generate millions of synthetic Iceberg rows using PyArrow.
  • GitHub Actions CI/CD: Ready-to-use YAML templates to run automated Iceberg integration tests on your PRs (without AWS).
  • 🏗️ Enterprise IaC: Terraform and Helm blueprints to seamlessly transition from local Docker directly to AWS production.

👉 **Check out LakehouseKit Pro here**

Stop wasting time configuring local environments and get back to building actual data pipelines. Happy querying!


메타데이터
post_id
f8da4a145e76
slug
how-to-test-apache-iceberg-trino-locally-in-under-60-seconds-with-zero-aws-costs-f8da4a145e76
url
https://medium.com/@ofirnakdai/how-to-test-apache-iceberg-trino-locally-in-under-60-seconds-with-zero-aws-costs-f8da4a145e76
canonical_url
https://medium.com/@ofirnakdai/how-to-test-apache-iceberg-trino-locally-in-under-60-seconds-with-zero-aws-costs-f8da4a145e76
author_url
https://medium.com/@ofirnakdai
status
ok
fetched_at
2026-08-10 15:08:05