我在处理spark宽数据帧(大约9000列,有时更多)时遇到了问题。任务:通过groupBy和pivot创建宽DF。将列转换为向量并处理为来自pyspark.ml的KMeans。所以我制作了广泛的框架并尝试使用VectorAssembler创建矢量,缓存它并在其上训练KMeans。在独立模式下,我的电脑上的7个不同簇数的组装大约需要11分钟,KMeans大约需要2分钟,帧为~500x9000。另一方面,pandas中的这种处理(pivotdf,并迭代7个集群)花费的时间不到一分钟。显然我理解独立模式和缓存等的开销和性能下降,但这真的让我气馁。有人可以解释一下如何避免这种开销吗?人们如何