拉链需要很长时间.这是正常的吗? ~10分钟.我们是否可能错误配置了它?
命令行选项很好,但容易出错.
还有其他选择吗?我喜欢它,如果有(已经存在)一种方法将依赖列表包含在带有gradle的jar中,然后让它下载它们.这可能吗?还有其他选择吗?
更新:我发布了部分答案.我在原始问题中没有说清楚的一件事是我还关心你何时遇到依赖冲突,因为你有不同版本的jar.
更新
解决方法
使用fat-jar,你必须安装Java并启动Spark应用程序需要执行java -jar [your-fat-jar-here].如果您想要从Web应用程序启动应用程序,则很难自动化它.
使用SparkLauncher,您可以选择从其他应用程序启动Spark应用程序,例如上面的Web应用程序.它更容易.
import org.apache.spark.launcher.SparkLauncher SparkLauncher extends App { val spark = new SparkLauncher() .setSparkHome("/home/knoldus/spark-1.4.0-bin-hadoop2.6") .setAppResource("/home/knoldus/spark_launcher-assembly-1.0.jar") .setMainClass("SparkApp") .setMaster("local[*]") .launch(); spark.waitFor(); }
码:
https://github.com/phalodi/Spark-launcher
这里
> setSparkHome(“/ home / knoldus / spark-1.4.0-bin-hadoop2.6”)用于设置内部使用的spark home来调用spark submit.
> .setAppResource(“/ home / knoldus / spark_launcher-assembly-1.0.jar”)用于指定我们的spark应用程序的jar.
> .setMainClass(“SparkApp”)火花程序的入口点,即驱动程序.
> .setMaster(“local [*]”)设置从这里开始的master的地址,现在我们在loacal机器上运行它.
> .launch()只是启动我们的spark应用程序
What are the benefits of SparkLauncher vs java -jar fat-jar?
https://jaceklaskowski.gitbooks.io/mastering-apache-spark/spark-SparkLauncher.html
https://spark.apache.org/docs/2.0.0/api/java/org/apache/spark/launcher/SparkLauncher.html
http://henningpetersen.com/post/22/running-apache-spark-jobs-from-applications