ClickHouse/docs/ru/operations/system-tables/dictionaries.md
2022-08-26 13:37:11 -04:00

8.0 KiB
Raw Blame History

slug
/ru/operations/system-tables/dictionaries

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