Настройки строки проекта
Форму настроек строки проекта можно вызвать так: выбрать строку и нажать на .
Выберите раздел настроек, чтобы увидеть их описание:
Способ выгрузки.
Блоками - это стандартный способ выгрузки, используя инструкцию INSERT (вставка строк).
Через файл - этот способ работает быстрее. Вы можете выбрать его, но если вы делаете выгрузку в MS SQL - то не забудьте указать каталоги обмена на этапе создания подключения.
Подробнее о способах выгрузки читайте здесь: Способы выгрузки. В чем отличие и что выбрать? Статья написана про MS SQL, но для Clickhouse суть та же.
Способ обновления.
Перезапись партиции - для выгрузок, которые планируется использовать в дальнейшем для инкрементальной выгрузки данных. Суть его заключается в замещении старых данных партиции новыми данными этой партиции в случае изменений.
Добавление - партиции из очереди выгрузки должны добавляться в таблицу базы данных, при этом старые данные остаются нетронутыми (не удаляются). Такой способ к примеру используется здесь: Пример выгрузки справочника почти в режиме реального времени
Полное - полная замена данных всей таблицы. Этот метод используется в основном для разовых выгрузок таблиц целиком, без использования партицирования.
При выборе способа обновления «Добавление» или «Полное» появится еще одна настройка: «Параметры источника инициализируются из очереди выгрузки».
Что это означает: если снять эту галку - параметры, которые мы указали в нашем запросе, будут заполняться значениями, заданными вами в процессе создания набора данных 1С на закладке «Параметры» (эта закладка доступна только для источника данных на основе запроса 1С):
При такой настройке очередь выгрузки на при этом способе выгрузки вообще не нужна и не нужно включать обработчик формирования очереди выгрузки. Если же мы хотим, чтобы несмотря на полную выгрузку, параметры в запрос подставлялись из очереди выгрузки (созданной обработчиком регистрации изменений, например), и выгрузка производилась по очереди, партиция за партицией, то следует поставить эту галку.
И тогда параметры источника данных (параметры запроса по сути) будут заполняться из очереди, т.е. будут подставляться значения параметров партицирования: Сначала одна уникальная партиция очереди, потом вторая и т.д. Эта настройка может понадобиться для нестандартных выгрузок. Таких, как в этом примере: Выгрузка измерений с замещением (справочников) (ReplacingMergeTree)
Очередь выгрузки
В этих настройках можно ограничить количество выгружаемых строк очереди за 1 запуск по расписанию, если очередь в теории может оказаться очень большой.
Или объединить выгрузку нескольких элементов в одну выгрузку, если вам точно известно, что объем данных в каждой из них мал.
Распараллеливание выгрузки.
Здесь располагаются тонкие настройки для распараллеливания выгрузки.
Максимальное количество одновременно выполняющихся потоков. Чем их больше - тем быстрее все выгрузится, но все конечно зависит еще и от мощностей вашего сервера, так что устанавливать здесь какие-то невероятные числа не стоит.
Таймаут каждого потока. Если фоновое задание в потоке не будет выполнено в разумный срок - его лучше прервать сразу, чем продолжать загружать сервер. «Разумность» размера таймаута определяете вы сами, но слишком большие таймауты устанавливать не стоит, т.к. ваш сервер будет в течение установленного времени пробовать выполнить задание и при этом использовать ресурсы! По умолчанию установлен таймаут 3 секунды. Если ваш сервер не очень мощный, или вы настроили свою выгрузку так, что в одном потоке будет выполняться ресурсоемкий запрос - можно увеличить это значение.
Настройки буфера
Размер буфера. Если таблица очень большая, она может вся просто не поместиться в памяти, разумнее «подгружать» ее по частям. Для этих целей и устанавливается размер буфера. Т.е. количество записей, единовременно извлекаемых в память для последующей обработки и выгрузки. По умолчанию равен 1000. Если установить отрицательное значение - то данные будут извлекаться полностью.
Размер блока и размер блока удаляемых данных
Для выгрузок со способом выгрузки «Блоками» в этом разделе появится еще 2 настройки, которые не видны на форме при настройках выгрузки способом «Через файл».
Вот эти настройки:
Размер блока. Если вы выбрали способ выгрузки Блоками - то можете ограничить размер 1 блока определенным количеством записей. Будьте внимательны, уменьшая размер блока - вы увеличиваете количество запросов к серверу. Если оставить значение = 0, то будет выгружаться все записи 1 партиции в одном блоке.
Удалять блоками - Если галка не стоит, то выполняется один запрос удаления сразу всей партиции. Если стоит, то удаляется по заданному количеству записей (количество записей задается параметром Размере блока удаляемых данных ).
Размер блока удаляемых данных - Чем больше блок, тем дольше длится транзакция. Этот параметр только для выгрузок в транзакционные базы данных (таких как MS SQL), т.к. здесь речь идет об ограничении количества удаляемых записей в 1 транзакции. В Clickhouse это не нужно, т.к. там нет понятия транзакции.
Здесь настраивается обработчик формирования очереди для первичной/полной выгрузки данных.
Подробно о настройках и выполнении первичной выгрузки данных см. инструкцию: Как сделать первичную выгрузку данных проекта (см. Этап 9).
Этот обработчик заполнится автоматически на основании выбранных вами параметров партицирования при создании строки проекта конструктором, если только вы не использовали источник данных “Запрос” и выбрали на соответствующем шаге ”Сформировать/обновить”.
Вы можете заменить его на другой обработчик, написав его самостоятельно.
Для случаев, когда источник данных выбран “Запрос” - необходимо вручную установить нужный обработчик и заполнить его параметры.
Подробно о доступных предопределенных обработчиках можно прочитать здесь: Обработчики.
Здесь настраивается обработчик формирования очереди при изменении объектов. Он отвечает за инкрементальную выгрузку данных.
Если он настроен и включен - все изменения в документах, влияющих на данные, выгружаемые строкой проекта, автоматически добавляют записи в очередь выгрузки. Это производится с помощью существующего в 1С механизма подписок на события.
Если его отключить - регистрация изменений будет остановлена и изменения не попадут в очередь выгрузки.
Этот обработчик заполнится автоматически на основании выбранных вами параметров партицирования при создании строки проекта конструктором, если только вы не использовали источник данных “Запрос” и выбрали на соответствующем шаге ”Сформировать/обновить”.
Вы можете заменить его на другой обработчик, написав его самостоятельно.
Подробно о доступных обработчиках событий проекта можно прочитать здесь: Обработчики.
Подробно об инкрементальной выгрузке данных читайте в статье: Инкрементальная выгрузка данных.
Подробно о доступных обработчиках событий строки проекта читайте здесь: Обработчики.