Я использую Apache Beam Java SDK для обработки событий и записи их в базу данных Clickhouse. К счастью, есть готовый к использованию ClickhouseIO.
ClickhouseIO накапливает элементы и вставляет их в пакетном режиме, но из-за параллельного характера конвейера в моем случае это все равно приводит к большому количеству вставок в секунду. Я часто получаю сообщение "DB::Exception: слишком много частей" или "DB::Exception: слишком много одновременных запросов" в Clickhouse.
Документация Clickhouse рекомендует выполнять 1 вставку в секунду. Могу ли я обеспечить это с помощью ClickhouseIO? Может быть, какая-то группировка KV перед ClickhouseIO.Write или что-то в этом роде?