system.dictionaries
Содержит информацию о внешних словарях.
Столбцы:
database
(String) — имя базы данных, в которой находится словарь, созданный с помощью DDL-запроса. Пустая строка для других словарей.name
(String) — имя словаря.uuid
(UUID) — уникальный UUID словаря.status
(Enum8) — статус словаря. Возможные значения:NOT_LOADED
— словарь не загружен, потому что не использовался.LOADED
— словарь загружен успешно.FAILED
— словарь не загружен в результате ошибки.LOADING
— словарь в процессе загрузки.LOADED_AND_RELOADING
— словарь загружен успешно, сейчас перезагружается (частые причины: запрос SYSTEM RELOAD DICTIONARY, таймаут, изменение настроек словаря).FAILED_AND_RELOADING
— словарь не загружен в результате ошибки, сейчас перезагружается.
origin
(String) — путь к конфигурационному файлу, описывающему словарь.type
(String) — тип размещения словаря. Хранение словарей в памяти.key.names
(Array(String)) — массив имен ключей, предоставляемых словарем.key.types
(Array(String)) — соответствующий массив типов ключей, предоставляемых словарем.attribute.names
(Array(String)) — массив имен атрибутов, предоставляемых словарем.attribute.types
(Array(String)) — соответствующий массив типов атрибутов, предоставляемых словарем.bytes_allocated
(UInt64) — объем оперативной памяти, используемый словарем.query_count
(UInt64) — количество запросов с момента загрузки словаря или с момента последней успешной перезагрузки.hit_rate
(Float64) — для cache-словарей — процент закэшированных значений.found_rate
(Float64) — процент обращений к словарю, при которых значение было найдено.element_count
(UInt64) — количество элементов, хранящихся в словаре.load_factor
(Float64) — процент заполнения словаря (для хэшированного словаря — процент заполнения хэш-таблицы).source
(String) — текст, описывающий источник данных для словаря.lifetime_min
(UInt64) — минимальное время обновления словаря в памяти, по истечении которого Clickhouse попытается перезагрузить словарь (если заданоinvalidate_query
, то только если он изменился). Задается в секундах.lifetime_max
(UInt64) — максимальное время обновления словаря в памяти, по истечении которого Clickhouse попытается перезагрузить словарь (если заданоinvalidate_query
, то только если он изменился). Задается в секундах.loading_start_time
(DateTime) — время начала загрузки словаря.loading_duration
(Float32) — время, затраченное на загрузку словаря.last_exception
(String) — текст ошибки, возникающей при создании или перезагрузке словаря, если словарь не удалось создать.comment
(String) — текст комментария к словарю.
Пример
Настройте словарь:
CREATE DICTIONARY dictionary_with_comment
(
id UInt64,
value String
)
PRIMARY KEY id
SOURCE(CLICKHOUSE(HOST 'localhost' PORT tcpPort() TABLE 'source_table'))
LAYOUT(FLAT())
LIFETIME(MIN 0 MAX 1000)
COMMENT 'The temporary dictionary';
Убедитесь, что словарь загружен.
SELECT * FROM system.dictionaries LIMIT 1 FORMAT Vertical;
Row 1:
──────
database: default
name: dictionary_with_comment
uuid: 4654d460-0d03-433a-8654-d4600d03d33a
status: NOT_LOADED
origin: 4654d460-0d03-433a-8654-d4600d03d33a
type:
key.names: ['id']
key.types: ['UInt64']
attribute.names: ['value']
attribute.types: ['String']
bytes_allocated: 0
query_count: 0
hit_rate: 0
found_rate: 0
element_count: 0
load_factor: 0
source:
lifetime_min: 0
lifetime_max: 0
loading_start_time: 1970-01-01 00:00:00
last_successful_update_time: 1970-01-01 00:00:00
loading_duration: 0
last_exception:
comment: The temporary dictionary