Amazon web services 在EMR上使用OpenBLAS进行Spark

Amazon web services 在EMR上使用OpenBLAS进行Spark,amazon-web-services,apache-spark,amazon-emr,lapack,blas,Amazon Web Services,Apache Spark,Amazon Emr,Lapack,Blas,在尝试在EMR实例上运行Spark 2.1.0中的MlLib ALS算法时,我不断收到臭名昭著的警告: WARN BLAS: Failed to load implementation from: com.github.fommil.netlib.NativeSystemBLAS WARN BLAS: Failed to load implementation from: com.github.fommil.netlib.NativeRefBLAS 我在本地Ubuntu机器上通过重建Spark

在尝试在EMR实例上运行Spark 2.1.0中的MlLib ALS算法时,我不断收到臭名昭著的警告:

WARN BLAS: Failed to load implementation from: com.github.fommil.netlib.NativeSystemBLAS
WARN BLAS: Failed to load implementation from: com.github.fommil.netlib.NativeRefBLAS
我在本地Ubuntu机器上通过重建Spark来解决这个问题,将netlib java包含在-Pnetlib lgpl标志中,但是有没有办法避免重建默认的EMR Spark版本?目前,我正试图通过使用sbt assembly构建一个胖JAR来绕过它,并添加以下依赖项:

libraryDependencies+=“com.github.fommil.netlib”%“所有”%“1.1.2”


虽然组装成功,但运行spark submit时BLAS警告仍然不会消失。我已经在EMR上安装了openblas和lapack。

好的,因此似乎不可能使用胖罐子,因此我构建了Spark的自定义发行版,如下所示:

export MAVEN_OPTS="-Xmx2g -XX:ReservedCodeCacheSize=512m"
./dev/make-distribution.sh --name spark --tgz -Phadoop-2.7 -Phive -Phive-thriftserver -Pnetlib-lgpl -Pkinesis-asl -Pspark-ganglia-lgpl
并用我的版本替换了EMR上的/usr/lib/spark目录。这就成功了