在 hive 中查看和设置参数, 执行 set 加参数名,可以查看现在此参数当前设置的值。
如查看当前 tez 容器的最大内存,可以使用 set hive.tez.container.size;
如果想改写此参数的值,如设置 tez 容器的最大内存为 8G,则可以执行
set hive.tez.container.size=8192;,因为此参数的单位是MB。
container 内存溢出,可以使用set hive.tez.container.size; 查看当前容器的内存,可以调大container 的内存为原来的 2 倍,或者 4 倍。
增大 reduce 的数量,减少每个 reduce 处理的数据量执行 set hive.exec.reducers.max; 可以查看当前系统最大 reduce 的数量,如果任务的 reduce task 数量已经达到最大值。设置 set hive.exec.reducers.max=xxx; 可以调大最大 reduce 的数量。
如果任务的 reduce 数量还没有到达最大 reduce 的数量。
执行 set hive.exec.reducers.bytes.per.reducer; 查看现在多少数据量一个 reduce。 减少此值,能增大 reduce 的数量,可以每次减一半。注意,如果任务的 reduce 数量达到hive.exec.reducers.max; 的值,则应该调大 reduce 的最大限定值。



