Scala 通过spark submit--class在作为.jar执行的应用程序中传递opt参数,并使用现有上下文
我正在编写一个scala项目,我想让spark submit中的类可以作为jar类执行。(例如,Scala 通过spark submit--class在作为.jar执行的应用程序中传递opt参数,并使用现有上下文,scala,apache-spark,spark-submit,Scala,Apache Spark,Spark Submit,我正在编写一个scala项目,我想让spark submit中的类可以作为jar类执行。(例如,spark提交——班级组织项目 我的问题如下: 我想使用用户在执行spark提交时设置的spark上下文配置,并选择性地覆盖一些参数,如应用程序名称。例如:spark提交--num executors 6--class org.project将在spark上下文中的number of exector配置字段中通过6 我希望能够向我的项目传递选项参数,如--inputFile或--verbose,而不干
spark提交——班级组织项目
我的问题如下:
spark提交--num executors 6--class org.project
将在spark上下文中的number of exector配置字段中通过6--inputFile
或--verbose
,而不干扰spark参数(可能是避免名称重叠)示例:
spark submit--num executors 6--class org.project--inputFile./data/summary.txt
应将--inputFile./data/summary.txt传递给classorg.project
main
方法的args输入val conf=new SparkConf().setAppName(“项目”);
val sc=新的SparkContext(conf);
在我的main
方法中,但我不确定这是否如预期的那样
project
目前不继承任何其他类
注:2:我对spark的世界还不熟悉,我无法从基本搜索中找到相关内容。您必须自己处理参数解析。这里我们使用
Scopt
spark提交作业时,它必须通过对象def main(args:Array[String])
输入。获取这些arg并使用您喜爱的参数解析器解析它们,相应地设置sparkConf和SparkSession,然后启动进程
Spark有这样的例子: