Hive HQL中参数的持久性?

问题描述 投票:0回答:1

我在Hive中使用群集。

集群具有特定的tez continer大小(通过Ambari设置)。

但是,我们有一个配置单元操作,该操作比其他操作处理更多的数据。它是唯一的一个。

因此,我们计划仅为此过程更改tez容器的大小。这带来了两个问题:

  • 是否可以在HQL中设置hive.tez.container.sizehive.tez.java.opts(如set hive.tez.java.opts=XXX)?
  • 此操作的范围和持续性是什么?如果我为一个查询设置了此设置,是否必须将其设置回原始值,还是仅在此查询/ tez会话/其他设置中考虑到它?
hadoop hive apache-tez
1个回答
0
投票

您可以像这样在脚本中设置这些参数:

set tez.am.resource.memory.mb=8192;
set tez.am.java.opts=-Xmx6144m;
set tez.reduce.memory.mb=6144;    
set hive.tez.container.size=9216;   
set hive.tez.java.opts=-Xmx6144m;

如果查询之前未重新定义,则范围将是整个会话。如果单个脚本中有多个查询,并且每个查询需要不同的参数,请在每个查询之前设置参数。无法为不同的顶点(例如map1和map2)设置不同的参数。

阅读本文:Demystify Apache Tez Memory Tuning Step by Step

© www.soinside.com 2019 - 2024. All rights reserved.