首页 > 解决方案 > Hive 没有为“插入覆盖”查询创建减速器。小文件问题?

问题描述

我将 Hive 与 MapReduce 一起使用。

我尝试使用几种不同的配置(始终相同,但使用不同的值)。它正在创建一些映射器,但没有减速器。

我设置的配置是(我尝试了 64MB、128MB 和 256MB 的数值):

SET hive.exec.reducers.bytes.per.reducer=134217728;
SET hive.merge.mapfiles=true;
SET hive.merge.mapredfiles=true;
SET hive.merge.size.per.task=134217728;
SET hive.merge.smallfiles.avgsize=67108864;
SET mapred.max.split.size=134217728;
SET parquet.block.size=134217728;
SET dfs.blocksize=134217728;
SET hive.exec.reducers.bytes.per.reducer=134217728;
SET hive.exec.dynamic.partition=true; 
SET hive.exec.dynamic.partition.mode=nonstrict;

主要目标是更有效地运行此查询:

INSERT OVERWRITE TABLE my_table2 PARTITION(partition) SELECT * FROM mytable1;

这是运行 Hive 查询的 INFO 消息之一: INFO : Hadoop job information for Stage-1: number of mappers: 675; number of reducers: 0

我尝试对 4 个不同大小的表运行此查询:<100.000 行、<10.000.000、<100.000.000、>100.000.000 行(均超过 20 列且少于 30 列)。

标签: hivemapreducecloudera

解决方案


推荐阅读