我在SBT中有一个独立的应用程序。我的数据存储在HDFS ( hadoop文件系统).How上,我可以得到一个jar文件来在另一台机器上运行我的工作。
我的项目目录如下:
/MyProject
/target
/scala-2.11
/MyApp_2.11-1.0.jar
/src
/main
/scala
发布于 2016-12-17 23:37:00
与Scala中的Java不同,文件的包名不必与目录名匹配。实际上,对于像这样的简单测试,如果您愿意,可以将该文件放在SBT项目的根目录中。
在项目的根目录中,您可以编译项目:
$ sbt编译运行项目:
$ sbt运行项目包:
$ sbt套餐
以下是理解的链接:http://alvinalexander.com/scala/sbt-how-to-compile-run-package-scala-project
发布于 2016-12-17 23:15:50
如果您没有任何依赖项,那么运行sbt package
将创建一个jar,您的所有代码。
然后,您可以运行您的星火应用程序如下:
$SPARK_HOME/bin/spark-submit --name "an-app" my-app.jar
如果您的项目有外部依赖关系(除了星火本身;如果它只是星火或它的任何依赖项,那么上面的方法仍然有效),那么您有两个选项:
1)使用sbt 组件插件创建包含整个类路径的uper。运行sbt assembly
将创建另一个jar,您可以像以前一样使用该jar。
2)如果你只有很少的简单依赖关系(比如只是一个快乐的时间),那么你可以简单地将它们包含到你的火花提交脚本中。
$SPARK_HOME/bin/spark-submit --name "an-app" --packages "joda-time:joda-time:2.9.6" my-app.jar
https://stackoverflow.com/questions/41203786
复制相似问题