Apache Hive 执行HQL语句报错 ( 10G )
# 故障描述:
hive > select substring(request_body["uuid"], -, ) as uuid, count(distinct(request_body["uuid"])) as count
from log_bftv_api
where year= and month= and day= and request_body["method"] = "bv.lau.urecommend" and length(request_body["uuid"]) =
group by
order by uuid; # hive 执行该HQL语句时报错信息如下:( 数据量小的时候没有问题 )
# 报错信息:
MapReduce Total cumulative CPU time: minutes seconds msec
Ended Job = job_1510050683827_0137 with errors
Error during job, obtaining debugging information...
Examining task ID: task_1510050683827_0137_m_000002 (and more) from job job_1510050683827_0137 Task with the most failures():
-----
Task ID:
task_1510050683827_0137_m_000000 URL:
http://namenode:8088/taskdetails.jsp?jobid=job_1510050683827_0137&tipid=task_1510050683827_0137_m_000000
-----
Diagnostic Messages for this Task:
Error: Java heap space FAILED: Execution Error, return code from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
MapReduce Jobs Launched:
Stage-Stage-: Map: Reduce: Cumulative CPU: 106.07 sec HDFS Read: HDFS Write: FAIL
Total MapReduce CPU Time Spent: minutes seconds msec
# 原因分析:
报错显示 Error: Java heap space、return code from org.apache.hadoop.hive.ql.exec.mr.MapRedTask 查资料说是因为内存的原因,由于HQL实际上是被转换成mapreduce的java任务,所以做了以下操作。
解决方法:
hadoop shell > vim etc/hadoop/hadoop-env.sh # 默认
export HADOOP_HEAPSIZE= hadoop shell > vim etc/hadoop/yarn-env.sh # 默认
YARN_HEAPSIZE= # 跟据实际情况,按需调整! hadoop shell > vim etc/hadoop/mapred-site.xml <property>
<name>mapreduce.map.memory.mb</name>
<value></value>
</property> <property>
<name>mapreduce.map.java.opts</name>
<value>-Xmx1024M</value>
</property> <property>
<name>mapreduce.reduce.memory.mb</name>
<value></value>
</property> <property>
<name>mapreduce.reduce.java.opts</name>
<value>-Xmx2560M</value>
</property> <property>
<name>mapreduce.task.io.sort.mb</name>
<value></value>
</property> <property>
<name>mapreduce.task.io.sort.factor</name>
<value></value>
</property> <property>
<name>mapreduce.reduce.shuffle.parallelcopies</name>
<value></value>
</property> # 新增这些参数 ( 跟据机器实际情况,按需成倍调整 )
# 我的这个测试环境是4台8核8G的KVM虚拟机,一个NameNode,三个DataNode! # 经过这次参数调整,目前600G的数据集上没出过问题,HDFS 上还在不断的写入历史数据、新数据。
Apache Hive 执行HQL语句报错 ( 10G )的更多相关文章
- mysql5.7执行sql语句报错:In aggregated query without GROUP BY, expression #1 of SELECT list contains nonagg
mysql5.7执行sql语句报错:In aggregated query without GROUP BY, expression #1 of SELECT list contains nonagg ...
- 【spring boot jpa】hql语句报错 :antlr.NoViableAltException: unexpected token: roleName
使用场景:在spring data jpa下使用@Query("hql语句") 然后在项目启动的时候报错 hql语句报错:antlr.NoViableAltException: u ...
- 解决Mysql搭建成功后执行sql语句报错以及区分大小写问题
刚搭建完mysql 8.0以后会: 一.表区分大小写, 二.执行正确的sql语句成功且会报:[Err] 1055 - Expression #1 of ORDER BY clause is not i ...
- PHP执行insert语句报错“Data too long for column”解决办法
PHP执行mysql 插入语句, insert语句在Navicat for mysql(或任意的mysql管理工具) 中可以正确执行,但是用mysql_query()函数执行却报错. 错误 : “Da ...
- mysqlworkbench 执行update语句报错:You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column
You are using safe update mode and you tried to update a table without a WHERE that uses a KEY colum ...
- Hive 执行sql命令报错
Failed with exception java.io.IOException:java.lang.IllegalArgumentException: java.net.URISyntaxExce ...
- sql无效字符 执行sql语句报错解决方案
以为是sql中参数赋值有问题,但是将sql语句直接copy到PLSQL中执行,却没问题,纠结了好久,原来是 insert语句多了:唉,坑爹 http://www.jb51.net/article/32 ...
- SQL Server中事务transaction如果没写在try catch中,就算中间语句报错还是会提交
假如我们数据库中有两张表Person和Book Person表: CREATE TABLE [dbo].[Person]( ,) NOT NULL, ) NULL, ) NULL, [CreateTi ...
- shell脚本if判断语句报错[: too many arguments的两种原因
shell脚本,if判断语句报错[: too many arguments 我遇到过两种情况: 1.第一中情况就是网上大家说的,字符串变量中可能存在空格,shell解析时将其认为是多个参数,再进行判断 ...
随机推荐
- dedecms问答模块时间显示1970-01-01的解决办法
在使用dedecms的问答模块的时候,很多人希望能在模板上加上问题的时间,一般我们采用这样的dede标签: {dede:ask row=24 titlelen='50' sort='ok'} &l ...
- TesseractOCR Tutorials
先放上之前收集的资源,有空写博客. 点我
- js实现loading简单的遮套层
弹出个div 设置div的背景色及透明度当加载完成后remove这个div 或者 隐藏至于淡入淡出通过setTimeout 或者setInterval改变透明度试试 .test{ widt ...
- Modbus tcp 格式说明 通讯机制 附C#测试工具用于学习,测试
前言: 之前的博客介绍了如何用C#来读写modbus tcp服务器的数据,文章:http://www.cnblogs.com/dathlin/p/7885368.html 当然也有如何创建一个服务器文 ...
- AsyncTask使用详细说明
AsyncTask使用: 在开发Android应用时必须遵守单线程模型的原则: Android UI操作并不是线程安全的并且这些操作必须在UI线程中执行.在单线程模型中始终要记住两条法则: 1. 不要 ...
- bzoj2048 书堆
Description Input 第一行正整数 N M Output 一行(有换行符),L,表示水平延伸最远的整数距离 (不大于答案的最大整数) 贪心地把最高的书尽量向右放可以得到最优解,因而最高的 ...
- cpu监控之二:dstat
首先我们使用dstat命令来查看下我们的CPU情况,他能够实时的输出我们的信息, dstat 2 10(每2秒采集一次共采集10次) [test@test pos-gateway]$ dstat Yo ...
- ASP.NET Web Pages:简介
ylbtech-.Net-ASP.NET Web Pages:简介 ASP.NET 是一个使用 HTML.CSS.JavaScript 和服务器脚本创建网页和网站的开发框架. ASP.NET 支持三种 ...
- 用几分钟了解R语言入门知识
第一篇——用几分钟了解R语言入门知识 第二篇——用几分钟了解R语言入门知识(续) 关于数据分析学习笔记的计划(以及目录)
- 转载-MyBatis学习总结
MyBatis学习总结(八)——Mybatis3.x与Spring4.x整合 孤傲苍狼 2015-02-07 00:09 阅读:89825 评论:54 MyBatis学习总结(七)——Myba ...