| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> hive查询或者插入数据报return code 2的错误 -> 正文阅读 |
|
[大数据]hive查询或者插入数据报return code 2的错误 |
? org.apache.hive.service.cli.HiveSQLException: Error while processing statement: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask at org.apache.hive.service.cli.operation.Operation.toSQLException(Operation.java:380) at org.apache.hive.service.cli.operation.SQLOperation.runQuery(SQLOperation.java:257) at org.apache.hive.service.cli.operation.SQLOperation.access$800(SQLOperation.java:91) at org.apache.hive.service.cli.operation.SQLOperation$BackgroundWork$1.run(SQLOperation.java:348) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:422) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1911) at? 我相信这个问题会困扰大家很久 我摸索出一种解决方案。 设置执行引擎为spark 因为报错的时候,使用的引擎是mr,可以尝试设置tez或者spark引擎,我尝试过后,发现使用spark引擎有效果。 a、配置mapreduce计算引擎 set hive.execution.engine=mr; b、配置spark计算引擎 set hive.execution.engine=spark; c、配置tez 计算引擎 set hive.execution.engine=tez; 这样就可以查出数据来了。 上面解决了查询问题。如果是 insert overwrite/into table select * from tablename 这种的插入语句,该如何解决呢? 第一步、设置spark引擎 set hive.execution.engine=spark; 第二步、向临时表中插入数据 解释一下:因为选用了spark引擎,在插入数据以后,会产生许多小文件的问题。本次解决spark产生小文件的问题。 a、新建一个临时表,例如要插入表A中,那么创建一张与表A同构的表作为临时表,这里命名表A_tmp。这一步解决了return code 2的问题 第三步、设置mr引擎 set hive.execution.engine=mr; 将引擎从spark换回mr,这样是为了解决spark小文件的问题。 第四步、将临时表的数据插入到目标表中 第五步、删掉临时表中的数据 具体栗子:
?我在网上看到的一些观点: 以下拷贝其他作者的话语 使用hive做join查询,a表十几万数据,b表1kw多点数据,结果跑起来就是跑一半返回错误,提示如下: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask 尝试
解决 这个时候我真的开始怀疑是不是数据过大了……虽然理论上倒是不应该,然后同事说要不你试一下换个引擎,然后把引擎换成了Tez,你妈嗨,22s跑出来了结果……擦 这让我情何以堪?就换个引擎,你至于差别这么大么,Map-Reduce和Tez让我感觉实在是太吃惊了 所以再遇到这个问题,确认数据没问题,命令没问题的同学,可以试试这个办法。 感想 解决问题的思路,有时候卡住了可以换个思路,这条路堵住了,看看其他的办法 https://www.cnblogs.com/wswang/p/7718067.html 在这篇文章的启迪下,我摸索出这个办法来。 ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 4:20:31- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |