Публикация всего файла как одного сообщения в Kafka topi c с использованием Java - PullRequest
0 голосов
/ 06 августа 2020
• 1000 Я попытался реализовать это, преобразовав файл в массив байтов и опубликовав sh его в topi c
byte[] fileData = Files.readAllBytes(Paths.get(path));
producer.send(new ProducerRecord<String, byte[]>("test", fileData));

Когда то же самое потребляется, каждая строка приходит как отдельное сообщение

1 Ответ

0 голосов
/ 06 августа 2020

Kafka имеет размер записи по умолчанию 1 МБ, и не предназначен для доставки файлов.

рекомендуется шаблон:

  1. Загрузите файл в общую файловую систему (например, S3)
  2. Выберите путь к файлу как URI (например, s3://path/to/file)
  3. Создайте этот URI в топе c запись
  4. Потребление
  5. Загрузить файл из файловой системы

Не видя своего потребителя, трудно диагностировать вашу точную проблему с потребителем , но вы читаете файл нормально.

...