支持存储任意嵌套python数据结构的avro模式和数据转换器。

rec-avro的Python项目详细描述


记录avro:

avro支持json和其他嵌套数据结构。

rec avro提供了一个通用的avro模式和转换函数,允许在avro中存储嵌套的python数据结构。

仅在Python3中测试。

安装:

$ pip3 install rec-avro

用法:

使用Fastavro:

fromfastavroimportwriter,reader,schemafromrec_avroimportto_rec_avro_destructive,from_rec_avro_destructive,rec_avro_schemadefjson_objects():return[{'a':'a'},{'b':'b'}]# For efficiency, to_rec_avro_destructive() destroys rec, and reuses it's# data structures to construct avro_objects avro_objects=(to_rec_avro_destructive(rec)forrecinjson_objects())# store records in avrowithopen('json_in_avro.avro','wb')asf_out:writer(f_out,schema.parse_schema(rec_avro_schema()),avro_objects)#load records from avrowithopen('json_in_avro.avro','rb')asf_in:# For efficiency, from_rec_avro_destructive(rec) destroys rec, and # reuses it's data structures to construct it's outputloaded_json=[from_rec_avro_destructive(rec)forrecinreader(f_in)]assertloaded_json==json_objects()

开发:

# Running all tests:
$ python setup.py pytest

# Running tests manually
$ pip3 install fastavro pytest
$ python setup.py develop
$ pytest tests/test_rec_avro.py

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Android应用程序在后台   如何使用java减去日期。sql。时间戳   在Eclipse中使用Tomcat和Maven的java抛出错误   java Runnable jar什么都不做,资源不导出   并发Java内存模型:volatiles和读/写重新排序   使用Morphia在MongoDB中进行java批量升级。可能吗?   java将自己创建的sqlite数据库复制到安卓失败   在java中使用嵌套循环解决消除?   地图上多个标记的java实时动画   java如何在J2EE web应用程序中从服务层调用DAO方法   java我只想浏览文件,并将其作为电子邮件中的文件。我应如何附加:   猜猜我在think Java中的数字是57   可以在java流中的groupingBy中使用foreach吗?   我的Java程序编译时没有任何错误,但不会完全运行