2017-04-07 2 views
1

Je continue à recevoir l'avertissement infâme lorsque vous essayez d'exécuter l'algorithme MLlib ALS Spark 2.1.0 sur une instance DME:Spark avec OpenBLAS sur DME

WARN BLAS: Failed to load implementation from: com.github.fommil.netlib.NativeSystemBLAS 
WARN BLAS: Failed to load implementation from: com.github.fommil.netlib.NativeRefBLAS 

j'ai réussi à résoudre le problème sur ma machine locale Ubuntu en reconstruisant Spark pour inclure netlib-java avec l'indicateur -Pnetlib-lgpl, mais existe-t-il un moyen d'éviter de reconstruire la version EMR Spark par défaut? Actuellement, je suis en train de le contourner en construisant une graisse JAR avec SBT-assemblage, en ajoutant la dépendance suivante:

libraryDependencies += "com.github.fommil.netlib" % "all" % "1.1.2"

Bien est assemblée avec succès, les avertissements BLAS ne vont toujours pas loin lors de l'exécution étincelles soumettre. J'ai openblas et lapack installé sur le DME.

Répondre

1

Ok donc il semble impossible de le faire avec un JAR de graisse, donc je construit une distribution personnalisée de Spark sur ma machine locale comme suit:

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 

et remplacé le répertoire/usr/lib/allumage sur DME avec ma construction. Cela a fait l'affaire.