Программы на C++. Форум разработчиков
Anonymous
Как я могу использовать AVRO C ++, чтобы написать файл для схемы, которую я определил программатически?
Сообщение
Anonymous » 14 фев 2025, 03:57
У меня есть образец схема, которую я определяю программно. Это что -то вроде < /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]
1739494640
Anonymous
У меня есть образец схема, которую я определяю программно. Это что -то вроде < /p> [code] 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]