问题描述
一段时间以来,我一直在试图将头包裹在pyarrow上,阅读他们的文档,但是我仍然觉得我无法完全掌握它。我看到了他们不赞成使用的对任意python对象进行序列化的方法,但是由于不赞成使用这种方法,所以我想知道正确的存储方式是什么,例如,通常保存对象列表或任意python对象?
您什么时候也想使用pyarrow?
解决方法
PyArrow是(Apache)Arrow的python绑定。 Arrow是一种跨语言规范,描述了如何在内存中存储列数据。它用作数据处理应用程序和库的内部组件,使它们可以有效地处理大型表格数据集。
您还想何时使用pyarrow?
PyArrow的一个简单用例是在Pandas / Numpy / dict和Parquet文件格式之间进行转换。因此,例如,如果您需要在以不同语言编写的程序之间甚至在使用不同版本的python的程序之间共享列数据(例如DataFrames),那么执行此操作的一种好方法是将Pandas / Numpy / dict保存到Parquet文件(序列化)。例如,这是一种更便携的腌制格式。它还允许您以可移植的方式嵌入自定义元数据。