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

Конфигурации ClickHouse

Конфигурации ClickHouse​

ТипПоддерживается?Подробности
Материализация Materialized ViewДА, ЭкспериментальноСоздает материализованное представление.
Материализация Distributed tableДА, ЭкспериментальноСоздает распределенную таблицу.
Материализация Distributed incrementalДА, ЭкспериментальноИнкрементальная модель на основе той же идеи, что и распределенная таблица. Обратите внимание, что не все стратегии поддерживаются, посетите эту страницу для получения дополнительной информации.
Материализация DictionaryДА, ЭкспериментальноСоздает словарь.
Loading table...

Материализация View​

Модель dbt может быть создана как представление ClickHouse и настроена с использованием следующего синтаксиса:

dbt_project.yml
models:
<resource-path>:
+materialized: view

Материализация Table​

Модель dbt может быть создана как таблица ClickHouse и настроена с использованием следующего синтаксиса:

dbt_project.yml
models:
<resource-path>:
+materialized: table
+order_by: [ <column-name>, ... ]
+engine: <engine-type>
+partition_by: [ <column-name>, ... ]

Конфигурация таблицы​

ОпцияОписаниеОбязательно?
materializedКак модель будет материализована в ClickHouse. Должно быть table, чтобы создать модель таблицы.Обязательно
engineДвижок таблицы, используемый при создании таблиц. См. список поддерживаемых движков ниже.Необязательно (по умолчанию: MergeTree())
order_byКортеж имен столбцов или произвольных выражений. Это позволяет создать небольшой разреженный индекс, который помогает быстрее находить данные.Необязательно (по умолчанию: tuple())
partition_byРаздел — это логическое объединение записей в таблице по заданному критерию. Ключ раздела может быть любым выражением из столбцов таблицы.Необязательно
Loading table...

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

Инкрементальная материализация​

Модель таблицы будет перестраиваться при каждом выполнении dbt. Это может быть нецелесообразно и чрезвычайно затратно для больших наборов данных или сложных преобразований. Чтобы решить эту проблему и сократить время сборки, модель dbt может быть создана как инкрементальная таблица ClickHouse и настроена с использованием следующего синтаксиса:

dbt_project.yml
models:
<resource-path>:
+materialized: incremental
+order_by: [ <column-name>, ... ]
+engine: <engine-type>
+partition_by: [ <column-name>, ... ]
+unique_key: [ <column-name>, ... ]
+inserts_only: [ True|False ]

Конфигурация инкрементальной таблицы​

ОпцияОписаниеОбязательно?
materializedКак модель будет материализована в ClickHouse. Должно быть table, чтобы создать модель таблицы.Обязательно
unique_keyКортеж имен столбцов, которые уникально идентифицируют строки. Для получения более подробной информации об ограничениях уникальности см. здесь.Обязательно. Если не указано, измененные строки будут добавлены дважды в инкрементальную таблицу.
engineДвижок таблицы, используемый при создании таблиц. См. список поддерживаемых движков ниже.Необязательно (по умолчанию: MergeTree())
order_byКортеж имен столбцов или произвольных выражений. Это позволяет создать небольшой разреженный индекс, который помогает быстрее находить данные.Необязательно (по умолчанию: tuple())
partition_byРаздел — это логическое объединение записей в таблице по заданному критерию. Ключ раздела может быть любым выражением из столбцов таблицы.Необязательно
inserts_only(Устарело, см. стратегию материализации append). Если True, инкрементальные обновления будут вставлены непосредственно в целевую инкрементальную таблицу без создания промежуточной таблицы.Необязательно (по умолчанию: False)
incremental_strategyСтратегия, используемая для инкрементальной материализации. Поддерживаются delete+insert, append и insert_overwrite (экспериментально). Для получения дополнительной информации о стратегиях см. здесьНеобязательно (по умолчанию: 'default')
incremental_predicatesУсловие инкрементального предиката, применяемое к материализациям delete+insertНеобязательно
Loading table...

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

Снимок​

Снимки dbt позволяют фиксировать изменения в изменяемой модели с течением времени. Это, в свою очередь, позволяет выполнять запросы на модели с указанием времени, где аналитики могут "вернуться в прошлое" и посмотреть на предыдущее состояние модели. Эта функциональность поддерживается коннектором ClickHouse и настраивается с использованием следующего синтаксиса:

Для получения дополнительной информации о конфигурации, ознакомьтесь со страницей справки snapshot configs.

Узнать больше​

Адаптер dbt-clickhouse поддерживает большинство нативных возможностей dbt, таких как tests, snapshots, helper macros и другие. Полный обзор поддерживаемых возможностей и лучших практик см. в документации ClickHouse.

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

0
Loading