To read a OneTable synced Iceberg table from BigQuery, you have two options:
OneTable outputs metadata files for Iceberg target format syncs which can be used by BigQuery to read the BigLake tables.
CREATE EXTERNAL TABLE onetable_synced_iceberg_table WITH CONNECTION `myproject.mylocation.myconnection` OPTIONS ( format = 'ICEBERG', uris = ["gs://mybucket/mydata/mytable/metadata/iceberg.metadata.json"] )
:::danger Note: This method requires you to manually update the latest metadata when there are table updates and hence Google recommends using BigLake Metastore for creating Iceberg BigLake tables. Follow the guide on Syncing to BigLake Metastore for the steps. :::
:::danger Important: For Hudi source format to Iceberg target format use cases
hudi-extensions-0.1.0-SNAPSHOT-bundled.jar) to your class path--jars hudi-extensions-0.1.0-SNAPSHOT-bundled.jar to the end of the command.hoodie.avro.write.support.class: io.onetable.hudi.extensions.HoodieAvroWriteSupportWithFieldIds hoodie.client.init.callback.classes: io.onetable.hudi.extensions.AddFieldIdsClientInitCallback hoodie.datasource.write.row.writer.enable : false
You can use two options to register OneTable synced Iceberg tables to BigLake Metastore:
This document explains how to query Hudi and Delta table formats through the use of manifest files.