Кафка связывает свойство отношения между partition.duration.ms и flush size? - PullRequest
0 голосов
/ 11 октября 2018

Может ли кто-нибудь объяснить значение section.duration.ms и flushsize в приведенной ниже конфигурации.Что стоит за настройкой этих свойств?

"connector.class": "io.confluent.connect.s3.S3SinkConnector",
  "s3.region": "eu-central-1",
  "partition.duration.ms": "1000",
  "topics.dir": "root_bucket",
  "flush.size": "10",
  "topics": "TEST_SRV",
  "tasks.max": "1",
  "s3.part.size": "5242880",
  "timezone": "UTC",
  "locale": "US",
  "key.converter.schemas.enable": "true",
  "format.class": "io.confluent.connect.s3.format.json.JsonFormat",
  "partitioner.class": "io.confluent.connect.storage.partitioner.TimeBasedPartitioner",
  "schema.generator.class": "io.confluent.connect.storage.hive.schema.DefaultSchemaGenerator",
  "value.converter.schemas.enable": "false",
  "value.converter": "org.apache.kafka.connect.json.JsonConverter",
  "storage.class": "io.confluent.connect.s3.storage.S3Storage",
  "s3.bucket.name": "events-dev-s3",
  "key.converter": "org.apache.kafka.connect.storage.StringConverter",
  "path.format": "'year'-YYYY/'month'-MM/'day'-dd/'hour'-HH",
  "timestamp.extractor": "RecordField",
  "timestamp.field": "event_data.created_at"

Ответы [ 2 ]

0 голосов
/ 24 мая 2019

длительность раздела 1 секунда не имеет смысла, поскольку вы настроили разделитель на создание только часовых разделов.

Для разделителя установлено , а не делать только почасовые перегородки.

"path.format": "'year'-YYYY/'month'-MM/'day'-dd/'hour'-HH"

Устанавливает гранулярность структуры каталогов час

"partition.duration.ms": "1000"

Это настраивает соединитель на вывод файла для каждой «второй» величины данных (..per входной раздел)

Файлы будут записываться в «почасовые» каталоги, которые охватывают «вторую» файл былсгенерировано для.

IE Почасовые каталоги будут содержать все данные за этот час (в данном случае, все файлы в секунду)

0 голосов
/ 11 октября 2018

Длительность раздела определяет, как часто основанный на времени разделитель создает новый «путь.формат».В вашем случае длительность раздела в 1 секунду не имеет смысла, потому что вы установили разделитель на создание только часовых разделов.

Тогда размер сброса является верхней границей для того, сколько записей Kafka будет существовать в любомданный файл


Смысл значений зависит от пропускной способности ваших тем и от того, какую задержку вы готовы терпеть, прежде чем будете читать записи с S3, а не непосредственно с Kafka.

Обратите внимание, что вы платите за каждое сканирование S3, поэтому более высокая чистота и меньше общих файлов помогут сэкономить деньги

...