调用Spark的程序可以直接以Java -jar方式启动吗?

发布于 2022-09-07 20:23:01 字数 958 浏览 26 评论 0

我写了一个spark的worldcount程序,使用local模式在eclipse里可以调试通过,也可以通过maven打包后java -jar命令运行:


 SparkConf sparkConf = new SparkConf().setAppName("JavaWordCount");
 sparkConf.setMaster("local");
 JavaSparkContext ctx = new JavaSparkContext(sparkConf);
 JavaRDD<String> lines = ctx.textFile("file:///c:/sparkTest.txt");

 JavaRDD<String> words = lines.flatMap(new FlatMapFunction<String, String>() {
   @Override
   public Iterable<String> call(String s) {
     return Arrays.asList(SPACE.split(s));
   }
 });
 
 System.out.println(words.count());

我原以为要切换到standalone client模式时,只要把第二行改成

 sparkConf.setMaster("spark://localhost:7077");

就行了,但是我又看了一些文章,文章里说spark程序必须使用spark-submit命令或者使用另一个包含sparklauncher的Java程序来运行,这样直接Java -jar方式是不行的。这不是和我在local模式里观察到的现象矛盾吗?还是说local模式是一种特例,其他的standalone client模式,standalone cluster模式和yarn模式都只能用spark-submit命令运行?用了spark-submit命令,就没法在eclipse里调试了,会很不方便?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

浴红衣 2022-09-14 20:23:01

local模式只是用于调试,而且是单机,所以不需要做将本地配置分发到集群之类的操作。
而在集群模式下,每次提交程序需要将本地的一些配置及jar包分发到集群。

希望这篇文章能帮到你
http://www.russellspitzer.com...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文