java—任何从命令获取非重写spark配置的方法

g0czyy6m  于 2021-05-27  发布在  Spark
关注(0)|答案(0)|浏览(208)

我正在运行以下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?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题