Hive 查询执行失败
Posted
技术标签:
【中文标题】Hive 查询执行失败【英文标题】:Hive query execution failed 【发布时间】:2016-11-28 06:35:10 【问题描述】:我正在执行一个配置单元查询并且它失败了。 我使用了以下设置参数。
SET hive.execution.engine=tez ;
SET tez.am.resource.memory.mb=4096;
SET hive.tez.container.size=4096;
set hive.compute.query.using.stats=true;
set hive.stats.fetch.column.stats=true;
set hive.stats.fetch.partition.stats=true;
SET hive.execution.engine=tez ;
SET hive.vectorized.execution.enabled=false;
SET hive.auto.convert.join=false;
我收到了错误。
顶点失败,顶点名称=地图 38, vertexId=vertex_1479183638971_463139_1_22,诊断=[任务失败, taskId=task_1479183638971_463139_1_22_000036, diagnostics=[TaskAttempt 0 failed, info=[Container container_1479183638971_463139_01_000556 完成了诊断集 至 [容器失败,exitCode=-104。 容器 [pid=31713,containerID=container_1479183638971_463139_01_000556] 是 超出物理内存限制。当前使用情况:4.2 GB 的 4 GB 使用的物理内存;
所以我已经尝试使用并行选项,以下参数仍然出现一些不同的错误。
SET hive.execution.engine=tez ;
SET tez.am.resource.memory.mb=4096;
SET hive.tez.container.size=4096;
set hive.compute.query.using.stats=true;
set hive.stats.fetch.column.stats=true;
set hive.stats.fetch.partition.stats=true;
SET hive.execution.engine=tez ;
SET hive.vectorized.execution.enabled=false;
SET hive.auto.convert.join=false;
SET tez.am.java.opts=-server -Xmx3276m -Djava.net.preferIPv4Stack=true -XX:+UseNUMA -XX:+UseParallelGC;
SET hive.tez.java.opts=-server -Xmx3276m -Djava.net.preferIPv4Stack=true -XX:+UseNUMA -XX:+UseParallelGC;
我收到了错误。
状态:失败 超出计数器限制:计数器太多:2001 max=2000 失败: 执行错误,返回代码 2 从 org.apache.hadoop.hive.ql.exec.tez.TezTask。超出计数器限制: 计数器太多:2001 max=2000
请帮助我。如何执行我的查询。
提前致谢。
【问题讨论】:
你能粘贴完整的日志吗 我们不匹配日志。只是我提供的控制台上显示的任何信息 你试过这个***.com/questions/20899050/… 老兄感谢您的建议>因为它是生产环境,我没有更改它的权限。任何其他方式将不胜感激。 嗨伙计们有什么建议 【参考方案1】:SET hive.execution.engine=mr ; 它会工作
【讨论】:
以上是关于Hive 查询执行失败的主要内容,如果未能解决你的问题,请参考以下文章