Как я могу использовать AVRO C ++, чтобы написать файл для схемы, которую я определил программатически?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как я могу использовать AVRO C ++, чтобы написать файл для схемы, которую я определил программатически?

Сообщение Anonymous »

У меня есть образец схема, которую я определяю программно. Это что -то вроде < /p>

Код: Выделить всё

struct UserEntry {
int64_t user_id;
std::string user_name;
std::string user_email;
int64_t user_phn;
}

avro::ValidSchema SampleUserPhEntry() {
avro::RecordSchema schema("UserEntries");
schema.addField("user_id", avro::LongSchema());
schema.addField("user_name", avro::StringSchema());
schema.addField("user_email", avro::StringSchema());
schema.addField("user_phone", avro::LongSchema());
return avro::ValidSchema(schema);
}

< /code>
Большинство примеров, которые я вижу в репо, используют сгенерированную структуру для записи файла Avro. Есть ли способ использования своей пользовательской определенной struct для написания файла AVRO? >
int WriteUserPhEntry() {
avro::ValidSchema schema = SampleUserPhEntry();
avro::GenericDatum schema_datum(schema);

const char* file_name = "user_entries.avro";
avro::DataFileWriter writer(file_name, schema);

avro::GenericRecord& record = schema_datum.value();

record.field("user_id").value() = static_cast(64);
record.field("user_name").value() = "avro_user";
record.field("user_email").value() = "avro_user@avro.com";
record.field("user_phone").value() = 1234567890;

std::cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/79416079/how-can-i-use-avro-c-to-write-a-file-for-a-schema-that-i-defined-programatical[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»