List
String strSc="{"type" : "record", "name" : "event", "doc" : "event record", "fields" : [ { "name" : "event_id", "type" : "string" }, { "name" : "host", "type" : "string" }, { "name" : "source_address", "type" : "string" }]}"
Schema avroSchema=new Schema(strSc)
byte[] bytes = null;
ByteArrayOutputStream out=null;
try {
out = new ByteArrayOutputStream();
Encoder encoder = EncoderFactory.get().binaryEncoder(out, null);
GenericData.Record genericRecord = new GenericData.Record(avroSchema);
avroSchema.getFields().stream().map(Schema.Field::name).filter(field -> record.get(field) != null).forEach(field ->
{
//System.out.println((String) field +" - "+record.get(field));
genericRecord.put((String) field, record.get(field));
});
writer.write(genericRecord, encoder);
encoder.flush();
bytes = out.toByteArray();
BinaryDecoder decoder = DecoderFactory.get().binaryDecoder(bytes, null);
result = reader.read(null, decoder);
System.out.println("enent id: "+ result.get("event_id") );
String strSc="{"type" : "record", "name" : "event", "doc" : "event record", "fields" : [ { "name" : "event_id", "type" : "string" }, { "name" : "host", "type" : "string" }, { "name" : "source_address", "type" : "string" }]}"
byte[] bytes = null;
ByteArrayOutputStream out=null;
try {
out = new ByteArrayOutputStream();
Encoder encoder = EncoderFactory.get().binaryEncoder(out, null);
GenericData.Record genericRecord = new GenericData.Record(avroSchema);
avroSchema.getFields().stream().map(Schema.Field::name).filter(field -> record.get(field) != null).forEach(field ->
{
//System.out.println((String) field +" - "+record.get(field));
genericRecord.put((String) field, record.get(field));
});
writer.write(genericRecord, encoder);
encoder.flush();
bytes = out.toByteArray();
BinaryDecoder decoder = DecoderFactory.get().binaryDecoder(bytes, null);
result = reader.read(null, decoder);
System.out.println("enent id: "+ result.get("event_id") );
No comments:
Post a Comment