csv Pyspark和CPU上的工作负载[已关闭]

mrfwxfqh  于 2022-12-20  发布在  Spark
关注(0)|答案(1)|浏览(117)

十小时前关门了。
Improve this question
我尝试使用pyspark Dataframe 与130百万行和3列(uint32,float64,float64)数据集在英特尔i3 10代台式机CPU和16GB内存。总数据量900兆在CSV格式。CPU上的工作负载是100%和数据处理缓慢,但内存工作负载是30%。
这是正常的还是我做错了什么?
我期待更多的性能从Pyspark与CSV。因为我认为没有限制作为HTTP协议或本地驱动程序,当我与远程数据库和SQL查询。我也没有尝试压缩数据,也许这将是正确的方法...
我明白,我的机器没有那么强大,但900Mb没有那么多。

0pizxfdo

0pizxfdo1#

尝试使用Parquet来代替,以便利用面向列的数据格式来增加吞吐量。基本上,spark将在所有4个可用内核上分配处理(您的操作系统也在消耗此资源),所以如果你只保存一个文件(.coalesce(1))这也会造成另一个瓶颈,因为它只使用一个分区来保存所有数据(最终可能会变为只有1个内核)
此外,您还可以尝试pyspark.pandas.Pandas现在提供了一些并行性,因为它现在是在考拉上构建的。

相关问题