gpt4 book ai didi

apache-spark - Spark mllib svd 给出 : Java OutOfMemory Error

转载 作者:行者123 更新时间:2023-12-05 07:55:59 24 4
gpt4 key购买 nike

我正在使用 mllib 的 svd 库对大矩阵进行降维:

  • 数据约20G,

  • spark内存为60G

我收到以下警告和错误消息:

WARN ARPACK: Failed to load implementation from: com.github.fommil.netlib.NativeSystemARPACK WARN ARPACK: Failed to load implementation from: com.github.fommil.netlib.NativeRefARPACK WARN BLAS: Failed to load implementation from: com.github.fommil.netlib.NativeSystemBLAS WARN BLAS: Failed to load implementation from: com.github.fommil.netlib.NativeRefBLAS Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

at java.util.Arrays.copyOfRange(Arrays.java:2766) 
at org.apache.spark.mllib.linalg.EigenValueDecomposition$.symmetricEigs(EigenValueDecomposition.scala:128)

at org.apache.spark.mllib.linalg.distributed.RowMatrix.computeSVD(RowMatrix.scala:258)

at org.apache.spark.mllib.linalg.distributed.RowMatrix.computeSVD(RowMatrix.scala:190)

为了解决警告消息,我使用以下命令构建 Spark (1.2)-Pnetlib-lgpl 在本地,当我在本地测试时警告信息消失了。并且日志显示 netlib 库工作正常:

15/03/05 20:07:03 INFO JniLoader: successfully loaded /tmp/jniloader7217840327264308862netlib-native_system-linux-x86_64.so 15/03/05 20:07:11 INFO JniLoader: already loaded netlib-native_system-linux-x86_64.so

然后我在 AWS EMR 上安装了使用 -Pnetlib-lgpl 编译的 Spark (1.2),但警告和错误消息仍然出现。

我不确定是不是我本地编译的问题,所以我在AWS EC2上编译了Spark(1.2)安装到AWS EMR上,但是仍然出现警告和错误信息.

谁能告诉我如何解决这个问题?非常感谢!

最佳答案

问题已部分解决。感谢@SeanOwen 的评论。

我收到 java 内存错误的原因是,顶级特征向量的计算是在驱动程序上进行的,所以我需要确保驱动程序节点上有足够的内存。

--driver-memory 5G中使用spark-submit时,问题解决。

但警告信息仍然存在。

关于apache-spark - Spark mllib svd 给出 : Java OutOfMemory Error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28974037/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com