gpt4 book ai didi

hadoop - 增加Hive Mapper任务失败?

转载 作者:可可西里 更新时间:2023-11-01 15:01:30 24 4
gpt4 key购买 nike

我有一个托管的 Hive 表,它只包含一个 150MB 的文件。然后我对它执行“select count(*) from tbl”,它使用了 2 个映射器。我想将它设置为更大的数字。

首先我尝试了“set mapred.max.split.size=8388608;”,希望它能使用 19 个映射器。但它只使用 3。不知何故,它仍然将输入分成 64MB。我还使用了“set dfs.block.size=8388608;”,也没有用。

然后我尝试了一个普通的 map-reduce 作业来做同样的事情。它最初使用 3 个映射器,当我设置 mapred.max.split.size 时,它​​使用 19 个。所以我想问题出在 Hive 上。

我看了一些Hive的源码,像CombineHiveInputFormat, ExecDriver等都找不到头绪。

我还可以使用哪些设置?

最佳答案

我将@javadba 的回答与我从 Hive 邮件列表收到的回答相结合,这是解决方案:

set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat;
set mapred.map.tasks = 20;
select count(*) from dw_stage.st_dw_marketing_touch_pi_metrics_basic;

来自邮件列表:

It seems that HIVE is using the old Hadoop MapReduce API and so mapred.max.split.size won't work.

稍后我会深入研究源代码。

关于hadoop - 增加Hive Mapper任务失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20816726/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com