Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在scala中创建项目jar_Scala_Apache Spark_Sbt - Fatal编程技术网

在scala中创建项目jar

在scala中创建项目jar,scala,apache-spark,sbt,Scala,Apache Spark,Sbt,我在SBT有一个独立的应用程序。我的数据存储在hadoop文件系统的HDFS上。我如何获得一个jar文件在另一台机器上运行我的工作 我的项目目录如下: /MyProject /target /scala-2.11 /MyApp_2.11-1.0.jar /src /main /scala 如果您没有任何依赖项,那么运行sbt包将创建一个jar,它将保存所有代码 然后,您可以通过以下方式运行Spark

我在SBT有一个独立的应用程序。我的数据存储在hadoop文件系统的HDFS上。我如何获得一个jar文件在另一台机器上运行我的工作

我的项目目录如下:

/MyProject
   /target
        /scala-2.11
                 /MyApp_2.11-1.0.jar
   /src
      /main
           /scala

如果您没有任何依赖项,那么运行sbt包将创建一个jar,它将保存所有代码

然后,您可以通过以下方式运行Spark应用程序:

$SPARK_HOME/bin/spark-submit --name "an-app" my-app.jar  
如果您的项目具有spark本身以外的外部依赖项;如果只是Spark或它的任何依赖项,那么上述方法仍然有效,那么您有两个选择:

1使用sbt插件创建一个包含整个类路径的超级jar。运行sbt assembly将创建另一个jar,您可以用与前面相同的方式使用它

2如果您只有很少几个简单的依赖项,比如just joda time,那么您可以简单地将它们包含到spark submit脚本中

$SPARK_HOME/bin/spark-submit --name "an-app" --packages "joda-time:joda-time:2.9.6" my-app.jar 

如果您没有任何依赖项,那么运行sbt包将创建一个jar,它将保存所有代码

然后,您可以通过以下方式运行Spark应用程序:

$SPARK_HOME/bin/spark-submit --name "an-app" my-app.jar  
如果您的项目具有spark本身以外的外部依赖项;如果只是Spark或它的任何依赖项,那么上述方法仍然有效,那么您有两个选择:

1使用sbt插件创建一个包含整个类路径的超级jar。运行sbt assembly将创建另一个jar,您可以用与前面相同的方式使用它

2如果您只有很少几个简单的依赖项,比如just joda time,那么您可以简单地将它们包含到spark submit脚本中

$SPARK_HOME/bin/spark-submit --name "an-app" --packages "joda-time:joda-time:2.9.6" my-app.jar 

与Java不同,在Scala中,文件的包名不必与目录名匹配。事实上,对于这样的简单测试, 如果愿意,可以将此文件放在SBT项目的根目录中

从项目的根目录,可以编译项目:

$sbt编译 运行项目:

$sbt运行 将项目打包:

$sbt套餐

以下是要理解的链接:

与Java不同,在Scala中,文件的包名不必与目录名匹配。事实上,对于这样的简单测试, 如果愿意,可以将此文件放在SBT项目的根目录中

从项目的根目录,可以编译项目:

$sbt编译 运行项目:

$sbt运行 将项目打包:

$sbt套餐

以下是要理解的链接:

我对spark core和spark mllib有两个依赖项,我运行的是:spark submit-class A app-master local[4]target/scala-2.11/myproject_2.11-1.0.jar我想获取我的jar文件或如何将其复制到本地光盘中。你刚才说了jar在哪里。为什么你在复制它时遇到困难?我很困惑…我对spark core和spark mllib有两个依赖项,我运行的是:spark submit-class A app-master local[4]target/scala-2.11/myproject_2.11-1.0.jar我想获取我的jar文件或如何将其复制到本地光盘中。你刚才说了jar在哪里。为什么你在复制它时遇到困难?我很困惑。。。