我正在尝试将数据上传到hive rc和orc文件,但reducer的数量始终为0.我尝试使用set mapred.reducer.tasks = 1在hive中设置reducer,但它不起作用。我发现互联网每个减速机的默认尺寸是1G,所以我尝试上传3G数据,因此减速器将至少为2.我必须工作减少运营商?
答案 0 :(得分:0)
尝试
set mapred.reduce.tasks=99;
set hive.exec.reducers.max=99;
但是,您的任务很可能不需要减速器。
答案 1 :(得分:0)
我需要更多关于查询的信息才能确定,但我的猜测是你正在运行的查询是一个只有地图的工作,因此不需要任何减速器。您可以添加DISTRIBUTE BY语句以强制Hadoop使用reducer。例如,
SELECT txn_id FROM table;
将只是一张地图作业。您可以通过添加此子句强制Hive添加reduce步骤。
SELECT txn_id FROM table
DISTRIBUTE BY txn_id;