*``format`` - Формат файла. Поддерживаются все форматы, описанные в разделе ":ref:`formats`".
.._dicts-external_dicts_dict_sources-executable:
Исполняемый файл
================
Работа с исполняемым файлом зависит от :ref:`размещения словаря в памяти <dicts-external_dicts_dict_layout>`. Если тип размещения словаря ``cache`` и ``complex_key_cache``, то ClickHouse запрашивает необходимые ключи, отправляя запрос в ``STDIN`` исполняемого файла.
Пример настройки:
..code-block:: xml
<source>
<executable>
<command>cat /opt/dictionaries/os.tsv</command>
<format>TabSeparated</format>
</executable>
</source>
Поля настройки:
*``command`` - Абсолютный путь к исполняемому файлу или имя файла (если каталог программы прописан в ``PATH``).
*``format`` - Формат файла. Поддерживаются все форматы, описанные в разделе ":ref:`formats`".
.._dicts-external_dicts_dict_sources-http:
HTTP(s)
=======
Работа с HTTP(s) сервером зависит от :ref:`размещения словаря в памяти <dicts-external_dicts_dict_layout>`. Если тип размещения словаря ``cache`` и ``complex_key_cache``, то ClickHouse запрашивает необходимые ключи, отправляя запрос методом ``POST``.
*``db`` - имя базы данных. Не указывать, если имя базы задано в параметрах ``<connection_string>``.
*``table`` - имя таблицы.
*``connection_string`` - строка соединения.
*``invalidate_query`` - запрос для проверки статуса словаря. Необязательный параметр. Читайте подробнее в разделе :ref:`dicts-external_dicts_dict_lifetime`.
*``port`` - порт сервера MySQL. Можно указать для всех реплик или для каждой в отдельности (внутри ``<replica>``).
*``user`` - имя пользователя MySQL. Можно указать для всех реплик или для каждой в отдельности (внутри ``<replica>``).
*``password`` - пароль пользователя MySQL. Можно указать для всех реплик или для каждой в отдельности (внутри ``<replica>``).
*``replica`` - блок конфигурации реплики. Блоков может быть несколько.
*``replica/host`` - хост MySQL.
*``replica/priority`` - приоритет реплики. При попытке соединения ClickHouse обходит реплики в соответствии с приоритетом. Чем меньше цифра, тем выше приоритет.
*``invalidate_query`` - запрос для проверки статуса словаря. Необязательный параметр. Читайте подробнее в разделе :ref:`dicts-external_dicts_dict_lifetime`.
*``host`` - хост ClickHouse. Если host локальный, то запрос выполняется без сетевого взаимодействия. Чтобы повысить отказоустойчивость решения, можно создать таблицу типа :ref:`Distributed <table_engines-distributed>` и прописать её в дальнейших настройках.