Wie kann ich AVRO C ++ verwenden, um eine Datei für ein Schema zu schreiben, das ich programmatisch definiert habe?C++

Programme in C++. Entwicklerforum
Guest
 Wie kann ich AVRO C ++ verwenden, um eine Datei für ein Schema zu schreiben, das ich programmatisch definiert habe?

Post by Guest »

Ich habe ein Beispielschema, das ich programmatisch definiere. Es ist so etwas wie < /p>

Code: Select all

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>
Die meisten Beispiele, die ich im Repo sehe, verwenden eine generierte Struktur, um eine Avro -Datei zu schreiben. Gibt es eine Möglichkeit, meine benutzerdefinierte definierte Struktur zu verwenden, um eine AVRO -Datei zu schreiben? >
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

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post