hive - 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 列)。