【问题标题】:Spark with OpenBLAS on EMR在 EMR 上使用 OpenBLAS Spark
【发布时间】:2017-04-07 20:38:44
【问题描述】:

尝试在 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

我通过重建 Spark 以包含带有 -Pnetlib-lgpl 标志的 netlib-java 设法解决了本地 Ubuntu 机器上的问题,但是有没有办法避免重建默认的 EMR Spark 构建?目前我正在尝试通过使用 sbt-assembly 构建一个胖 JAR 来规避它,并添加以下依赖项:

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

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

【问题讨论】:

    标签: amazon-web-services apache-spark amazon-emr lapack blas


    【解决方案1】:

    好吧,用胖 JAR 似乎是不可能的,所以我构建了一个自定义的 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 目录。成功了。

    【讨论】:

      猜你喜欢
      • 2017-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-16
      • 2015-10-06
      • 2017-03-16
      • 1970-01-01
      相关资源
      最近更新 更多