mos*_*evi 12 python parquet dask fastparquet pyarrow
经过一番搜索我没有找到一个彻底的比较fastparquet
和pyarrow
。
我找到了这篇博客文章(速度的基本比较)。
还有一个github 讨论,声称使用github 创建的文件fastparquet
不支持AWS-athena(顺便说一句,情况仍然如此吗?)
什么时候/为什么要在另一个上使用?主要优点和缺点是什么?
我的特定用例是处理数据,方法是将数据dask
写入s3,然后使用AWS-athena进行读取/分析。
小智 9
我将fastparquet和pyarrow都用于将protobuf数据转换为parquet,并使用Athena在S3中对其进行查询。但是,在我的用例(这是lambda函数)中,这两种方法都有效,软件包zip文件必须轻巧,因此请使用fastparquet。(fastparquet库仅约1.1mb,而pyarrow库为176mb,Lambda软件包限制为250mb)。
我使用以下内容将数据帧存储为实木复合地板文件:
from fastparquet import write
parquet_file = path.join(filename + '.parq')
write(parquet_file, df_data)
Run Code Online (Sandbox Code Playgroud)
我要指出速度比较的作者也是pyarrow的作者:)我可以谈谈fastparquet案例。
从您的角度来看,最重要的是要了解兼容性。Athena 不是 fastparquet(或 pyarrow)的测试目标之一,因此您应该在做出选择之前进行彻底的测试。对于日期时间表示、空值、类型,您可能想要调用 ( docs )的许多选项,这些选项可能对您很重要。
使用 dask 写入 s3 当然是 fastparquet 的测试用例,我相信 pyarrow 也应该没有问题。
到 2024 年,决定应该是显而易见的:使用 pyarrow 而不是 fastparquet:
\n\n\n在我们最近的 parquet 基准测试和弹性测试中,我们通常发现 pyarrow 引擎比 fastparquet 引擎能够更好地扩展到更大的数据集,并且与 fastparquet 相比,使用 pyarrow 运行时可以成功完成更多的测试用例。
\n
\n\npyarrow 库有一个更大的开发团队来维护它,并且\n似乎未来会有更多的社区支持。
\n
归档时间: |
|
查看次数: |
7916 次 |
最近记录: |