Python 多进程工具与 Py(Spark) 的比较

8
一个新手问题,我对pyspark越来越困惑。我想扩展一个现有的Python数据预处理和数据分析流水线。我意识到如果我使用pyspark对数据进行分区,我就不能再将每个分区视为独立的pandas数据帧,并且需要学习如何使用pyspark.sql行/列函数进行操作,并更改很多现有的代码。此外,我绑定了Spark MLlib库,无法充分利用更成熟的scikit-learn包。那么,如果我可以在现有数据帧上使用多处理工具进行集群计算并并行处理任务,我为什么还需要使用Spark呢?

1
Spark支持流数据,而sklearn不支持。除此之外,它拥有比仅使用多进程+sklearn更强大和健壮的分布式计算框架。 - cs95
Anaconda发行版中包含的Dask如何?它是否仍然比pyspark差劲的分布式框架? - JPiter
抱歉,我对那个框架没有任何了解... - cs95
1个回答

1

确实,Spark确实有你提到的限制,即你受到功能性Spark世界(例如Spark MLlib、DataFrames等)的约束。然而,与其他多进程工具/库相比,它提供了自动分发、分区和重新缩放并行任务的功能。与编写自定义多进程代码以响应更大量的数据+计算相比,扩展和调度Spark代码变得更加容易。


PySpark相对于多进程编程有哪些性能优势? - Andrey

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接