hive执行query语句时提示错误

hive执行query语句时提示错误:org.apache.hadoop.ipc.RemoteException: java.io.IOException: java.io.IOException:

hive> select product_id, track_time from trackinfo limit 5;
Total MapReduce jobs = 1
Launching Job 1 out of 1
Number of reduce tasks is set to 0 since there's no reduce operator
org.apache.hadoop.ipc.RemoteException: java.io.IOException: java.io.IOException: The number of tasks for this job 156028 exceeds the configured limit 5000
        at org.apache.hadoop.mapred.JobTracker.submitJob(JobTracker.java:3943)
        at sun.reflect.GeneratedMethodAccessor17.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:563)
        at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1388)
        at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1384)
        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:1093)
        at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1382)
Caused by: java.io.IOException: The number of tasks for this job 156028 exceeds the configured limit 5000
        at org.apache.hadoop.mapred.JobInProgress.checkTaskLimits(JobInProgress.java:509)
        at org.apache.hadoop.mapred.JobInProgress.<init>(JobInProgress.java:485)
        at org.apache.hadoop.mapred.JobTracker.submitJob(JobTracker.java:3941)
        ... 10 more  

        at org.apache.hadoop.ipc.Client.call(Client.java:1066)
        at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:225)
        at org.apache.hadoop.mapred.$Proxy11.submitJob(Unknown Source)
        at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:921)
        at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:850)
        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:1093)
        at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:850)
        at org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:824)
        at org.apache.hadoop.hive.ql.exec.ExecDriver.execute(ExecDriver.java:447)
        at org.apache.hadoop.hive.ql.exec.MapRedTask.execute(MapRedTask.java:136)
        at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:138)
        at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:57)
        at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1336)
        at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1122)
        at org.apache.hadoop.hive.ql.Driver.run(Driver.java:935)
        at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:259)
        at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:216)
        at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:412)
        at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:755)
        at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:613)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:156)
Job Submission failed with exception 'org.apache.hadoop.ipc.RemoteException(java.io.IOException: java.io.IOException: The number of tasks for this job 156028 exceeds the configured limit 5000
        at org.apache.hadoop.mapred.JobTracker.submitJob(JobTracker.java:3943)
        at sun.reflect.GeneratedMethodAccessor17.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:563)
        at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1388)
        at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1384)
        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:1093)
        at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1382)
Caused by: java.io.IOException: The number of tasks for this job 156028 exceeds the configured limit 5000
        at org.apache.hadoop.mapred.JobInProgress.checkTaskLimits(JobInProgress.java:509)
        at org.apache.hadoop.mapred.JobInProgress.<init>(JobInProgress.java:485)
        at org.apache.hadoop.mapred.JobTracker.submitJob(JobTracker.java:3941)
        ... 10 more
)'
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.MapRedTask

错误原因:

由于trackinfo表的数据太庞大,而且写的sql语句

select product_id, track_time from trackinfo limit 5

性能耗损太大了,将会导致调度的Map数太多,超出了job的限制。

来看看hive中trackinfo表的数据量有多大:

-bash-3.2$ hadoop fs -dus /data/share/trackinfo
Warning: $HADOOP_HOME is deprecated.  

hdfs://yhd-hadoop06.int.yihaodian.com:9000/data/share/trackinfo 19387740988708

可以看到,trackinfo的数据量大概有19TB这么大

改写sql语句,指定where条件,性能得到了提升

select product_id, track_time from trackinfo where ds='2014-5-13' limit 5

问题同时也被解决了

更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/database/extra/

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索java
, hadoop
, ios sharee...
, server
, apache
, hive
, ipc
, hadoop 视频点播
, ambari hadoop
, sqoop hive mysql
, hadoop hive
, mapred
, at org apache
, mongo hadoop java
AT
shell执行hive语句、hive query、hive 建表语句、hive查看建表语句、hive update语句,以便于您获取更多的相关知识。

时间: 2024-12-30 15:19:42

hive执行query语句时提示错误的相关文章

异常-mysql 中多次执行sql语句,提示too many connections

问题描述 mysql 中多次执行sql语句,提示too many connections 解决方案 mysql Too many connectionsmysql: Too many connectionsmysql Too many connections 解决方案二: 看代码是结合上下文.第一份有一个关闭流,是否正确.这是一个jdbc操作mysql,参考一下吧:http://blog.csdn.net/qq_19558705/article/details/49947317 解决方案三: 为

mysql-sql语句一直提示错误!

问题描述 sql语句一直提示错误! Unknown column 'borrownum' in 'where clause'刚开始有这一列,后来删了,还是这个错误,而且只有在插入的时候有错- 解决方案 看看这张表有触发器吗?是不是往里插入记录的时候触发了触发器,需要更新其他表的borrownum 解决方案二: 你的查询的where后面有没有borrownum? 解决方案三: clause 这里面没有这一列 borrownum 解决方案四: 你这SQL是在数据库客户端执行的还是代码中? 解决方案五

win8系统连接宽带时提示错误813的怎么解决

win8系统连接宽带时提示错误813的怎么解决   故障提示: 错误813:建立了前一个宽带连接的情况下,你在使用相同的设备或端口尝试建立另一个宽带连接.请断开前一个连接,然后重新建立连接. 故障原因: 其他宽带连接已连接上("图1");系统原因等. [解决方法]: 1.重新启动电脑(一般能解决); 2. 重建宽带连接; 3. 重装操作系统. 错误813的流程图:

win8系统安装Office时提示”错误1911“的解决方法

win8系统安装Office时提示"错误1911"的解决方法 1.看到安装的过程中,一个名为INKDIV.dll的动态库文件无法正常完成注册.说明之前Office程序的参与还在,需要清理一下; 2.这个问题比较普遍,这是Office程序特有的故障,而且微软也有专用工具用以处理这样的问题.这个专用工具,是一个全英文的程序,但是操作还是比较简单的.首先下载工具.解压.百度云网盘分享路径是:全部文件 > 维护电脑 > 清理卸载 > [微软专用卸载工具]地址:http://p

Win8系统笔记本创建WiFi时提示错误1061的解决方法

Win8系统笔记本创建WiFi时提示错误1061的解决方法   解决方法如下: 1.检查笔记本电源是否连上,接上电源看是否能启用wifi共享服务. 2.设备管理-网络适配器 里面将驱动程序升级到最新(如果装的是win8驱动一般是最新的),再尝试启用共享. 3.如果前两步还没有解决,仍然提示错误1061,你就试试最麻烦的一步:准备杀毒吧. windows7教程 windows8教程 windows10教程

Win8更新应用时提示错误的解决方案

Win8系统内置的Windows Store应用商店为我们提供了非常丰富的应用,不过在应用商店更新已下载的应用程序时,有可能会出现一些错误.比如在更新Win8版水果忍者这款应用时,就有可能出现错误,错误代码为0x80070057.很多刚刚用上Win8的用户遇到这样的问题后不知该如何解决,下面我们就以水果忍者为例,给大家详细说明一下这类问题的解决方案. 电脑常识 应用更新时提示错误 在更新遇到错误后,退出应用商店,再运行一下原来的应用,会发现仍然可以运行,只不过版本没有更新成功,还是之前的版本号.

Win7系统共享wifi时提示错误1203的解决办法

  Win7系统共享wifi时提示错误1203的解决办法          1.点击开始按钮,在搜索框中输入cmd; 2.在显示的搜索结果中,右击cmd,选择"以管理员身份运行"; 3.在界面中依次输入netsh wlan set host mode=allow和netsh wlan start hos两个命令即可.

win8系统连接宽带时提示错误813的故障原因及解决方法

  win8系统连接宽带时提示"错误813:建立了前一个宽带连接的情况下,你在使用相同的设备或端口尝试建立另一个宽带连接.请断开前一个连接,然后重新建立连接.",具体问题现象如下图所示: 故障原因: 其他宽带连接已连接上或系统原因等. 解决方法: 1.重新启动电脑(一般能解决); 2. 重建宽带连接; 3. 重装操作系统. 错误813的流程图: 上述就是对win8系统连接宽带时提示错误813的故障原因及解决方法的介绍,连接宽带过程中需要注意提示的错误代码,然后根据此代码提示解决问题.

启动wlan autoconfig服务时提示错误1075

  故障现象: Windows 7系统下在"网络连接"中右键启用无线网络连接,但启用后都没反应,还是灰色的,带个小叉号,在服务项里找到wlan autoconfig服务后,启动wlan autoconfig服务时提示 错误1075 服务不存在或已被标记为删除.如图: 解决方案: 1. 导出注册表(提示:修改注册表有,请在专业人士指导下谨慎操作.) 在一台正确配置的电脑,开始---运行---regedit---回车,找到[HKEY_LOCAL_MACHINESYSTEMCurrentCo