我正在运行以下spark命令
spark submit--name basic\u class1--class com.test2.basic/users/myusername/downloads/project/spark/target/target-basic.jar
在主文件中,
SparkSession sparkSession = SparkSession
.builder()
.appName("Basic")
.master("local")
.getOrCreate();
在这里,sparksession覆盖命令中提供的appname,并将其从“basic\u class1”设置为“basic”。但是,我需要依赖文件中的非重写参数“basic\u class1”,但我无权访问设置appname的主文件。在appname被重写之后,是否仍然需要获取该参数?
我知道我可以为此在属性文件中设置一些属性,但这需要在其他部分进行大量更改。所以,这就是为什么我想知道我们是否能在代码本身中做到这一点。
我试过的方法
我已经查看了 sparkContext.conf().getAll()
,但appname也被覆盖。我一直在研究spark context和config中的其他方法,但是没有得到任何结果。而且,也没有从网上得到任何帮助。
编辑1
对于前面提到的spark提交命令和sparksession,如果我们这样做的话
system.out.println(sparksession.sparkcontext().appname());
然后打印“基本”。但是,如果我们将sparksession创建更改为
SparkSession sparkSession = SparkSession
.builder()
// .appName("Basic")
.master("local")
.getOrCreate();
然后
system.out.println(sparksession.sparkcontext().appname());
会打印出“基本课程1”。所以,如果我在代码中没有给出appname,那么在--name中的任何内容都会被打印出来。但由于appname在文件中,我想知道是否还能得到--name?
暂无答案!
目前还没有任何答案,快来回答吧!