并行计算框架Polars、Dask的数据处理性能对比

在Pandas 2.0发布以后,我们发布过一些评测的文章,这次我们看看,除了Pandas以外,常用的两个都是为了大数据处理的并行数据框架的对比测试。,并行计算框架Polars、Dask的数据处理性能对比,本文我们使用两个类似的脚本来执行提取、转换和加载(ETL)过程。,这两个脚本主要功能包括:,从两个parquet 文件中提取数据,对于小型数据集,变量path1将为“yellow_tripdata/ yellow_tripdata_2014-01”,对于中等大小的数据集,变量path1将是“yellow_tripdata/yellow_tripdata”。对于大数据集,变量path1将是“yellow_tripdata/yellow_tripdata*.parquet”;,进行数据转换:a)连接两个DF,b)根据PULocationID计算行程距离的平均值,c)只选择某些条件的行,d)将步骤b的值四舍五入为2位小数,e)将列“trip_distance”重命名为“mean_trip_distance”,f)对列“mean_trip_distance”进行排序。,将最终的结果保存到新的文件。,数据加载读取,转换函数,保存,其他代码,函数功能与上面一样,所以我们把代码整合在一起:,我们使用164 Mb的数据集,这样大小的数据集对我们来说比较小,在日常中也时非常常见的。,下面是每个库运行五次的结果:,Polars,并行计算框架Polars、Dask的数据处理性能对比,Dask,并行计算框架Polars、Dask的数据处理性能对比,我们使用1.1 Gb的数据集,这种类型的数据集是GB级别,虽然可以完整的加载到内存中,但是数据体量要比小数据集大很多。,Polars,并行计算框架Polars、Dask的数据处理性能对比,Dask,并行计算框架Polars、Dask的数据处理性能对比,我们使用一个8gb的数据集,这样大的数据集可能一次性加载不到内存中,需要框架的处理。,Polars,并行计算框架Polars、Dask的数据处理性能对比,Dask,并行计算框架Polars、Dask的数据处理性能对比,从结果中可以看出,Polars和Dask都可以使用惰性求值。所以读取和转换非常快,执行它们的时间几乎不随数据集大小而变化;,可以看到这两个库都非常擅长处理中等规模的数据集。,由于polar和Dask都是使用惰性运行的,所以下面展示了完整ETL的结果(平均运行5次)。,并行计算框架Polars、Dask的数据处理性能对比,Polars在小型数据集和中型数据集的测试中都取得了胜利。但是,Dask在大型数据集上的平均时间性能为26秒。,这可能和Dask的并行计算优化有关,因为官方的文档说“Dask任务的运行速度比Spark ETL查询快三倍,并且使用更少的CPU资源”。,并行计算框架Polars、Dask的数据处理性能对比,上面是测试使用的电脑配置,Dask在计算时占用的CPU更多,可以说并行性能更好。

文章版权声明

 1 原创文章作者:cmcc,如若转载,请注明出处: https://www.52hwl.com/29183.html

 2 温馨提示:软件侵权请联系469472785#qq.com(三天内删除相关链接)资源失效请留言反馈

 3 下载提示:如遇蓝奏云无法访问,请修改lanzous(把s修改成x)

 免责声明:本站为个人博客,所有软件信息均来自网络 修改版软件,加群广告提示为修改者自留,非本站信息,注意鉴别

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年6月23日
下一篇 2023年7月15日