Я использую Apache Avro в моем проекте, и у меня есть требование сохранить будущие данные protobuf в схеме Avro. Я искал в Интернете, но не нашел никаких решений.Как преобразовать данные Protobuf в apache avro
Как я могу это сделать?
Я использую Apache Avro в моем проекте, и у меня есть требование сохранить будущие данные protobuf в схеме Avro. Я искал в Интернете, но не нашел никаких решений.Как преобразовать данные Protobuf в apache avro
Как я могу это сделать?
Вы не можете десериализовать данные protobuf с помощью системы сериализации apache avro, потому что они не используют один и тот же протокол кодирования/декодирования .
Одним из способов решения вашей проблемы является создание системы интерфейса, которая десериализует протобуф предстоящих данных (с использованием системы protobuf). После этого шага вы можете легко заполнить свой сгенерированный класс дешифрованными данными.
Я реализовать преобразование из буфера протокола к Avro записи вы можете попробовать: https://github.com/cecol/protobuf-to-avro , но вам все еще нужно, чтобы обеспечить надлежащую схему буфера протокола .proto файла и соответствуют Avro Schema .avsc файлового
Благодаря ... В моем коде мы в настоящее время используем ProtobufDatamWriter для записи данных protobuf в схеме avro, но protobufDatamWriter не применим для записи своего требуемого класса protobuf. пожалуйста, пришлите мне какой-нибудь код или дайте способ решить. –
Попробуйте использовать 'DatumWriter' из API API Apache (см. Больше [здесь] (http://avro.apache.org/docs/current/gettingstartedjava.html#Serializing-N101DE)) с данными protobuf ** десериализованными **. –