Hi,
I started to use spark on yarn recently and found a problem while
tuning my program.
When SparkContext is initialized as sc and ready to read text file from hdfs,
the textFile(path, defaultMinPartitions) method is called.
I traced down the second parameter in the spark source code and finally found
this:
conf.getInt("spark.default.parallelism", math.max(totalCoreCount.get(), 2))
in CoarseGrainedSchedulerBackend.scala
I do not specify the property "spark.default.parallelism" anywhere so the
getInt will return value from the larger one between totalCoreCount and 2.
When I submit the application using spark-submit and specify the parameter:
--num-executors 2 --executor-cores 6, I suppose the totalCoreCount will be
2*6 = 12, so defaultMinPartitions will be 12.
But when I print the value of defaultMinPartitions in my program, I still get 2
in return, How does this happen, or where do I make a mistake?