翻译: https://www.cloudera.com/documentation/enterprise/latest/topics/spark_mllib.html
版本: 5.14.2
CDH 5.5支持Spark的机器学习库MLlib 。有关MLlib的信息,请参阅机器学习库(MLlib)指南。
继续阅读:
运行Spark MLlib示例
要使用其中一个Spark示例应用程序来尝试Spark MLlib,请执行以下操作:
- 下载MovieLens示例数据并将其复制到HDFS:
$ wget --no-check-certificate \
https://raw.githubusercontent.com/apache/spark/branch-1.6/data/mllib/sample_movielens_data.txt
$ hdfs dfs -copyFromLocal sample_movielens_data.txt /user/hdfs
- 运行Spark MLlib MovieLens示例应用程序,该应用程序根据电影评论计算推荐内容:
$ spark-submit --master local --class org.apache.spark.examples.mllib.MovieLensALS \
SPARK_HOME/lib/spark-examples.jar \
--rank 5 --numIterations 5 --lambda 1.0 --kryo sample_movielens_data.txt
为MLlib启用本机加速
MLlib算法是计算密集型并受益于硬件加速。要为MLlib启用本机加速,请执行以下任务。
安装所需的软件
-
安装合适的 libgfortran 4.6+包装为您的操作系统。没有兼容版本可用于RHEL 5或6。
OS 包裹名字 软件包版本 RHEL 7.1 libgfortran 4.8.x SLES 11 SP3 libgfortran3 4.7.2 Ubuntu 12.04 libgfortran3 4.6.3 Ubuntu 14.04 libgfortran3 4.8.4 Debian 7.1 libgfortran3 4.7.2 安装GPL Extras parcel或包裹。
验证本机加速
运行应用程序后,您可以通过检查日志来验证本机加速是否正常工作。使用MLlib示例应用程序验证本地加速:
- 执行运行Spark MLlib示例中的步骤。
- 检查日志。如果本机库未成功加载,则会在最后一行显示RMSE的最后一行之前看到以下四条警告:
15/07/12 12:33:01 WARN BLAS: Failed to load implementation from: com.github.fommil.netlib.NativeSystemBLAS
15/07/12 12:33:01 WARN BLAS: Failed to load implementation from: com.github.fommil.netlib.NativeRefBLAS
15/07/12 12:33:01 WARN LAPACK: Failed to load implementation from: com.github.fommil.netlib.NativeSystemLAPACK
15/07/12 12:33:01 WARN LAPACK: Failed to load implementation from: com.github.fommil.netlib.NativeRefLAPACK
Test RMSE = 1.5378651281107205.
你在一个没有的系统上看到这个libgfortran 。在RHEL 6上安装后出现相同的错误 ,因为它安装了4.4版本,而不是4.6+。
安装后 libgfortran 4.8在RHEL 7上,您应该看到如下所示的内容:
15/07/12 13:32:20 WARN BLAS: Failed to load implementation from: com.github.fommil.netlib.NativeSystemBLAS
15/07/12 13:32:20 WARN LAPACK: Failed to load implementation from: com.github.fommil.netlib.NativeSystemLAPACK
Test RMSE = 1.5329939324808561.