2

我正在尝试在远程机器上使用 Scala 编写Spark程序,但该机器无法访问互联网。由于我使用的是 Hadoop 的预构建版本,因此我能够运行预编译的示例:

[user@host spark-0.7.2]$ ./run spark.examples.LocalPi

但我无法编译任何引用机器上火花的东西:

$ scalac PiEstimate.scala
PiEstimate.scala:1: error: not found: object spark
import spark.SparkContext
       ^

通常,我会使用 SBT 来处理任何依赖项,但机器无法访问 Internet,并且无法通过 SSH 隧道连接 Internet。

是否可以在无法访问 Internet 的远程计算机上编译 SBT 项目?或者我如何手动将 Spark 依赖项链接到 Scala 编译器。

4

2 回答 2

1

如果您通过 编译 Spark 程序scalac,则必须将 Spark 的 jar 添加到scalac的类路径;我认为这应该有效:

scalac -classpath "$SPARK_HOME/target/scala-*/*.jar" PiEstimate.scala
于 2013-06-11T16:11:29.210 回答
0

I know this is an old post but I had to deal with this issue recently. I solved it by removing the dependencies from my .sbt file and adding the spark jar (spark-home/assembly/target/scala.2-10/spark-[...].jar) under my-project-dir/lib directory. You can also point to it using unmanagedBase = file("/path/to/jars/") Then I could use sbt package as usually

于 2015-08-19T18:10:42.403 回答