java - 使用 spark-submit 和 java -cp 运行 spark 应用程序有什么区别?
问题描述
情况1:
spark-submit --class main.Test --master local[4] /path/Test.jar
SparkSession sparkSession = SparkSession.builder()
.appName("Test")
.getOrCreate();
案例二:
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 是部署。但是没有义务。
希望能帮助到你...
推荐阅读
- ios - 如何以编程方式在 TableViewCell 中设置修复 ImageView 大小?
- python - 试图弄清楚如何将命令的输出保存到文件路径
- ruby-on-rails - 总结每个do循环的所有记录?
- ios - Flutter 应用程序的 Xcode 构建在构建期间超时
- java - 设置数组大小并将字符串用户输入解析为数组
- python - 用点格式化千位,用逗号格式化小数
- google-apps-script - 根据特定列中的值将范围/多行移动到另一个工作表
- c# - 如何对 ASP.NET Core 中的非请求绑定代码进行 DI?
- python - 当标题是变量时,如何将python中的绘图标题格式化为粗体?
- python-3.x - 如何迭代散点图的列表并创建独特元素的图例