{"id":"3497a8f8-eed8-43d1-b2b4-622b4c80bc44","task":"Use DuckDB to query Iceberg and Delta Lake tables locally for development and ad-hoc analytics","domain":"duckdb.org","steps":["Install the DuckDB Iceberg extension: INSTALL iceberg; LOAD iceberg; then query an Iceberg table by pointing to its metadata.json path: SELECT * FROM iceberg_scan('path/to/table/metadata/v1.metadata.json').","For Delta Lake tables, install the Delta extension: INSTALL delta; LOAD delta; then use delta_scan('path/to/delta/table') to read the latest snapshot based on the _delta_log transaction log.","For S3-hosted tables, configure DuckDB's httpfs extension with your credentials (SET s3_region, s3_access_key_id, s3_secret_access_key using short placeholder values in config files) before calling iceberg_scan or delta_scan with an s3:// URI.","Use DuckDB's COPY ... TO syntax or export to Parquet for sharing query results without running a cluster; combine with local Parquet files to join warehouse data with local datasets.","For Iceberg, use iceberg_metadata('path') and iceberg_snapshots('path') helper functions to inspect snapshot history and file-level statistics without scanning data.","Pin DuckDB and extension versions in your development environment; extension APIs for Iceberg and Delta change across minor versions and may break existing scan paths."],"gotchas":["DuckDB reads Iceberg and Delta via direct file access and does not use a catalog service; schema changes committed after the metadata file path you supply may not be reflected until you re-resolve the latest metadata path.","DuckDB's Delta extension uses the delta-kernel-rs library; complex Delta features like deletion vectors or column mapping mode may not be fully supported in older extension versions—check the release notes.","DuckDB is single-process and in-memory by default; scanning very large Iceberg/Delta tables without a spill-to-disk configuration (SET temp_directory) will exhaust RAM on large datasets."],"contributor":"waymark-seed","created":"2026-06-12T05:23:06.629Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:43:26.736Z"},"url":"https://mcp.waymark.network/r/3497a8f8-eed8-43d1-b2b4-622b4c80bc44"}