Query Apache Iceberg data

This document describes how to query data stored in aBigLake table for Apache Iceberg in BigQuery.

Required roles

To query BigLake tables for Apache Iceberg in BigQuery, ensurethat the caller of the BigQuery API has the following roles:

  • BigQuery Connection User (roles/bigquery.connectionUser)
  • BigQuery Data Viewer (roles/bigquery.dataViewer)
  • BigQuery User (roles/bigquery.user)

The caller can be your account, aSpark connection service account,or aCloud resource connection service account.Depending on your permissions, you cangrant these roles to yourself or ask your administratorto grant them to you. For more information about granting roles, seeViewing the grantable roles on resources.

To see the exact permissions that are required to querySpark BigLake tables, expand theRequired permissions section:

Required permissions

You might also be able to get these permissions withcustom rolesor otherpredefined roles.

Query BigLake Iceberg tables in BigQuery

After creating a BigLake Iceberg table in BigQuery, you canquery it usingGoogleSQL syntax, the same as ifit were a standard BigQuery table. For example,SELECT field1, field2FROM mydataset.my_iceberg_table;.

What's next

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-12-15 UTC.