BigQuery and Apache Iceberg: OLake Go guides
BigQuery reads Apache Iceberg tables registered in the BigLake catalog. Each catalog namespace maps to a BigQuery dataset.
Short answer. To replicate a database to BigQuery, run OLake Go with the BigLake Iceberg REST (representational state transfer) catalog as the destination. Keep the data in Google Cloud Storage. Add BigQuery as a target query engine on the job and OLake Go writes a v2 delete format that BigQuery reads.
Key takeaways
Last reviewed October 2026.
How OLake Go gets data into BigQuery
OLake Go uses change data capture (CDC) where the source has it and commits Iceberg tables to BigLake, also called Google Cloud Lakehouse. BigQuery reads them with no extra registration. Spark on Dataproc reads the same catalog.
The nine guides below each ran end to end on BigLake. The BigLake setup post walks through the catalog side in more depth.
When to use it
- BigQuery is the main reader and the data can live in Google Cloud Storage.
- You want CDC from Postgres or MySQL into BigQuery without a load job.
When not to use it
- You need deletion vectors. On v3 tables they are a BigQuery preview feature with per-query limits.
- The tables are in AWS Glue. BigQuery reaches Glue only through BigQuery Omni federated datasets.
Catalogs BigQuery reads
| Catalog | BigQuery reads | How |
|---|---|---|
| AWS Glue | Partial | BigQuery Omni federated datasets only |
| BigLake (Google Cloud Lakehouse) | Yes | native: namespaces map to BigQuery datasets |
Delete formats BigQuery reads
| Equality deletes (v2) | Positional deletes (v2) | Deletion vectors (v3) |
|---|---|---|
| Yes | Yes | Partial |
BigQuery reads Iceberg v2 merge-on-read tables. Deletion vectors on v3 tables are a preview feature with per-query limits, so equality or positional deletes are the safe choice. Set BigQuery as a target query engine on the OLake Go job and OLake Go picks a format it reads; with BigQuery as the only reader that is positional deletes (v2).
Sources: BigQuery: Iceberg external tables (checked 2026-10-12); Lakehouse: Iceberg v3 binary deletion vectors (checked 2026-10-12).
Tested guides for BigQuery
- Postgres to BigQuery
- Oracle to BigQuery
- MongoDB to BigQuery
- MySQL to BigQuery
- Kafka to BigQuery
- MariaDB to BigQuery
- S3 to BigQuery
- DB2 to BigQuery
- SQL Server to BigQuery
Frequently asked questions
Does BigQuery read Iceberg v3 deletion vectors?
Only as a preview feature with per-query limits. Equality or positional deletes on v2 tables are the safe choice.
Can Spark on Dataproc read the same tables?
Yes. Dataproc connects to the BigLake catalog as a REST catalog with Google authentication. See the Dataproc page.
How does OLake Go authenticate to BigLake?
With a service account JSON key on the BigLake destination. The REST catalog page lists every field.