我有一个Hive表t1,它有104个文件。在104个文件中,1个文件是61 MB,剩余的103个文件小于1 MB。当我执行查询
时select count(*) from t1
29个映射器与1个减速器一起执行。我想弄清楚为什么29个映射器以及如何减少映射器的数量?
mapreduce.input.fileinputformat.split.maxsize=256MB
mapreduce.input.fileinputformat.split.maxsize=1kb
由于
答案 0 :(得分:1)
尝试使用以下选项设置映射器
设置mapred.map.tasks = 20;
还要检查数据的总块数。
hdfs dfs -du -s -h / apps / hive / warehouse //
每个区块将独立处理。每个映射器都可以根据您设置的映射器编号处理多个块。