2016-02-27 27 views
0

我們正在將Storm與Kafka連接。使用Python反序列化內存中的Avro數據

在我們的設置中,Kafka在Avro存儲郵件。

我們使用名爲「Pyleus」的Storm包裝,並將Avro作爲變量插入。

問題: 如何使用任何Python-Avro模塊將變量中的Avro數據反序列化?有很多例子直接在.avro文件中反序列化Avro。但是,我們的用例具有性能要求,所以我們不能先寫入文件然後解析。

任何幫助,文件和/或例子將不勝感激。

+0

看看這可以幫助你https://groups.google.com/forum/#!topic/confluent-platform/A7B6uSnJa5k – Nautilus

+0

感謝您的評論! – howard

回答

0

假設您已將模式加載到'模式'中,並且您將avro數據轉換爲'raw_bytes'。下面可能有助於

bytes_reader = io.BytesIO(raw_bytes) 
decoder = avro.io.BinaryDecoder(bytes_reader) 
reader = avro.io.DatumReader(schema) 
decoded_data = reader.read(decoder)