ljx*_*xue 11 python schema avro
我正在尝试使用Python Avro库(https://pypi.python.org/pypi/avro)来读取由JAVA生成的AVRO文件.由于架构已嵌入avro文件中,为什么我需要指定架构文件?有没有办法自动提取它?
发现另一个叫做fastavro的软件包(https://pypi.python.org/pypi/fastavro)可以提取avro架构.手册是否在设计中指定了python arvo包中的模式文件?非常感谢你.
小智 7
我使用python 3.4和Avro包1.7.7
对于架构文件使用:
reader = avro.datafile.DataFileReader(open('file_name.avro',"rb"),avro.io.DatumReader())
schema = reader.meta
print(schema)
Run Code Online (Sandbox Code Playgroud)
直接检查/usr/local/lib/python2.7/site-packages/avro/datafile.py揭示了答案:
reader = avro.datafile.DataFileReader(input,avro.io.DatumReader())
schema = reader.datum_reader.writers_schema
print schema
Run Code Online (Sandbox Code Playgroud)
奇怪的是,在Java中有一种特殊的方法:reader.getSchema().
| 归档时间: |
|
| 查看次数: |
10694 次 |
| 最近记录: |