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