9
In Python 2.7, mit Avro, möchte ich ein Objekt zu einem Byte-Array zu kodieren.Kodieren Sie ein Objekt mit Avro zu einem Byte-Array in Python
Alle Beispiele, die ich gefunden habe, schreiben in eine Datei.
Ich habe versucht mit io.BytesIO(), aber dies gibt:
AttributeError: '_io.BytesIO' object has no attribute 'write_long'
Probe io.BytesIO mit
def avro_encode(raw, schema):
writer = DatumWriter(schema)
avro_buffer = io.BytesIO()
writer.write(raw, avro_buffer)
return avro_buffer.getvalue()
Wenn Sie dies unter Python 3 Änderung ausgeführt werden soll "schema = avro.schema.parse (test_schema)" auf „Schema = avro.schema. Parse (test_schema) " – JamesC
schnelle Frage, wenn ich versuche, diesen Strom von Bytes in Datei zu schreiben und dann auf hdfs zu speichern, der hdfs dfs -text Befehl ist nicht in der Lage, es wieder in String zu konvertieren, anscheinend fehlt mir irgendeinen Schritt vorher den Stream in eine Datei schreiben. – chandank