我正在探索Pyspark和将Scikit-learn与Pyspark集成的可能性。我想使用Scikit-learn在每个分区上训练模型。这意味着当我的RDD被定义并分布在不同的工作节点之间时,我想在每个工作节点上的每个分区上使用Scikit-learn训练一个模型(比如一个简单的K-means)。由于Scikit-learn算法需要一个Pandas数据帧,我的初始想法是为每个分区调用
toPandas
,然后训练我的模型。但是,toPandas
函数会将DataFrame收集到Driver中,这不是我想要的。有没有其他方法实现这样的目标?