Samenvatting
Apache Iceberg op Snowflake wordt in 2026 eenvoudiger dankzij de nieuwe catalogusconfiguratie van dbt.
Apache Iceberg, Snowflake en dbt-catalogus
Snowflake gebruikt Horizon inmiddels standaard als catalogus en ondersteunt externe schrijfbewerkingen rechtstreeks in Horizon. Daardoor is voor beheerde Iceberg-tabellen geen aparte Polaris-account of hulpmiddel zoals Glue meer nodig. Aan de dbt-kant koppelt `catalog_name` in `dbt_project.yaml` een project aan catalogi die in `catalogs.yml` staan.
Die configuratie ondersteunt bijvoorbeeld afzonderlijke raw- en transformed-catalogi met slechts enkele regels. dbt voegde daarnaast schrijfopties toe voor Snowflake-compatibiliteit. Een bijdrage van Anders Swanson aan DuckDBs eigen Iceberg-bibliotheek zorgde ervoor dat DuckDB Snowflake-beheerde Iceberg-tabellen rechtstreeks kan lezen.
Waarom Apache Iceberg op Snowflake belangrijk is
Iceberg laat Parquet-bestanden functioneren als tabellen, inclusief inserts, deletes, schemawijzigingen en time travel. De bestanden staan in de objectopslag van de klant, in plaats van uitsluitend binnen de compute van één warehouse. Daardoor kunnen query’s op dezelfde beheerde tabellen buiten Snowflake draaien.
In de demonstratie bouwde dbt tabellen in Snowflake en gebruikte het tijdelijke, beperkt uitgegeven credentials. DuckDB las daarna dezelfde tabellen rechtstreeks. De query’s raakten geen Snowflake-warehouse en veroorzaakten daardoor geen compute-kosten. Dat geeft teams een concreet alternatief voor alleen het verkleinen van warehouses, aanpassen van auto-suspend of verbeteren van clustering. Voor lokale analyse in een Jupyter-notebook hoeft de data niet eerst naar een aparte omgeving.
Concrete takeaway voor Apache Iceberg
Controleer in een dbt-project eerst de catalogusdefinitie en de schrijfcompatibiliteit voordat je een eigen Polaris- of Glue-opzet bouwt. Leg daarnaast vast welke tabellen Snowflake-compute gebruiken en welke DuckDB rechtstreeks uit Iceberg leest. Zo sluit de configuratie aan op het gewenste uitvoerpad, zonder statische AWS-instellingen.
Verdiep je kennis
ETL uitgelegd — Extract, Transform, Load in gewone taal
Wat is ETL? Leer hoe Extract, Transform en Load werkt, het verschil met ELT, en welke tools je kunt gebruiken. Helder ui...
KennisbankData lakehouse uitgelegd — Het beste van twee werelden
Wat is een data lakehouse en waarom combineert het het beste van data warehouses en data lakes? Vergelijking, architectu...