经过一些搜索后,我未能找到fastparquet
和pyarrow
的全面比较。
我找到了这个博客post(速度的基本比较)。
和一个github discussion声明使用fastparquet
创建的文件不支持AWS-athena(顺便说一句,情况仍然如此吗?)
什么时候/为什么要在另一个上使用?主要优点和缺点是什么?
我的特定用例是使用 dask
处理数据并将其写入s3,然后使用AWS-athena进行读取/分析。
最佳答案
我将fastparquet和pyarrow都用于将protobuf数据转换为parquet,并使用Athena在S3中对其进行查询。但是,在我的用例(即lambda函数)中,这两种方法都有效,打包zip文件必须轻巧,因此请使用fastparquet。 (fastparquet库仅约1.1mb,而pyarrow库为176mb,Lambda软件包限制为250mb)。
我使用以下内容将数据帧存储为 Parquet 文件:
from fastparquet import write
parquet_file = path.join(filename + '.parq')
write(parquet_file, df_data)