我们在使用spark的ALS的推荐算法时,需要用到jblas包,这时如果我们直接利用:
import org.jblas.DoubleMatrix
会提示我们jblas包不存在的问题。 一般我们直接将下载的jblas包,放在spark的lib目录下,启动完成。
但是,cloudera中启动spark-shell,导入jblas包的时候,提示不存在,直接放在lib目录下,导入还是提示不存在。这时我们找到spark在cloudera中的安装位置:/usr/lib/spark,进入lib目录,将下载的jblas包导入,下载地址:http://www.java2s.com/Code/JarDownload/jblas/jblas-1.2.3.jar.zip
然后,在spark-env.sh文件中,将jblas的路径进行关联:
SPARK_DIST_CLASSPATH="$SPARK_DIST_CLASSPATH:$SPARK_LIBRARY_PATH/usr/lib/spark/lib/sparkjblas-1.2.3-SNAPSHOT.jar"
重新启动spark-shell命令,再次:
import org.jblas.DoubleMatrix
完成。
总结:我们自己安装的spark中,我们将jblas放在spark的lib目录下,但是在cloudera中,我们找到spark的安装目录,直接放入后,发现导入时,还是提示包不存在,这是需要我们在spark-env.sh的文件中加上一个关联就可以了。