CREATE DICTIONARY
Словарь — это отображение вида (key -> attributes), удобное для различных типов справочников.
ClickHouse поддерживает специальные функции работы со словарями, которые можно использовать в запросах. Использовать словари через функции проще и эффективнее, чем выполнять JOIN со справочными таблицами.
Словари можно создавать двумя способами:
- С помощью DDL-запроса (рекомендуется)
- С помощью файла конфигурации
Создание словаря с помощью DDL-запроса
Словари можно создавать с помощью DDL-запросов. Этот метод является рекомендуемым, поскольку для словарей, созданных с помощью DDL:
- В конфигурационные файлы сервера не добавляются дополнительные записи.
- Словари могут использоваться как полноценные сущности, такие как таблицы или представления.
- Данные можно читать напрямую, используя привычный синтаксис
SELECT, а не табличные функции словаря. Обратите внимание, что при прямом доступе к словарю через операторSELECTкэшируемый словарь вернет только данные из кэша, тогда как для некэшируемого словаря будут возвращены все данные, которые он хранит. - Словари можно легко переименовывать.
Синтаксис
| Clause | Description |
|---|---|
| Attributes | Атрибуты словаря задаются аналогично столбцам таблицы. Единственным обязательным свойством является тип, все остальные свойства могут иметь значения по умолчанию. |
| PRIMARY KEY | Определяет ключевой(ые) столбец(ы) для обращений к словарю. В зависимости от схемы размещения один или несколько атрибутов могут быть указаны как ключи. |
SOURCE | Определяет источник данных для словаря (например, таблица ClickHouse, HTTP, PostgreSQL). |
LAYOUT | Определяет, как словарь хранится в памяти (например, FLAT, HASHED, CACHE). |
LIFETIME | Задает интервал обновления словаря. |
ON CLUSTER | Создает словарь в кластере. Необязательный параметр. |
SETTINGS | Дополнительные настройки словаря. Необязательный параметр. |
COMMENT | Добавляет текстовый комментарий к словарю. Необязательный параметр. |
Создание словаря с помощью конфигурационного файла
Создание словаря с помощью конфигурационного файла не поддерживается в ClickHouse Cloud. Пожалуйста, используйте DDL (см. выше) и создайте словарь от имени пользователя default.
Конфигурационный файл словаря имеет следующий формат:
Вы можете настроить любое количество словарей в одном файле.
Связанные материалы
- Layouts — Хранение словарей в памяти
- Sources — Подключение к источникам данных
- Lifetime — Настройка автоматического обновления
- Attributes — Настройка ключей и атрибутов
- Embedded Dictionaries — Встроенные словари геобазы
- system.dictionaries — Системная таблица с информацией о словарях