Перейти к основному содержимому

Подключение к ClickHouse Закрытая бета-версия Совместимо с dbt v2

dbt v2 в dbt platform поддерживает подключение к ClickHouse Cloud и к самостоятельно управляемым одноузловым экземплярам ClickHouse. Для среды, использующей это подключение, выберите канал выпуска dbt v2.

Закрытое бета-тестирование ClickHouse

Подключения к ClickHouse в v2 находятся на этапе закрытого бета-тестирования и не готовы к использованию в производственных средах. Чтобы запросить доступ, свяжитесь с представителем, который ведёт вашу учётную запись. Возможны небольшие ошибки, поэтому пока не используйте эти подключения в производственных средах. Перед подключением ознакомьтесь с разделом Ограничения.

Права доступа к хранилищу для dbt v2​

Пользователь ClickHouse, от имени которого подключается dbt v2, должен иметь возможность выполнять рабочие нагрузки dbt в целевой базе данных и читать системные таблицы, используемые для интроспекции.

Необходимые объекты ClickHouse​

Перед подключением следующие объекты должны существовать или быть доступны:

ОбъектНазначение
Сервис (ClickHouse Cloud) или сервер (самостоятельно управляемый, с одним узлом)Вычислительный ресурс
База данныхЦелевая база данных. В ClickHouse нет отдельного уровня схем, поэтому schema в dbt соответствует базе данных
ПользовательПользователь базы данных для аутентификации

Основные права доступа​

Для основных возможностей dbt требуются следующие права доступа:

Право доступаОбъектНазначение
SELECTТаблицы и представленияЧтение данных
INSERTТаблицыЗагрузка моделей, seed-файлов и снимков
ALTERТаблицыИзменение схемы (on_schema_change), индексы и проекции, комментарии (persist_docs), REPLACE PARTITION (insert_overwrite) и легковесные удаления (delete+insert)
TRUNCATEТаблицыПолное обновление данных из seed-файлов
CREATE TABLE, CREATE VIEW, CREATE DICTIONARYБаза данныхСоздание материализаций, включая промежуточные и резервные объекты, используемые для атомарного пересоздания (EXCHANGE TABLES, RENAME TABLE)
DROP TABLE, DROP VIEW, DROP DICTIONARYБаза данныхУдаление или замена объектов

Операции с метаданными​

dbt v2 читает следующие системные таблицы ClickHouse:

Системная таблицаНазначение
system.tablesПолучение списка объектов, построение каталога, обнаружение материализованных представлений, ссылающихся на таблицу
system.columnsМетаданные столбцов для каталога и обнаружения изменений схемы
system.databasesПроверка существования целевой базы данных
system.settingsПроверка доступности возможностей (легковесные удаления, insert_distributed_sync)
system.view_refreshesПроверка зависимостей обновляемых материализованных представлений

ClickHouse фильтрует системные таблицы, оставляя только объекты, к которым у пользователя есть доступ, поэтому отдельно предоставлять права на эти таблицы не требуется.

Управление базами данных​

Права доступа для управления базами данных, необходимые при определённых условиях:

Право доступаОбъектКогда требуется
CREATE DATABASEСерверАвтоматическое создание целевой базы данных, если она ещё не существует

Полное описание модели привилегий см. в разделе Управление доступом в документации ClickHouse.

Поля подключения​

При создании подключения к ClickHouse настройте следующие поля.

ПолеОписаниеТипОбязательное?Пример
Server HostnameURL конечной точки ClickHouse Cloud. Не указывайте https:// и порт. Скопируйте адрес из раздела Connect в консоли ClickHouse Cloud.СтрокаДаabc123.us-east-1.aws.clickhouse.cloud
PortПорт для подключения. Адаптер dbt для ClickHouse подключается по HTTPS. Используйте порт 8443. Порт 9440 (нативный протокол) не поддерживается адаптером.СтрокаНет8443
DatabaseИмя базы данных для подключения.СтрокаНетdefault
Пример полей подключения к ClickHouse.Пример полей подключения к ClickHouse.

После сохранения подключения настройте среду разработки:

  1. Создайте новый проект или откройте существующий.
  2. В настройках проекта выберите Environments в меню слева и откройте свою среду разработки.
  3. В разделе Connection выберите только что созданное подключение к ClickHouse.
  4. Сохраните среду.
Выбор подключения к ClickHouse для среды разработки.Выбор подключения к ClickHouse для среды разработки.

Учётные данные для разработки и развёртывания​

Каждый разработчик вводит личные учётные данные для разработки в разделе Your profile → Credentials. Для ClickHouse Cloud скопируйте имя пользователя и пароль из диалогового окна Connect в консоли ClickHouse Cloud. Обычно используется имя пользователя default.

ПолеОписаниеТипОбязательное?Пример
UsernameИмя пользователя базы данных.СтрокаДаdefault
PasswordПароль базы данных.СтрокаНетDatabasePassword123
SchemaПри разработке dbt создаёт ваши модели в схеме с этим именем. Используйте схему, уникальную для вашей личной среды разработки.СтрокаДаdbtlabsdocstest
Target nameИмя целевой конфигурации для этих учётных данных.СтрокаНетdefault
ThreadsКоличество потоков для выполнения операций dbt.Целое числоНет4
Пример полей учётных данных пользователя ClickHouse.Пример полей учётных данных пользователя ClickHouse.

Настройка​

О том, как оптимизировать производительность с помощью настроек dbt, специфичных для платформы данных, см. в разделе Настройки ClickHouse.

Описание полей профиля ClickHouse, которым соответствуют поля подключения, см. в разделе Настройка ClickHouse.

Ограничения​

Подключение к ClickHouse находится на этапе закрытого бета-тестирования. В частности, в dbt platform:

  • Semantic Layer dbt пока не поддерживается для подключений к ClickHouse.
  • Доступна только аутентификация по имени пользователя и паролю. OAuth, аутентификация с помощью пары ключей, SSH-туннелирование и подключение по частной сети пока не поддерживаются для ClickHouse.

Здесь также действуют ограничения адаптера ClickHouse для dbt v2, включая ограничения в поддержке кластеров, предоставления прав доступа, dbt clone, dbt source freshness и анализа SQL. Полную информацию см. в разделе Ограничения ClickHouse.

Нашли ошибку?

0
Loading