spark提供了很多机器学习库,我们只需要填入数据,设置参数就可以用了。使用起来非常方便。
另外一方面,由于它把所有的东西都写到了内部,我们无法修改其实现过程。要想修改里面的某个环节,还的修改源码,重新编译。
比如kmeans算法,如果没有特殊需求,很方便。但是spark内部使用的两个向量间的距离是欧式距离。如果你想改为余弦或者马氏距离,就的重新编译源码了。
spark里面的机器学习库都是一些经典的算法,这些代码网上也好找。这些代码使用起来叫麻烦,但是很灵活。
spark有一个很大的优势,那就是rdd。模型的训练完全是并行的。