Настройка размеров файлов S3 для Кафки - PullRequest
1 голос
/ 08 ноября 2019

Я пытаюсь разобраться в конфигурации flush.size и rotate.interval.ms для разъема S3. Я развернул S3-коннектор, и у меня, похоже, размеры файлов варьируются от 6 kb до 30 mb. Интересно, кто-нибудь здесь может помочь мне с советами о том, как получить файлы почти одинакового размера?

Вот моинастройки: flush.size= 200000, rotate.interval.ms=10min

Мы также попытались свернуть наш собственный коннектор на основе примера в этом git https://github.com/canelmas/kafka-connect-field-and-time-partitioner, но мы не можем получить размеры файлов примерно одинаковымиразмер.

1 Ответ

2 голосов
/ 09 ноября 2019

S3 Sink Connector записывает данные в путь раздела для каждого раздела Kafka и путь раздела, определенный для partitione.class.

Обычно S3 соединяет буферы сброса в нижеуказанное условие.

  1. rotate.schedule.interval.ms : если это время прошло
  2. rotate.interval.ms : время прошло в терминах timestamp.extractor time

Примечание. Эти полезные данные для очистки заднего фона позволяют предположить, что rotate.interval.ms и мы имеемЗатем данные задерживаются на 6 часов, поэтому каждая отметка времени, прошедшая 10-минутный сброс, будет задерживаться на несколько секунд, наоборот, если данные не передаются, они будут ждать получения следующего rotate.interval.ms, переданного

flush.size : Предположим, что потоки данных достаточно высоки, и если сообщение достигнет flush.size до точки 1 и 2, тогда flush получит триггер. В то же время, если размер потока данных невелик, тогда сбрасывание приведет к срабатыванию триггера на основе точек 1 и 2

В случае Time Based Partitioner

partition.duration.ms : Определяет максимальное время сброса до s3 в одном каталоге закодированных разделов.
...