protobuf
Protocol Buffers 是一种轻便高效的结构化数据存储格式。我也是重度使用者。最近需要大量的实时处理Tb级别的数据,因此找到了protobuf的代替库 —- pyrobuf
pyrobuf
pyrobuf是一个使用cython的pb库。一开始从他的github中,我确实看到了挺好的优化效果。
但是pyrobuf这个库的限制还是蛮大的,主要是对于proto文件。比如
1 | 1. 不能在message里面定义数据结构,不然转化的过程中,会找不到定义; |
use
1 | pip install pyrobuf |
这里面,out目录存放着生成的cython的代码,build目录存放这边一好的so文件,而install的参数添加之后,则pyrobuf会将编译好的so文件复制到python的library目录,这就可以直接使用。
结果
上线观察了下数据,原本20分钟转化的数据,只用了4分钟就转化完毕。不过数据内容还没有核对,晚点再查看吧~