UDF? Грубо есть у меня 4 асинхронных инсерта (НЕ async_insert=1) которые льют по 100к строк, дальше триггерится матвьюха которая в свою очередь использует внешний бинарник. В сколько процессов из пула попадут данные, в 4 ? (тут можно опустить то что перед попаданием в матвьюху данные могут уже немного разделиться на кусочки)
UDF как type= executable_pool создана? ну по идее один блок на каждый паралельный INSERT и да, это должно 4 процесса udf запустить...
да, executable_pool. спасибо
но надо проверять, в документации ничего про это не сказано... https://clickhouse.com/docs/en/sql-reference/functions/#executable-user-defined-functions разница между executable_pool и executable по идее только в том, что executable запускается столько сколько надо (и наверное завершается после окончания запроса...) а executable_pool запускается сразу несколько процессов из pool_size и если надо посчитать функцию то выбирается какой то "свободный" но непонятно что будет если пул полностью забит... и как идет распределение... один процесс на одну query или один процесс на блок...
да, жаль что в доке не очень раскрыта эта тема. попробую на гитхабе задать вопрос
Максим раскрыл эту тему, можно тут почитать https://github.com/ClickHouse/ClickHouse/issues/41331#issuecomment-1247888728
Обсуждают сегодня