создать файл, аналогичный созданию текстового файла
Таким образом, я предполагаю, что вы следуете в качестве примера настройки производителя и потребителя, отправляя текстовые / json сообщения через kafka.
В вашем случае вам необходимо сериализовать ваш видеофайл / фрагмент / чанк в байты , отправить необработанные байты в kafka, прочитать их у потребителя и десериализовать ваш видеофайл / фрагмент / чанк обратно .
Чтобы отправить необработанные байты через kafka, вам нужно использовать ByteArraySerializer
в производителе и ByteArrayDeserializer
в потребителе.
См:
https://kafka.apache.org/20/javadoc/index.html?org/apache/kafka/common/serialization/ByteArrayDeserializer.html
https://kafka.apache.org/20/javadoc/org/apache/kafka/common/serialization/ByteArraySerializer.html
Итак, в вашей конфигурации вам нужно указать свойства (при условии, что вы не используете ключи, только значения):
Производитель:
"key.serializer":"org.apache.kafka.common.serialization.StringSerializer"
"value.serializer":"org.apache.kafka.common.serialization.ByteArraySerializer"
потребитель:
"key.deserializer":"org.apache.kafka.common.serialization.StringDeserializer"
"value.deserializer":"org.apache.kafka.common.serialization.ByteArrayDeserializer"
Если вы просто хотите отправить файл mp4, прочитайте его в байтах следующим образом (в java):
Файл в байт [] в Java
byte[] array = Files.readAllBytes(new File("/path/to/file").toPath());
С другой стороны, в потребителе вы получаете этот байтовый массив и сохраняете их в файл.