我需要对大约1400万个用户运行DBSCAN集群,每个用户都有1k个数据点。每个用户都是一个完全独立于其他用户的不同聚类案例。基本上,我有许多小的集群任务。
在一台机器上运行它对我来说是行不通的,即使是在使用python多处理模块并行任务时,因为IO和集群需要很长时间。
我考虑过使用Spark来管理集群上的并行运行,但我认为这可能不适合我的情况,因为DBSCAN不是在MLlib中实现的,而且我不需要并行运行每个集群任务,而是单独运行每个任务。每当我尝试使用Spark原生RDD或Dataframe之外的任何东西时,它显然都必须收集到驱动程序节点的所有数据。
我的问题是,是否有更聪明的解决方案来解决我的问题,而不是简单地在不同的节点上运行许多独立的进程,当每个进程都选择一个用户子集时?
谢谢
https://stackoverflow.com/questions/51347015
复制相似问题