ClickHouse/docs/ru/dicts/external_dicts.md
2017-11-19 15:11:23 +03:00

3.1 KiB
Raw Blame History

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

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

ClickHouse:

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

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

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

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

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

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

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

    ...

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

В одном файле можно сконфигурировать произвольное количество словарей. Формат файла сохраняется даже если словарь один (т.е. <yandex><dictionary> <!--configuration--> </dictionary></yandex>).

Смотрите также "Функции для работы с внешними словарями" .

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

.. toctree::
    :glob:
   
    external_dicts_dict*