如何将自己构建的Breeze添加到Apache Spark中?

tcomlyy6  于 6个月前  发布在  Apache
关注(0)|答案(2)|浏览(80)

我在Breeze库中添加了一些方法,我可以通过IDE看到这些方法。我试图将自己构建的Breeze库添加到基于Apache Spark的项目中。然而,当我通过命令“sbt assembly”打包我的项目并在集群上运行它时,它抛出一个错误“没有这样的方法xxx”这意味着集群实际上没有运行我的Breeze库。那么谁能告诉我如何让集群运行我自己构建的Breeze库?

rqcrx0a6

rqcrx0a61#

我猜测spark使用了Breeze库的某些版本,并且在汇编中更喜欢它们而不是你的自定义. jar。你可以尝试使用你的自定义库来构建spark。在你的本地maven仓库中安装你的库,在apache spark的pom.xml中指定它,然后构建你自己的spark版本。

xxhby3vn

xxhby3vn2#

我遇到过一个类似的问题,Apache Spark的lib jar在用户jar之前出现在classpath中。我发现的解决方案是简单地将它们移出lib jar位置。下面是解决方法。

mkdir -p ~/spark-culprit-jars
    sudo mv /usr/lib/spark/jars/breeze-macros_2.12-2.1.0.jar ~/spark-culprit-jars
    sudo mv /usr/lib/spark/jars/breeze_2.12-2.1.0.jar ~/spark-culprit-jars
    sudo mv /usr/lib/spark/jars/blas-3.0.3.jar ~/spark-culprit-jars
    sudo mv /usr/lib/spark/jars/lapack-3.0.3.jar ~/spark-culprit-jars
    sudo mv /usr/lib/spark/jars/arpack-3.0.3.jar ~/spark-culprit-jars

字符串

相关问题