[ https://issues.apache.org/jira/browse/HIVE-17270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16120310#comment-16120310 ]
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 allocation. > 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: > http://104.198.109.242/logs/PreCommit-HIVE-Build-6299/succeeded/171-TestMiniSparkOnYarnCliDriver-insert_overwrite_directory2.q-scriptfile1.q-vector_outer_join0.q-and-17-more/logs/hive.log > 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 (v6.4.14#64029)