BigQuery и Apache Iceberg
dbt поддерживает материализацию таблиц Iceberg в BigQuery через интеграцию с каталогом, начиная с релиза dbt-bigquery 1.10.
Создание таблиц Iceberg
dbt поддерживает создание таблиц Iceberg для двух materialization в BigQuery:
Каталоги BigQuery Iceberg
В настоящее время BigQuery поддерживает таблицы Iceberg через встроенный каталог BigLake Metastore. Для доступа к BigLake Metastore не требуется дополнительная настройка. Однако перед созданием таблицы Iceberg необходимо заранее настроить storage bucket и необходимые роли BigQuery.
Конфигурации интеграции каталога dbt для BigQuery
В таблице ниже приведены поля конфигурации, необходимые для настройки интеграции каталога для таблиц BigLake Iceberg в BigQuery.
Настройка интеграции каталога для управляемых таблиц Iceberg
- Создайте файл
catalogs.ymlв корне вашего dbt‑проекта.
Пример:
catalogs:
- name: my_bigquery_iceberg_catalog
active_write_integration: biglake_metastore
write_integrations:
- name: biglake_metastore
external_volume: 'gs://mydbtbucket'
table_format: iceberg
file_format: parquet
catalog_type: biglake_metastore
- Примените конфигурацию каталога на уровне модели, папки или всего проекта:
{{
config(
materialized='table',
catalog_name='my_bigquery_iceberg_catalog'
)
}}
select * from {{ ref('jaffle_shop_customers') }}
- Выполните модель dbt с помощью команды
dbt run -s iceberg_model.
Ограничения
На данный момент BigQuery не поддерживает подключение к внешним каталогам Iceberg. Что касается SQL‑операций и возможностей управления таблицами, см. документацию BigQuery для получения дополнительной информации.