Integrations: database to query engine, via Iceberg
Each guide here covers one source and one query engine. We ran every pipeline end to end before writing the page. You get the real OLake Go settings, the real query and a screenshot of its result.
Short answer. OLake Go copies a database into Apache Iceberg tables in a catalog that your query engine reads. One copy of the data then serves Snowflake, Databricks, BigQuery, DuckDB, Spark and Trino at once. Pick your engine below and follow its guide from setup to the first query result.
Key takeaways
- 49 tested guides cover Postgres, MySQL, MariaDB, MongoDB, Oracle, SQL Server, DB2, Kafka and S3 as sources.
- Each guide ran a first sync and a change sync, and shows the rows the engine returned.
- Every guide lists the catalogs it offers, the one it tested, and the Iceberg delete format the engine reads.
Last reviewed October 2026.
Pick the engine you query with:
- Snowflake
- ClickHouse
- DuckDB
- Amazon Redshift
- Google BigQuery
- Databricks
- Apache Iceberg, read by Spark, DuckDB and Trino
More engines: Amazon Athena, Trino, Apache Spark, Spark on Amazon EMR, Google Cloud Dataproc, Starburst, Presto, Apache Doris, StarRocks and Microsoft Fabric.
By catalog: AWS Glue, Apache Polaris, Lakekeeper, Snowflake Horizon, Unity Catalog, BigLake and Amazon S3 Tables.
The query engine compatibility page has the full matrix of engines and delete formats.
Frequently asked questions
Which sources do the integration guides cover?
Postgres, MySQL, MariaDB, MongoDB, Oracle, SQL Server, IBM DB2, Apache Kafka and Amazon S3. Each guide replicates one of them into Apache Iceberg with OLake Go and queries the tables from one engine.
Does OLake Go load data into Snowflake, Databricks or BigQuery storage?
No. OLake Go writes Apache Iceberg tables to object storage and registers them in a catalog such as AWS Glue, Polaris, Unity Catalog, Snowflake Horizon or BigLake. Each engine then reads those tables in place, so one copy serves every engine.
How were the guides tested?
Each guide comes from a pipeline that was run end to end with OLake Go v1.1.0: a first sync of the full tables, then a second sync of 12 changes. The commands, screenshots and query results on each page are from that run.