org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while processing row
来源:互联网 发布:db2和mysql sql语句 编辑:程序博客网 时间:2024/05/30 05:09
任务一直正常跑这 某一天突然出现这个问题。
错误信息和我之前的问题类似,但是可以确定的是肯定不是函数的问题。
http://blog.csdn.net/lxpbs8851/article/details/17528389
java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while processing row (tag=0) {"key":{"reducesinkkey0":"00.26.37.E3.07.D3","reducesinkkey1":"2014-07-07 12:51:46"},"value":{"_col2":515,"_col3":"515999000056662_00.26.37.E3.07.D3","_col5":"00.26.37.E3.07.D3","_col6":"2014-07-07 12:51:46"},"alias":0}at org.apache.hadoop.hive.ql.exec.ExecReducer.reduce(ExecReducer.java:274)at org.apache.hadoop.mapred.ReduceTask.runOldReducer(ReduceTask.java:469)at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:417)at org.apache.hadoop.mapred.Child$4.run(Child.java:266)at java.security.AccessController.doPrivileged(Native Method)at javax.security.auth.Subject.doAs(Subject.java:396)at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1278)at org.apache.hadoop.mapred.Child.main(Child.java:260)Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while processing row (tag=0) {"key":{"reducesinkkey0":"00.26.3
经过排查 在hive语句中 单独去执行这个语句就会报错:
select colx,coly,col_par
from (
select colx,coly,col_par,
row_number() over(partition by col_par order by create_time) rn from test.table_name ) twhere rn =1
总表的数据量很小 才几百万。
怀疑是数据的问题 于是
select * from
(
select col_par,count(1) rn
from test.table_name group by col_par
) t
where rn>1000;
发现col_par 为''空串 相同的记录居然有100多万,明显会造成严重的数据倾斜!!
通过执行的过程可以发现 错误是在reduce 阶段失败的 反复尝试3次均以失败告终
而这个语句 生成的reduce数只有1个。
解决办法:
1.当然由于业务的关系 正好 为空串的数据是可以排除的 于是
select colx,coly,col_parfrom (select colx,coly,col_par,row_number() over(partition by col_par order by create_time) rn from test.table_name where col_par<>'') twhere rn =1这样既可以解决数据倾斜的 问题 又可以保证reduce 洗牌阶段不会失败
2.设置参数 增加reduce数
0 0
- org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while processing row
- hive执行查询出现:org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while processing row
- Error: java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException: org.apache.hado
- Hive On Spark报错:Failed to execute spark task, org.apache.hadoop.hive.ql.metadata.HiveException
- Hive Runtime Error while processing row
- Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
- Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
- 启动hive时出现:Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
- 启动bin/hive报错Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
- hive启动报错解决Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
- hive启动报错-Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
- 在启动hive时Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
- Hive安装报错:Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient的解决办法
- hive:Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
- hive 函数参数产生的错误:Hive Runtime Error while processing row {"sys":"0"}
- Exception in thread "main" java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveExcept
- Hive2:Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
- Exception in thread "main" java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveExcept
- 苹果App Store审核指南中文翻译(2014.9.1更新)
- [010]微信公众帐号开发教程第10篇-解析接口中的消息创建时间CreateTime
- LVM test
- HDU4908BestCoder Sequence(组合数学)
- 使用dialog插件弹出提示和确定信息对话框8-8
- org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while processing row
- 加密解密总结
- Windows下OpenSSL安装配置
- Tips running Hadoop on Ubuntu
- fscanf()函数详解
- 使用JQuery UI插件以拖动的方式管理图片8-9
- 利用函数访问私有数据成员
- jdk环境变量配置
- 基于标签方式的工作流启动及任务执行开发说明