Размер сброса при использовании kafka-connect-transform-archive с HdfsSinkConnector - PullRequest
1 голос
/ 26 апреля 2019

У меня есть данные в теме Kafka, которые я хочу сохранить на своем озере данных.

Прежде чем беспокоиться о ключах, я смог сохранить значения Avro в файлах на данных, используя HdfsSinkConnector.Количество значений сообщений в каждом файле определялось свойством «flush.size» HdfsSinkConnector.

Все хорошо.Затем я хотел сохранить ключи.Для этого я использовал kafka-connect-transform-archive, который упаковывает ключ String и значение Avro в новую схему Avro.

Это прекрасно работает ... за исключением того, что flush.size для HdfsSinkConnector теперь игнорируется.Каждый файл, сохраненный в озере данных, содержит ровно 1 сообщение.

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

Единственное различие между этими двумя ситуациями заключается в конфигурации для HdfsSinkConnector, которая задает преобразование архива.

"transforms": "tran",
"transforms.tran.type": "com.github.jcustenborder.kafka.connect.archive.Archive"

Может ли kafka-connect-transform-archive игнорировать размер сброса в зависимости от конструкции или есть какая-то дополнительная конфигурация, которая мне нужна для того, чтобы иметь возможность сохранять сообщения с несколькими ключами и значениями на файл в озере данных?

...