5.2.3 Spark MLlib与Spark ML Pipeline
更新于 2026年10月10日
版权声明
5.2.3 Spark MLlib与Spark ML Pipeline
Spark机器学习库从1.2版本以后被分为两个包:Spark MLlib与Spark ML Pipeline。
1)Spark MLlib
Spark MLlib历史比较长了,Spark 1.0以前的版本中就已经包含了Spark MLlib库,库中提供的算法实现都是基于原始的RDD,从学习角度上来讲,其实比较容易上手。如果您已经有机器学习方面的经验,那么您只需要熟悉下MLlib的API就可以开始数据分析工作了。然而,想要基于这个包提供的工具构建完整并且复杂的机器学习流水线是比较困难的,因此有了Spark ML Pipeline。
2)Spark ML Pipeline(https://www.daowen.com)
Spark ML Pipeline(机器学习流水线)从Spark1.2版本开始,目前已经从Alpha阶段毕业,成为可用并且较为稳定的新的机器学习库。ML Pipeline弥补了原始MLlib库的不足,向用户提供了一个基于DataFrame的机器学习工作流式API套件,使用ML Pipeline API,可以很方便地把数据处理、特征转换、问题正则化,以及多个机器学习算法联合起来,构建一个单一完整的机器学习流水线。显然,这种新的方式给人们提供了更灵活的方法,而且这也更符合机器学习过程的特点。
目前,Spark ML Pipeline虽然是被推荐的机器学习方式,但并不会在短期内替代原始的MLlib库,因为MLlib已经包含了丰富稳定的算法实现,并且部分ML Pipeline实现基于MLlib。同时,并不是所有的机器学习过程都需要被构建成一个流水线,有时候原始数据格式整齐且完整,而且使用单一的算法就能实现目标,Spark MLlib不失为一个很好的选择。