Xuefu Zhang commented on HIVE-17270:

Thanks for the investigation, [~pvary].

Auto determining the number of reducers seems rather complicated. Currently, we 
don't try to get memory/core when dynamic allocation is enabled because of the 
dynamic nature of the executors. While it seems reasonable to use 
{{spark.executor.instances}} as an input, the help is limited in my opinion as 
static allocation is expected to be rare in real production.

I also had some doubts on the original idea which was to automatically and 
dynamically deciding the parallelism based on available memory/cores. Maybe we 
should back to the basis, where the number of reducers is solely determined 
(statically) by the total shuffled data size (stats) divided by the 
configuration "bytes per reducer". I'm open to all proposals, including doing 
this for dynamic allocation and using {{spark.executor.instances}} for static 

> Qtest results show wrong number of executors
> --------------------------------------------
>                 Key: HIVE-17270
>                 URL: https://issues.apache.org/jira/browse/HIVE-17270
>             Project: Hive
>          Issue Type: Bug
>          Components: Spark
>    Affects Versions: 3.0.0
>            Reporter: Peter Vary
>            Assignee: Peter Vary
> The hive-site.xml shows, that the TestMiniSparkOnYarnCliDriver uses 2 cores, 
> and 2 executor instances to run the queries. See: 
> https://github.com/apache/hive/blob/master/data/conf/spark/yarn-client/hive-site.xml#L233
> When reading the log files for the query tests, I see the following:
> {code}
> 2017-08-08T07:41:03,315  INFO [0381325d-2c8c-46fb-ab51-423defaddd84 main] 
> session.SparkSession: Spark cluster current has executors: 1, total cores: 2, 
> memory per executor: 512M, memoryFraction: 0.4
> {code}
> See: 
> When running the tests against a real cluster, I found that running an 
> explain query for the first time I see 1 executor, but running it for the 
> second time I see 2 executors.
> Also setting some spark configuration on the cluster resets this behavior. 
> For the first time I will see 1 executor, and for the second time I will see 
> 2 executors again.

This message was sent by Atlassian JIRA

Reply via email to