2016-10-03 2 views
1

私はSparkConfオブジェクトがあります。JavaSparkContextコンストラクタは渡されたすべての設定を使用しますか?

final SparkConf conf = new SparkConf(); 

そしてその構成からは、私は私のJavaSparkContextをインスタンス化:

JavaSparkContext context = new JavaSparkContext(conf); 

マイcontextcontext.hadoopConfiguration()を使用して抽出することができる構成となっています。

私の質問は、confに設定を追加すると、私のcontextの設定はこの設定になりますか?私はCONFする設定を追加し言い換えれば、

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

答えて

1

に相当

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

である私の質問は、私のコンテキストのコンフィギュレーションは、この構成を持っているだろうか?

はい、ただし、context.getConf()ではなく、hadoopConfiguration()です。

conf.set(...)で、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になります。特に、"mapreduce.output.fileoutputformat.compress"hadoopConfigurationに設定するには、conf"spark.hadoop.mapreduce.output.fileoutputformat.compress"というキーを使用する必要があります。

関連する問題