如何控制Hive On Tez中的容器数量



我是使用Tez引擎的新手。我在Tez引擎上运行hive查询,该查询似乎利用了所有可用的资源。我想知道是否有任何方法可以控制正在运行的容器的数量。例如,我们如何使用--executor核心和--num executors配置来控制spark。

我搜索过了,没有找到任何具体的东西。此外,我不想通过队列来区分它(因为我在EMR上运行它,有缩放选项,并且基于多个队列定义缩放会使设置复杂化(。

更新1:垂直信息


VERTICES      MODE        STATUS  TOTAL  COMPLETED  RUNNING  PENDING  FAILED  KILLED
----------------------------------------------------------------------------------------------
Map 1            container       RUNNING     17          0       11        6       0       0
----------------------------------------------------------------------------------------------

上述查询触发了1个垂直方向,其中11个任务并行运行(使用集群的所有11个资源(。我想控制垂直线中并发运行任务的数量(在本例中为11到3(。

小型数据集查询设置:

set hive.vectorized.execution.enabled=true;
set hive.vectorized.execution.reduce.enabled=true;
set hive.exec.parallel=true;
set hive.auto.convert.join=true;
set hive.cbo.enable=true;
set hive.compute.query.using.stats=true;
set hive.stats.fetch.column.stats=true;
set hive.stats.fetch.partition.stats=true;
set hive.exec.compress.output=true;
set hive.exec.compress.intermediate=true;
set hive.tez.container.size=10240;
set hive.tez.java.opts=-Xmx8192m;
set tez.runtime.io.sort.mb=4096;
set tez.grouping.min-size=16777216;
set tez.grouping.max-size=1073741824; 
set tez.grouping.split-count=8;
set hive.exec.reducers.bytes.per.reducer=256000000;
hive.exec.reducers.max=10;
set hive.tez.auto.reducer.parallelism = true;
set tez.runtime.unordered.output.buffer.size-mb=1024;
set hive.exec.dynamic.partition=true;
set hive.exec.dynamic.partition.mode=nonstrict;

--较大数据集的配置:

set hive.execution.engine=tez;
set hive.vectorized.execution.enabled=true;
set hive.vectorized.execution.reduce.enabled=true;
set hive.exec.parallel=true;
set hive.auto.convert.join=true;
set hive.cbo.enable=true;
set hive.compute.query.using.stats=true;
set hive.stats.fetch.column.stats=true;
set hive.stats.fetch.partition.stats=true;
set hive.exec.compress.output=true;
set hive.exec.compress.intermediate=true;
set hive.tez.container.size=10240;
set hive.tez.java.opts=-Xmx8192m;
set tez.runtime.io.sort.mb=4096;
set tez.runtime.unordered.output.buffer.size-mb=1024;
set tez.grouping.min-size=1073741824;
set tez.grouping.max-size=1073741824;
set tez.grouping.split-count=16;
set hive.exec.reducers.bytes.per.reducer=512000000;
hive.exec.reducers.max=10;
set hive.tez.auto.reducer.parallelism = true;
set hive.exec.dynamic.partition=true;
set hive.exec.dynamic.partition.mode=nonstrict;

注意:由于您的配置单元或Tez版本以及您的平台权限,上述某些配置可能不受支持。

最新更新