V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
MTMT
V2EX  ›  Python

处理比较大的数据集的时候,单机 spark 会比 pandas 更快吗

  •  
  •   MTMT · 85 天前 via Android · 2646 次点击
    这是一个创建于 85 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近因为需求要处理几十到两百 G 的 CSV 文件,pandas 感觉跑得比较慢,而且貌似是单核?求问有什么好用一点的包吗,单机的 spark 可以吗胜任吗?内存大概近 500g

    11 条回复    2022-04-15 21:07:33 +08:00
    ipwx
        1
    ipwx  
       85 天前
    我很好奇你的 pandas 写法是啥样子的
    nuistzhou
        2
    nuistzhou  
       85 天前 via iPhone
    试试 Dask ?
    MeePawn666
        3
    MeePawn666  
       85 天前 via Android
    非分布式场景 spark 没多快吧。考虑到你内存大于数据集,是计算密集型的话多核 /线程确实会有帮助,可以考虑 mkl, openmp 之类的?话说 numpy 其实挺快的了,处理数据应该足够。
    yech1990
        4
    yech1990  
       85 天前 via Android
    这个数量级就得考虑 pandas 的增强版本了,类似 https://github.com/pola-rs/polars
    SuperXX
        5
    SuperXX  
       85 天前
    我遇到过很多次 pandas 的速度问题,建议直接换 julia 语言,速度提升不是一点点 的
    SuperXX
        6
    SuperXX  
       85 天前
    512357301
        7
    512357301  
       85 天前 via Android
    试试 clickhouse
    INCerry
        8
    INCerry  
       84 天前
    其实单机 spark 还不如你写个 for 循环来得快
    MTMT
        9
    MTMT  
    OP
       84 天前 via Android
    @nuistzhou @512357301 感谢推荐,目前正在尝试这一类的包

    @SuperXX 感谢推荐,之前不太了解,看来值得学习一下

    @yech1990 感谢推荐,看 benchmark 感觉 polars 真是太强了

    @MeePawn666 @INCerry 感谢解答,不太了解 spark ,所以不知道单机版什么情况,想着单机版会不会利用多进程,这样可能比单核还是快一些
    ohayoo
        10
    ohayoo  
       74 天前
    @yech1990 请问下大佬,pandas 读大文件的时候有 chunksize 参数,如
    with pd.read_csv(file, chunksize=50000) as reader:
    然后 for 循环这个 reader

    想请问下 polars 的类似 chunksize 要怎么设置?看官方文档一直就没看懂,不设置的话 读大文件就报内存分配失败
    yech1990
        11
    yech1990  
       72 天前 via Android
    @ohayoo batch_size?
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3402 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 05:19 · PVG 13:19 · LAX 22:19 · JFK 01:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.