调用Spark的程序可以直接以Java -jar方式启动吗?
我写了一个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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
local模式只是用于调试,而且是单机,所以不需要做将本地配置分发到集群之类的操作。
而在集群模式下,每次提交程序需要将本地的一些配置及jar包分发到集群。
希望这篇文章能帮到你
http://www.russellspitzer.com...