avro文件读写器
pyavroc的Python项目详细描述
一个用于python的avro文件读写器。
用法
>>>importpyavroc>>>withopen('myfile.avro')asfp:>>>reader=pyavroc.AvroFileReader(fp,types=True)>>>forrecordinreader:>>>printrecord
与原avro python api相比
pyavroc是位于上游avro-c之上的python api,这意味着它读取 比avro的python实现快40倍。(确切地说 计时取决于使用的python版本)。
Name | Description | Relative speed (bigger is better) |
---|---|---|
python-avro | Avro’s implementation (pure Python) | 1 |
fastavro | python-avro improved, using Cython | 10 |
pyavroc | Python/C API on upstream Avro-C | 40 |
构建模块
你将需要建立一个应用了许多补丁的avro-c。这是 位于https://github.com/Byhiras/avro.git,分支“补丁”。
然后可以构建pyavroc,链接到avro-c共享库。
pyavroc存储库包含脚本clone_avro_and_build.sh 使这个过程自动化:
./clone_avro_and_build.sh
写入记录
pyavroc支持编写,既支持作为字典创建的记录,也支持 对于创建为python对象的记录。
更多示例
在tests目录中提供了更多示例。
许可证
版权所有2015 byhiras(欧洲)有限公司
根据apache许可证2.0版(以下简称“许可证”)授权;您可以 除非符合许可证,否则不要使用此文件。你可以获得 许可证副本位于:
http://www.apache.org/licenses/LICENSE-2.0
除非适用法律要求或书面同意,否则软件 根据许可证分发是按“原样”分发的, 无任何明示或默示的保证或条件。 有关管理权限的特定语言和 许可下的限制。