最近因为需求要处理几十到两百 G 的 CSV 文件,pandas 感觉跑得比较慢,而且貌似是单核?求问有什么好用一点的包吗,单机的 spark 可以吗胜任吗?内存大概近 500g
1
ipwx 2022 年 4 月 3 日
我很好奇你的 pandas 写法是啥样子的
|
2
flgn88 2022 年 4 月 3 日 via iPhone
试试 Dask ?
|
3
MeePawn666 2022 年 4 月 3 日 via Android
非分布式场景 spark 没多快吧。考虑到你内存大于数据集,是计算密集型的话多核 /线程确实会有帮助,可以考虑 mkl, openmp 之类的?话说 numpy 其实挺快的了,处理数据应该足够。
|
4
yech1990 2022 年 4 月 3 日 via Android
这个数量级就得考虑 pandas 的增强版本了,类似 https://github.com/pola-rs/polars
|
5
SuperXX 2022 年 4 月 3 日
我遇到过很多次 pandas 的速度问题,建议直接换 julia 语言,速度提升不是一点点 的
|
6
SuperXX 2022 年 4 月 3 日
|
7
512357301 2022 年 4 月 3 日 via Android
试试 clickhouse
|
8
INCerry 2022 年 4 月 3 日
其实单机 spark 还不如你写个 for 循环来得快
|
9
MTMT OP |
10
ohayoo 2022 年 4 月 13 日
@yech1990 请问下大佬,pandas 读大文件的时候有 chunksize 参数,如
with pd.read_csv(file, chunksize=50000) as reader: 然后 for 循环这个 reader 想请问下 polars 的类似 chunksize 要怎么设置?看官方文档一直就没看懂,不设置的话 读大文件就报内存分配失败 |