当我运行PySpark作业时,会收到以下警告:
17/10/06 18:27:16警告ARPACK:未能从: com.github.fommil.netlib.NativeSystemARPACK加载实现 17/10/06 18:27:16警告ARPACK:未能从: com.github.fommil.netlib.NativeRefARPACK加载实现
我的密码是
mat = RowMatrix(tf_rdd_vec.cache())
svd = mat.computeSVD(num_topics, computeU=False) 我正在使用Ubuntu16.04 EC2实例。我已经在我的系统中安装了以下所有的库。
sudo apt install libarpack2 Arpack++ libatlas-base-dev liblapacke-dev libblas-dev gfortran libblas-dev liblapack-dev libnetlib-java libgfortran3 libatlas3-base libopenblas-base我调整了LD_LIBRARY_PATH以指向共享库路径,如下所示。
export LD_LIBRARY_PATH=/usr/lib/现在,当我列出$LD_LIBRARY_PATH目录时,它向我展示了以下.so文件
ubuntu:~$ ls $LD_LIBRARY_PATH/*.so | grep "pack\|blas"
/usr/lib/libarpack.so
/usr/lib/libblas.so
/usr/lib/libcblas.so
/usr/lib/libf77blas.so
/usr/lib/liblapack_atlas.so
/usr/lib/liblapacke.so
/usr/lib/liblapack.so
/usr/lib/libopenblasp-r0.2.18.so
/usr/lib/libopenblas.so
/usr/lib/libparpack.so但是,我仍然不能使用本机ARPACK实现。另外,我正在缓存传递给矩阵的RDD,但是它仍然抛出缓存警告,有任何建议如何解决这3种警告吗?
我已经从spark下载页面下载了spark 2.2.0的编译版本。
发布于 2017-10-13 21:48:01
在探索之后,我能够删除这些警告,并通过以下方式使用本机ARPACK。
解决方案是用-Pnetlib-lgpl参数重新构建火花。
为本地支持建立火种
下面是我在Ubuntu16.04上的步骤
# Make sure you use the correct download link, from spark download section
wget https://d3kbcqa49mib13.cloudfront.net/spark-2.2.0.tgz
tar -xpf spark-2.2.0.tgz
cd spark-2.2.0/
./dev/make-distribution.sh --name custom-spark --pip --tgz -Psparkr -Phadoop-2.7 -Pnetlib-lgpl当我第一次启动时,它通过抛出以下错误而失败
找不到'R_HOME‘请指定“R_HOME”或确保正确安装R。错误命令执行失败。 截短
建立失败信息
全部时间: 02:38分钟(挂钟)信息完成于: 2017-10-13T21:04:11+00:00信息最终内存: 59M/843M
错误未能在项目火花核心2.11上执行目标org.codehaus.mojo:exec-maven-plugin:1.5.0:exec (Sparkr Pkg):命令执行失败。因错误退出的进程:1(退出值: 1) ->帮助1
所以我安装了R语言
sudo apt install r-base-core然后我重新运行上面的build命令,并成功地安装了它。
以下是生成此版本时的相关版本
$ java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-2ubuntu1.16.04.3-b11)
OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)
$ python --version
Python 2.7.12
$ R --version
R version 3.2.3 (2015-12-10) -- "Wooden Christmas-Tree"
Copyright (C) 2015 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
$ make --version
GNU Make 4.1
Built for x86_64-pc-linux-gnuhttps://stackoverflow.com/questions/46612006
复制相似问题