在Spark中安装.jar

时间:2017-07-10 14:31:26

标签: scala apache-spark jar

我同时对Spark和Scala很新,所以有些事情需要澄清。我上网寻找我的问题的确切答案,但我并没有最终得到一个。

目前,我正在运行spark-shell,以便编写一些基本的Scala并完成我的教程。现在,教程要我在spark中添加一个库,以便导入它并将其用于示例。我已经下载了库的.jar文件。我应该放入/spark/jars/文件夹吗?这是足够的,以便导入它或我是否也应该在其他地方声明它?在运行./spark-shell之前是否需要添加命令?

另外,当我创建一个独立程序(使用sbt并在build.sbt中声明库)时,spark会在.jar文件夹中找到/spark/jars/吗?需要把它放在其他地方吗?

1 个答案:

答案 0 :(得分:0)

可以使用jar命令将任何spark-shell添加到--jars

evan@vbox:~> cat MyClass.java
public class MyClass
{
    public static int add(int x, int y)
    {
        return x + y;
    }
}
evan@vbox:~> javac MyClass.java
evan@vbox:~> jar cvf MyJar.jar MyClass.class
added manifest
adding: MyClass.class(in = 244) (out= 192)(deflated 21%)
evan@vbox:~> spark --jars ./MyJar.jar
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 2.0.1
      /_/

Using Scala version 2.11.8 (OpenJDK 64-Bit Server VM, Java 1.8.0_111)
Type in expressions to have them evaluated.
Type :help for more information.

scala> MyClass.add(2,3)
res0: Int = 5

如果您要使用具有依赖关系的sbt创建项目,我建议您使用"uber jar"制作sbt assembly。这将创建一个包含所有依赖项的JAR文件,允许您使用上面的命令添加一个jar。