【发布时间】:2018-08-12 18:40:35
【问题描述】:
在创建基于 spark 的 java 应用程序时,SparkConf 是使用
创建的sparkConf = new SparkConf().setAppName("SparkTests")
.setMaster("local[*]").set("spark.executor.memory", "2g")
.set("spark.driver.memory", "2g")
.set("spark.driver.maxResultSize", "2g");
但在文档here 中,它说
任何指定为标志或属性文件中的值都将传递给应用程序并与通过 SparkConf 指定的值合并。直接在 SparkConf 上设置的属性具有最高优先级,然后是传递给 spark-submit 或 spark-shell 的标志,然后是 spark-defaults.conf 文件中的选项。自早期版本的 Spark 以来,一些配置键已被重命名;在这种情况下,旧的键名仍然被接受,但优先级低于新键的任何实例。 Spark属性主要可以分为两种:一种是和deploy相关的,比如“spark.driver.memory”、“spark.executor.instances”,这种属性在运行时通过SparkConf编程设置可能不受影响,或者行为取决于您选择的集群管理器和部署模式,因此建议通过配置文件或 spark-submit 命令行选项进行设置;另一个主要和Spark运行时控制有关,比如“spark.task.maxFailures”,这种属性可以任意设置。
那么是否有这些部署相关属性的列表,我只能在 spark-submit 中作为命令行参数提供?
这里给出了local[*],但在运行时我们通过一个纱线集群进行部署。
【问题讨论】:
-
你好@jashan 你是否设法让你的配置正常工作?
标签: java apache-spark