Skip to main content
Интеграция с каталогом Lakekeeper работает только с таблицами Iceberg. Эта интеграция поддерживает как AWS S3, так и других поставщиков облачных хранилищ.
ClickHouse поддерживает интеграцию с несколькими каталогами (Unity, Glue, REST, Polaris и т. д.). В этом руководстве описано, как выполнять запросы к данным с помощью ClickHouse и каталога Lakekeeper. Lakekeeper — это реализация REST-каталога для Apache Iceberg с открытым исходным кодом, которая предоставляет:
  • Нативную реализацию на Rust для высокой производительности и надёжности
  • Соответствие REST API спецификации Iceberg REST Catalog
  • Интеграцию с облачными хранилищами, совместимыми с S3
Поскольку эта возможность является экспериментальной, её нужно включить с помощью: SET allow_experimental_database_iceberg = 1;

Локальная среда разработки

Для локальной разработки и тестирования можно использовать Lakekeeper в контейнерах. Этот подход хорошо подходит для обучения, создания прототипов и работы в средах разработки.

Предварительные требования

  1. Docker and Docker Compose: Убедитесь, что Docker установлен и запущен
  2. Пример конфигурации: Вы можете использовать конфигурацию Lakekeeper для docker-compose

Настройка локального каталога Lakekeeper

Вы можете использовать официальную сборку Lakekeeper для docker-compose, которая предоставляет полное окружение с Lakekeeper, серверной частью метаданных PostgreSQL и MinIO для объектного хранилища. Шаг 1: Создайте новую папку, в которой будете запускать пример, затем создайте файл docker-compose.yml со следующей конфигурацией:
Шаг 2: Выполните следующую команду, чтобы запустить сервисы:
Шаг 3: Подождите, пока все сервисы будут готовы. Вы можете проверить журналы:
Для настройки Lakekeeper необходимо сначала загрузить тестовые данные в таблицы Iceberg. Прежде чем выполнять запросы к ним через ClickHouse, убедитесь, что в окружении таблицы созданы и заполнены данными. Доступность таблиц зависит от конкретной конфигурации docker-compose и скриптов загрузки тестовых данных.

Подключение к локальному каталогу Lakekeeper

Подключитесь к контейнеру ClickHouse:
Затем создайте подключение к каталогу Lakekeeper:

Запросы к таблицам каталога Lakekeeper в ClickHouse

Теперь, когда соединение установлено, можно начинать выполнять запросы через каталог Lakekeeper. Например:
Если в вашей конфигурации есть тестовые данные (например, набор данных taxi), вы должны увидеть такие таблицы:
Если таблицы не отображаются, обычно это означает следующее:
  1. Среда ещё не создала тестовые таблицы
  2. Сервис каталога Lakekeeper ещё не полностью инициализирован
  3. Процесс загрузки тестовых данных ещё не завершён
Чтобы проверить ход создания таблиц, можно посмотреть журналы Spark:
Чтобы выполнить запрос к таблице (если она доступна):
Обратные кавычки обязательныОбратные кавычки обязательны, потому что ClickHouse не поддерживает несколько пространств имен.
Чтобы просмотреть DDL таблицы:

Загрузка данных из озера данных в ClickHouse

Если вам нужно загрузить данные из каталога Lakekeeper в ClickHouse, начните с создания локальной таблицы в ClickHouse:
Затем загрузите данные из таблицы в вашем каталоге Lakekeeper с помощью INSERT INTO SELECT:
Последнее изменение 24 июля 2026 г.