system.dictionaries 

Содержит информацию о внешних словарях.

Столбцы:

  • database (String) — Имя базы данных, в которой находится словарь, созданный с помощью DDL-запроса. Пустая строка для других словарей.
  • name (String) — Имя словаря.
  • status (Enum8) — Статус словаря. Возможные значения:
    • NOT_LOADED — Словарь не загружен, потому что не использовался.
    • LOADED — Словарь загружен успешно.
    • FAILED — Словарь не загружен в результате ошибки.
    • LOADING — Словарь в процессе загрузки.
    • LOADED_AND_RELOADING — Словарь загружен успешно, сейчас перезагружается (частые причины: запрос SYSTEM RELOAD DICTIONARY, таймаут, изменение настроек словаря).
    • FAILED_AND_RELOADING — Словарь не загружен в результате ошибки, сейчас перезагружается.
  • origin (String) — Путь к конфигурационному файлу, описывающему словарь.
  • type (String) — Тип размещения словаря. Хранение словарей в памяти.
  • keyТип ключа: Числовой ключ (UInt64) или Составной ключ (String) — строка вида “(тип 1, тип 2, …, тип n)”.
  • attribute.names (Array(String)) — Массив имен атрибутов, предоставляемых справочником.
  • attribute.types (Array(String)) — Соответствующий массив типов атрибутов, предоставляемых справочником.
  • bytes_allocated (UInt64) — Объем оперативной памяти, используемый словарем.
  • query_count (UInt64) — Количество запросов с момента загрузки словаря или с момента последней успешной перезагрузки.
  • hit_rate (Float64) — Для cache-словарей — процент закэшированных значений.
  • 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) — Текст ошибки, возникающей при создании или перезагрузке словаря, если словарь не удалось создать.

Пример

Настройте словарь.

CREATE DICTIONARY dictdb.dict
(
    `key` Int64 DEFAULT -1,
    `value_default` String DEFAULT 'world',
    `value_expression` String DEFAULT 'xxx' EXPRESSION 'toString(127 * 172)'
)
PRIMARY KEY key
SOURCE(CLICKHOUSE(HOST 'localhost' PORT 9000 USER 'default' TABLE 'dicttbl' DB 'dictdb'))
LIFETIME(MIN 0 MAX 1)
LAYOUT(FLAT())

Убедитесь, что словарь загружен.

SELECT * FROM system.dictionaries
┌─database─┬─name─┬─status─┬─origin──────┬─type─┬─key────┬─attribute.names──────────────────────┬─attribute.types─────┬─bytes_allocated─┬─query_count─┬─hit_rate─┬─element_count─┬───────────load_factor─┬─source─────────────────────┬─lifetime_min─┬─lifetime_max─┬──loading_start_time─┌──last_successful_update_time─┬──────loading_duration─┬─last_exception─┐
│ dictdb   │ dict │ LOADED │ dictdb.dict │ Flat │ UInt64 │ ['value_default','value_expression'] │ ['String','String'] │           74032 │           0 │        1 │             1 │ 0.0004887585532746823 │ ClickHouse: dictdb.dicttbl │            0 │            1 │ 2020-03-04 04:17:34 │   2020-03-04 04:30:34        │                 0.002 │                │
└──────────┴──────┴────────┴─────────────┴──────┴────────┴──────────────────────────────────────┴─────────────────────┴─────────────────┴─────────────┴──────────┴───────────────┴───────────────────────┴────────────────────────────┴──────────────┴──────────────┴─────────────────────┴──────────────────────────────┘───────────────────────┴────────────────┘

Оригинальная статья

Rating: 4 - 1 votes

Was this content helpful?
★★★★☆