Python多处理工具vs Py(Spark)

Python多处理工具vs Py(Spark),python,scikit-learn,multiprocessing,pyspark,cluster-computing,Python,Scikit Learn,Multiprocessing,Pyspark,Cluster Computing,这是一个新手问题,因为我越来越困惑于pyspark。我想扩展现有的python数据预处理和数据分析管道。我意识到,如果我使用pyspark对数据进行分区,我就不能再将每个分区视为一个独立的数据帧,需要学习使用pyspark.sql行/列函数进行操作,并更改许多现有代码,此外,我必须使用spark mllib库,无法充分利用更成熟的scikit学习包。那么,如果我可以使用多处理工具进行集群计算并在现有数据帧上并行化任务,那么为什么我需要使用Spark呢?没错,Spark确实有您提到的局限性,即您在

这是一个新手问题,因为我越来越困惑于pyspark。我想扩展现有的python数据预处理和数据分析管道。我意识到,如果我使用pyspark对数据进行分区,我就不能再将每个分区视为一个独立的数据帧,需要学习使用pyspark.sql行/列函数进行操作,并更改许多现有代码,此外,我必须使用spark mllib库,无法充分利用更成熟的scikit学习包。那么,如果我可以使用多处理工具进行集群计算并在现有数据帧上并行化任务,那么为什么我需要使用Spark呢?

没错,Spark确实有您提到的局限性,即您在功能性Spark世界(Spark mllib、dataframes等)中受到限制。然而,与其他多处理工具/库相比,它提供的是并行任务的自动分发、分区和重新缩放。缩放和调度spark代码比编写自定义多处理代码以响应大量数据和计算更容易

Spark支持流式数据,而sklearn不支持。除此之外,它还有一个比多处理+sklearn更强大、更健壮的分布式计算框架?它仍然不如pyspark的分布式框架吗?对不起,我对该框架一无所知……与多处理相比,pyspark有什么性能优势吗?