Hi,
I¹ve got the following schema:
{
"name" : "Profile",
"type" : "record",
"fields" : [
{ "name" : "firstName", "type" : "string" },
{ "name" : "address" , "type" : {
"type" : "record",
"name" :
"AddressUSRecord",
"fields" : [
{ "name"
: "address1" , "type" : "string" },
{ "name"
: "address2" , "type" : "string" },
{ "name"
: "city" , "type" : "string" },
{ "name"
: "state" , "type" : "string" },
{ "name"
: "zip" , "type" : "int" },
{ "name"
: "zip4", "type": "int" }
]
}
}
]
}
I¹m using a GenericRecord to represent each Profile that gets created. To
add a firstName, it¹s easy to do the following:
Schema sch = Schema.parse(schemaFile);
DataFileWriter<GenericRecord> fw = new DataFileWriter<GenericRecord>(new
GenericDatumWriter<GenericRecord>()).create(sch, new File(outFile));
GenericRecord r = new GenericData.Record(sch);
r.put(³firstName², ³John²);
fw.append(r);
But how would I set the city, for example? How do I represent the key as a
string that the r.put method can understand?
Thanks