Skip to main content
Интеграция с каталогом Nessie работает только с таблицами Iceberg. Эта интеграция поддерживает как AWS S3, так и других провайдеров облачных хранилищ.
ClickHouse поддерживает интеграцию с несколькими каталогами (Unity, Glue, REST, Polaris и т. д.). В этом руководстве показано, как выполнять запросы к данным с помощью ClickHouse и каталога Nessie. Nessie — это транзакционный каталог с открытым исходным кодом для озер данных, который предоставляет:
  • Управление версиями данных в стиле Git с помощью веток и коммитов
  • Межтабличные транзакции и гарантии видимости
  • Соответствие REST API спецификации Iceberg REST-каталога
  • Открытый подход к озерам данных с поддержкой Hive, Spark, Dremio, Trino и других систем
  • Готовность к промышленной эксплуатации при развертывании в Docker или Kubernetes
Поскольку эта возможность является экспериментальной, ее нужно включить с помощью: SET allow_experimental_database_iceberg = 1;

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

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

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

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

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

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

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

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

Выполнение запросов к таблицам каталога Nessie в ClickHouse

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

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

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