ClickHouse/docs/ru/sql-reference/dictionaries/external-dictionaries/external-dicts.md
Roman Bug 9ec78855cd
DOCSUP-2806: Add meta header in RU (#15801)
* DOCSUP-2806: Add meta intro.

* DOCSUP-2806: Update meta intro.

* DOCSUP-2806: Fix meta.

* DOCSUP-2806: Add quotes for meta headers.

* DOCSUP-2806: Remove quotes from meta headers.

* DOCSUP-2806: Add meta headers.

* DOCSUP-2806: Fix quotes in meta headers.

* DOCSUP-2806: Update meta headers.

* DOCSUP-2806: Fix link to nowhere in EN.

* DOCSUP-2806: Fix link (settings to tune)

* DOCSUP-2806: Fix links.

* DOCSUP-2806:Fix links EN

* DOCSUP-2806: Fix build errors.

* DOCSUP-2806: Fix meta intro.

* DOCSUP-2806: Fix toc_priority in examples datasets TOC.

* DOCSUP-2806: Fix items order in toc.

* DOCSUP-2806: Fix order in toc.

* DOCSUP-2806: Fix toc order.

* DOCSUP-2806: Fix order in toc.

* DOCSUP-2806: Fix toc index in create

* DOCSUP-2806: Fix toc order in create.

Co-authored-by: romanzhukov <romanzhukov@yandex-team.ru>
Co-authored-by: alexey-milovidov <milovidov@yandex-team.ru>
2020-10-26 13:29:30 +03:00

4.5 KiB
Raw Blame History

toc_priority toc_title
39 Внешние словари

Внешние словари

Существует возможность подключать собственные словари из различных источников данных. Источником данных для словаря может быть локальный текстовый/исполняемый файл, HTTP(s) ресурс или другая СУБД. Подробнее смотрите в разделе «Источники внешних словарей».

ClickHouse:

  • Полностью или частично хранит словари в оперативной памяти.
  • Периодически обновляет их и динамически подгружает отсутствующие значения.
  • Позволяет создавать внешние словари с помощью xml-файлов или DDL-запросов.

Конфигурация внешних словарей может находится в одном или нескольких xml-файлах. Путь к конфигурации указывается в параметре dictionaries_config.

Словари могут загружаться при старте сервера или при первом использовании, в зависимости от настройки dictionaries_lazy_load.

Системная таблица system.dictionaries содержит информацию о словарях, сконфигурированных на сервере. Для каждого словаря там можно найти:

  • Статус словаря.
  • Конфигурационные параметры.
  • Метрики, наподобие количества занятой словарём RAM или количества запросов к словарю с момента его успешной загрузки.

Конфигурационный файл словарей имеет вид:

<yandex>
    <comment>Необязательный элемент с любым содержимым. Игнорируется сервером ClickHouse.</comment>

    <!--Необязательный элемент, имя файла с подстановками-->
    <include_from>/etc/metrika.xml</include_from>


    <dictionary>
        <!-- Конфигурация словаря -->
    </dictionary>

    ...

    <dictionary>
        <!-- Конфигурация словаря -->
    </dictionary>
</yandex>

В одном файле можно сконфигурировать произвольное количество словарей.

Если вы создаёте внешние словари DDL-запросами, то не задавайте конфигурацию словаря в конфигурации сервера.

!!! attention "Внимание" Можно преобразовывать значения по небольшому словарю, описав его в запросе SELECT (см. функцию transform). Эта функциональность не связана с внешними словарями.

Смотрите также

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