java - JavaSparkContext 构造函数是否会使用传递的所有配置?

标签 java apache-spark

我有一个 SparkConf 对象:

final SparkConf conf = new SparkConf();

从该配置中,我实例化了我的 JavaSparkContext:

JavaSparkContext context = new JavaSparkContext(conf);

我的context有一个可以使用context.hadoopConfiguration()提取的配置。

我的问题是,如果我在conf中添加配置,我的context的配置会有这个配置吗?换句话说,就是

conf.set("mapreduce.output.fileoutputformat.compress", false);

相当于

context.hadoopConfiguration().setBoolean("mapreduce.output.fileoutputformat.compress", false);

最佳答案

My question is, if I add a configuration to conf, will my context's configuration have this configuration?

是的,但是在 context.getConf() 中,而不是在 hadoopConfiguration() 中。

is conf.set(...) equivalent to context.hadoopConfiguration().setBoolean(...)?

  1. hadoopConfiguration 是在创建上下文时从 conf 初始化的,如果您之后设置任何内容,它都不会改变。

    <
  2. 如果你看看它是如何初始化的,你最终会得到 https://github.com/apache/spark/blob/master/core/src/main/scala/org/apache/spark/deploy/SparkHadoopUtil.scala#L82 。特别是,要在 hadoopConfiguration 中设置 "mapreduce.output.fileoutputformat.compress",需要使用键 "spark.hadoop.mapreduce.output.fileoutputformat .compress"conf 中。

关于java - JavaSparkContext 构造函数是否会使用传递的所有配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39831958/

相关文章:

java - Spring @RequestMapping 在多次提交时在 URL 中加倍

java - Spring 启动 : How to declare a custom repository factory bean

java - 重复值插入排序,双向链表ADT

scala - Spark Scala 有条件地添加到 agg

python - 读取 (Pyspark? 中的 JDBC 源代码时出现不支持的数组错误)

scala - 使用Spark通过s3a将 Parquet 文件写入s3非常慢

hadoop - Spark 存在时 Hadoop 和流解决方案的相关性

java - 查找数组的最大值

java - 如何比较通用 LinkedList 中的对象

apache-spark - 如何在 PySpark 中创建具有偏移量的 InputDStream(使用 KafkaUtils.createDirectStream)?