有没有使用MPI(消息传递接口)的数据挖掘库,或者可以与MPI集成的?我在寻找类似于Apache Mahout的库,但可以轻松集成到MPI环境中。
我想要使用MPI的原因是它的配置(与Hadoop相比)更加简单。或者在数据挖掘场景中使用MPI是否没有意义?
回答:
MPI(这是一个概念,而不是软件本身!)并不一定比Hadoop/Mahout更容易安装。实际上,后两者目前是一团糟,特别是因为它们的Java库混乱。Apache Bigtop试图使它们更容易安装,一旦你掌握了一些基础知识,情况就相当不错了。
然而:
- 如果你的数据量小(即可以在单个节点上处理),不要安装集群解决方案,你会为额外的开销付出代价。在单个主机上使用Hadoop没有多大意义。使用Weka,ELKI,RapidMiner,KNIME或其他工具。
- 如果你的数据量大,你会希望最小化数据传输。这就是Hadoop/Mahout的优势所在,最小化数据传输。典型的消息传递API无法以相同的方式为数据密集型操作进行扩展。
有一些努力,例如Apache Hama,在我看来与MPI的东西非常相似。它基于消息传递,但它们通过障碍同步进行批量处理。它还可能在发送前进行一些消息聚合以减少流量。