Spark2.x管理与开发-Spark MLlib-MLlib概述
MLlib是Spark的可以扩展的机器学习库
MLlib概述
Spark在机器学习有得天独厚的优势
double wucha = 1.0
while(wucha >= 0.1){
建模
wucha -= 某个值
}
(1)机器学习算法一般都有很多个步骤迭代计算的过程,机器学习的计算需要在多次迭代后,获得足够小的误差,或者足够收敛才会停止。
迭代时,如果使用MapReduce计算模型,每次都要读写硬盘,会导致非常大的IO消耗和CPU消耗。
而Spark基于内存的计算模型天生就擅长迭代计算,每个步骤直接在内存中完成,只有在必要时,才会操作硬盘和网络。
所以说spark是机器学习比较理想的平台。
(2)从通信的角度讲,MapReduce中JobTracker好TaskTracker之间由于通过heartbeat的方式通信和传递数据,会导致执行速度慢。
spark使用akka netty通信系统,通信效率很高。
Mllib 是spark对常用的机器学习算法实现的库,同时包括相关测试和数据生成器
spark设计的初衷就是为了支持一些迭代的job,这正好符合很多机器学习算法的特点。
浙公网安备 33010602011771号