def read_error(self, writers_schema, readers_schema, decoder): datum_reader = io.DatumReader(writers_schema, readers_schema) return AvroRemoteException(datum_reader.read(decoder))
# # Constants # # Handshake schema is pulled in during build HANDSHAKE_REQUEST_SCHEMA = schema.parse(""" @HANDSHAKE_REQUEST_SCHEMA@ """) HANDSHAKE_RESPONSE_SCHEMA = schema.parse(""" @HANDSHAKE_RESPONSE_SCHEMA@ """) HANDSHAKE_REQUESTOR_WRITER = io.DatumWriter(HANDSHAKE_REQUEST_SCHEMA) HANDSHAKE_REQUESTOR_READER = io.DatumReader(HANDSHAKE_RESPONSE_SCHEMA) HANDSHAKE_RESPONDER_WRITER = io.DatumWriter(HANDSHAKE_RESPONSE_SCHEMA) HANDSHAKE_RESPONDER_READER = io.DatumReader(HANDSHAKE_REQUEST_SCHEMA) META_SCHEMA = schema.parse('{"type": "map", "values": "bytes"}') META_WRITER = io.DatumWriter(META_SCHEMA) META_READER = io.DatumReader(META_SCHEMA) SYSTEM_ERROR_SCHEMA = schema.parse('["string"]') # protocol cache REMOTE_HASHES = {} REMOTE_PROTOCOLS = {} BIG_ENDIAN_INT_STRUCT = io.struct_class('!I') BUFFER_HEADER_LENGTH = 4
def read_response(self, writers_schema, readers_schema, decoder): datum_reader = io.DatumReader(writers_schema, readers_schema) result = datum_reader.read(decoder) return result
def _ReadRequest(self, writer_schema, reader_schema, decoder): datum_reader = avro_io.DatumReader(writer_schema, reader_schema) return datum_reader.read(decoder)
# Test writing avros from avro import schema, datafile, io import pprint OUTFILE_NAME = 'tmp/messages.avro' # Test reading avros rec_reader = io.DatumReader() # Create a 'data file' (avro file) reader df_reader = datafile.DataFileReader( open(OUTFILE_NAME), rec_reader ) # Read all records stored inside pp = pprint.PrettyPrinter() for record in df_reader: pp.pprint(record)
def _ReadError(self, writer_schema, reader_schema, decoder): datum_reader = avro_io.DatumReader(writer_schema, reader_schema) return AvroRemoteException(datum_reader.read(decoder))
def _ReadResponse(self, writer_schema, reader_schema, decoder): datum_reader = avro_io.DatumReader(writer_schema, reader_schema) result = datum_reader.read(decoder) return result
def read_datum(buffer, writers_schema, readers_schema=None): reader = StringIO(buffer.getvalue()) decoder = io.BinaryDecoder(reader) datum_reader = io.DatumReader(writers_schema, readers_schema) return datum_reader.read(decoder)
def read_request(self, writers_schema, readers_schema, decoder): datum_reader = io.DatumReader(writers_schema, readers_schema) return datum_reader.read(decoder)
def read_avro(filename): rec_reader = io.DatumReader() df_reader = datafile.DataFileReader(open(filename), rec_reader) for record in df_reader: print record