MLlib是Spark的机器学习(ML)库。其目标是使实际的机器学习可扩展和容易。在高层次上,它提供了如下工具:
MLlib基于RDD的API现在处于维护模式。
从Spark 2.0开始,包中的基于RDD的API spark.mllib
已进入维护模式。Spark的主要机器学习API现在是包中的基于DataFrame的API spark.ml
。
有什么影响?
spark.mllib
并修复错误。为什么MLlib切换到基于DataFrame的API?
什么是“Spark ML”?
org.apache.spark.ml
基于DataFrame的API所使用的Scala包名以及我们最初用来强调管道概念的“Spark ML Pipelines”术语。
MLlib是否被弃用?
MLlib使用线性代数包Breeze,它依赖于 netlib-java进行优化的数值处理。如果本机库在运行时不可用,您将看到一条警告消息,而将使用纯JVM实现。
由于运行时专有二进制文件的授权问题,netlib-java
默认情况下,我们不包含本地代理。要配置netlib-java
/ Breeze以使用系统优化的二进制文件,请包括 com.github.fommil.netlib:all:1.1.2
(或者构建Spark -Pnetlib-lgpl
)作为项目的依赖项,并阅读netlib-java文档以获取平台的其他安装说明。
要在Python中使用MLlib,您将需要NumPy 1.4或更高版本。