private static AvroRowDeserializationSchema createDeserializationSchema(Class<? extends SpecificRecordBase> record) { return new AvroRowDeserializationSchema(record); }
@Override public Row deserialize(byte[] message) throws IOException { // read record try { inputStream.setBuffer(message); this.record = datumReader.read(record, decoder); } catch (IOException e) { throw new RuntimeException("Failed to deserialize Row.", e); } // convert to row final Object row = convertToRow(schema, record); return (Row) row; }
for (int i = 0; i < fields.size(); i++) { final Schema.Field field = fields.get(i); row.setField(i, convertToRow(field.schema(), record.get(field.pos())));