情况1:
spark-submit --class main.Test --master local [4] /path/Test.jar
SparkSession sparkSession = SparkSession.builder()
.appName("Test")
.getOrCreate();
情况2:
java -cp /path/Test.jar com.main.Test
SparkSession sparkSession = SparkSession.builder()
.appName("Test")
.master("local[4]")
.getOrCreate();
这两种方法有什么区别?
最佳答案
没有重大区别。您可能会发现的问题与部署有关。
情况1:您可能需要一个超级/超级瓶子来确保所有内容都在一起。
情况2:在某些情况下,例如AWS EMR(至少直到最近),您不能使用:
SparkSession sparkSession = SparkSession.builder()
.appName("Test")
.master(<emr cluster's ip>)
.getOrCreate();
通常情况1是开发,情况2是部署。但是没有义务。
希望能帮助到你...
关于java - 使用spark-submit和java -cp运行spark应用程序时有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55182518/