{ "type": "record", "name": "Person", "fields": [ {"name": "name", "type": "string"}, {"name": "age", "type": "int"} ] } Schema.Parser parser = new Schema.Parser(); Schema avroSchema = parser.parse(schema); SpecificCompiler compiler = new SpecificCompiler(avroSchema); compiler.setOutputCharacterEncoding("UTF-8"); compiler.compileToDestination(null, outputDirectory); Person person = new Person(); person.setAge(25); ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); DatumWriter<Person> datumWriter = new SpecificDatumWriter<>(Person.class); Encoder encoder = EncoderFactory.get().binaryEncoder(outputStream, null); datumWriter.write(person, encoder); encoder.flush(); byte[] avroData = outputStream.toByteArray(); outputStream.close(); DatumReader<Person> datumReader = new SpecificDatumReader<>(Person.class); Decoder decoder = DecoderFactory.get().binaryDecoder(avroData, null); Person deserializedPerson = datumReader.read(null, decoder);


上一篇:
下一篇:
切换中文