BigLake Metastore
ClickHouse поддерживает интеграцию с несколькими каталогами (Unity, Glue, Polaris и т. д.). В этом руководстве мы пошагово разберем, как выполнять запросы к вашим таблицам Iceberg в BigLake Metastore через ClickHouse.
Поскольку эта функция находится на стадии бета-тестирования, вам потребуется включить ее с помощью:
SET allow_database_iceberg = 1;
Предварительные требования
Перед созданием подключения из ClickHouse к BigLake Metastore убедитесь, что у вас есть:
- Проект Google Cloud с включённым BigLake Metastore
- Учётные данные Application Default Credentials (ID клиента OAuth и секрет клиента) для приложения, созданные через Google Cloud Console
- Токен обновления, полученный после завершения OAuth-потока с соответствующими областями доступа (например,
https://www.googleapis.com/auth/bigqueryи областью доступа к хранилищу для GCS) - Путь к warehouse: бакет GCS (и необязательный префикс), где хранятся ваши таблицы, например
gs://your-bucketилиgs://your-bucket/prefix
Создание подключения между BigLake Metastore и ClickHouse
После настройки учетных данных OAuth создайте в ClickHouse базу данных с использованием движка базы данных DataLakeCatalog:
Запросы к таблицам BigLake Metastore с помощью ClickHouse
После создания подключения вы можете выполнять запросы к таблицам, зарегистрированным в BigLake Metastore.
Пример вывода:
Обратные кавычки обязательны, потому что ClickHouse не поддерживает несколько пространств имен.
Чтобы просмотреть определение таблицы:
Загрузка данных из BigLake в ClickHouse
Чтобы загрузить данные из таблицы BigLake Metastore в локальную таблицу ClickHouse для ускорения повторных запросов, создайте таблицу MergeTree и вставьте данные из каталога:
После первоначальной загрузки выполняйте запросы к clickhouse_table с меньшей задержкой. При необходимости повторно выполните INSERT INTO ... SELECT, чтобы обновить данные из BigLake.