Каталог среды выполнения Lakehouse (BigLake Metastore)
ClickHouse поддерживает интеграцию с несколькими каталогами (Unity, Glue, Polaris и т. д.). В этом руководстве мы пошагово разберем, как выполнять запросы к вашим таблицам Iceberg в каталоге среды выполнения Lakehouse, также известном как BigLake Metastore через ClickHouse.
Поскольку эта функция находится на стадии бета-тестирования, вам потребуется включить ее с помощью:
SET allow_database_iceberg = 1;
Предварительные требования
Перед созданием подключения из ClickHouse к каталогу среды выполнения Lakehouse (BigLake Metastore) убедитесь, что у вас есть:
- Проект Google Cloud с включённым каталогом среды выполнения Lakehouse
- Учётные данные 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
Создание подключения между каталогом среды выполнения Lakehouse и ClickHouse
После настройки учетных данных OAuth создайте в ClickHouse базу данных с использованием движка базы данных DataLakeCatalog:
Запросы к таблицам каталога среды выполнения Lakehouse с помощью ClickHouse
После создания подключения вы можете выполнять запросы к таблицам, зарегистрированным в каталоге среды выполнения Lakehouse.
Пример вывода:
Обратные кавычки обязательны, потому что ClickHouse не поддерживает несколько пространств имен.
Чтобы просмотреть определение таблицы:
Загрузка данных из Lakehouse в ClickHouse
Чтобы загрузить данные из таблицы каталога среды выполнения Lakehouse в локальную таблицу ClickHouse для ускорения повторных запросов, создайте таблицу MergeTree и вставьте данные из каталога:
После первоначальной загрузки выполняйте запросы к clickhouse_table с меньшей задержкой. При необходимости повторно выполните INSERT INTO ... SELECT, чтобы обновить данные из BigLake.