最近在java程序中调用hive做查询时,碰到一个异常,被困扰了许久,经过几番调试,逐步把问题定位清楚。

在异常描述前先给出异常信息:java.sql.SQLException: Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.tez.TezTask

at org.apache.hive.jdbc.HiveStatement.execute(HiveStatement.java:283) ~[hive-jdbc-2.0.1.jar:2.0.1]

at org.apache.hive.jdbc.HiveStatement.executeQuery(HiveStatement.java:378) ~[hive-jdbc-2.0.1.jar:2.0.1]

at com.toucha.analytics.common.dao.ScanlogDao.findNextScanlogs(ScanlogDao.java:109) ~[analytics-common-0.0.1-SNAPSHOT.jar:na]

at com.toucha.analytics.service.ScanReportService.getRawAct(ScanReportService.java:415) [classes/:na]

at com.toucha.analytics.web.ReportController.getRawAct(ReportController.java:261) [classes/:na]

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_25]

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_25]

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_25]

at java.lang.reflect.Method.invoke(Method.java:483) ~[na:1.8.0_25]

at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:222) [spring-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]

at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137) [spring-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]

at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110) [spring-webmvc-4.2.3.RELEASE.jar:4.2.3.RELEASE]

at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:814) [spring-webmvc-4.2.3.RELEASE.jar:4.2.3.RELEASE]

at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:737) [spring-webmvc-4.2.3.RELEASE.jar:4.2.3.RELEASE]

at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) [spring-webmvc-4.2.3.RELEASE.jar:4.2.3.RELEASE]

at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959) [spring-webmvc-4.2.3.RELEASE.jar:4.2.3.RELEASE]

at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893) [spring-webmvc-4.2.3.RELEASE.jar:4.2.3.RELEASE]

at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) [spring-webmvc-4.2.3.RELEASE.jar:4.2.3.RELEASE]

at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872) [spring-webmvc-4.2.3.RELEASE.jar:4.2.3.RELEASE]

at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) [servlet-api-3.1.jar:3.1.0]

at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) [spring-webmvc-4.2.3.RELEASE.jar:4.2.3.RELEASE]

at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) [servlet-api-3.1.jar:3.1.0]

at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812) [jetty-servlet-9.2.14.v20151106.jar:9.2.14.v20151106]

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669) [jetty-servlet-9.2.14.v20151106.jar:9.2.14.v20151106]

at com.toucha.analytics.filter.AuthenticationFilter.doFilter(AuthenticationFilter.java:48) [classes/:na]

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) [jetty-servlet-9.2.14.v20151106.jar:9.2.14.v20151106]

at com.toucha.analytics.filter.GZipServletFilter.doFilter(GZipServletFilter.java:45) [classes/:na]

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) [jetty-servlet-9.2.14.v20151106.jar:9.2.14.v20151106]

at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:121) [spring-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) [jetty-servlet-9.2.14.v20151106.jar:9.2.14.v20151106]

at org.apache.logging.log4j.web.Log4jServletFilter.doFilter(Log4jServletFilter.java:71) [log4j-web-2.4.1.jar:2.4.1]

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) [jetty-servlet-9.2.14.v20151106.jar:9.2.14.v20151106]

at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:224) [websocket-server-9.2.14.v20151106.jar:9.2.14.v20151106]

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) [jetty-servlet-9.2.14.v20151106.jar:9.2.14.v20151106]

at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) [jetty-servlet-9.2.14.v20151106.jar:9.2.14.v20151106]

at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) [jetty-server-9.2.14.v20151106.jar:9.2.14.v20151106]

at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577) [jetty-security-9.2.14.v20151106.jar:9.2.14.v20151106]

at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223) [jetty-server-9.2.14.v20151106.jar:9.2.14.v20151106]

at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) [jetty-server-9.2.14.v20151106.jar:9.2.14.v20151106]

at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) [jetty-servlet-9.2.14.v20151106.jar:9.2.14.v20151106]

at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) [jetty-server-9.2.14.v20151106.jar:9.2.14.v20151106]

at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061) [jetty-server-9.2.14.v20151106.jar:9.2.14.v20151106]

at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) [jetty-server-9.2.14.v20151106.jar:9.2.14.v20151106]

at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215) [jetty-server-9.2.14.v20151106.jar:9.2.14.v20151106]

at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110) [jetty-server-9.2.14.v20151106.jar:9.2.14.v20151106]

at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) [jetty-server-9.2.14.v20151106.jar:9.2.14.v20151106]

at org.eclipse.jetty.server.Server.handle(Server.java:499) [jetty-server-9.2.14.v20151106.jar:9.2.14.v20151106]

at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311) [jetty-server-9.2.14.v20151106.jar:9.2.14.v20151106]

at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) [jetty-server-9.2.14.v20151106.jar:9.2.14.v20151106]

at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544) [jetty-io-9.2.14.v20151106.jar:9.2.14.v20151106]

at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) [jetty-util-9.2.14.v20151106.jar:9.2.14.v20151106]

at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) [jetty-util-9.2.14.v20151106.jar:9.2.14.v20151106]

at java.lang.Thread.run(Thread.java:745) [na:1.8.0_25]

该异常出现的原因是传入hive中执行的sql中有join操作,传入的sql形式如下:

SELECT t1.a,t1.b,t1.c,t1.d FROM ( SELECT a,b,c,d FROM table1 LIMIT 500) t1 LEFT JOIN table2 t2 ON t1.a=t2.a

该脚本直接在hive中可以执行成功,但通过jvm服务连接hive执行就出现异常了。

查找了一些资料和通过自己调试,大概得出的结论是通过jvm服务器调用hive执行sql有一些功能上的差异,不能夸节点做多表关联查询。

最后自己的解决办法是将查询分开执行,将最后结果在java程序中做合并。办法不是很合理,但也是一个解决办法。

java hive查询_java程序调用hive查询的一个异常相关推荐

  1. java编程电话号码查询_java课程设计电话号码查询系统(15页)-原创力文档

    山东建筑大学 Java 课程设计报告 设计题目 电话号码查询系统 学生姓名黄瑜 学号 2010121187 专业班级信计101 指导教师 王文 1 1 1.设计目的 1.通过JAVA 课程设计,使大家 ...

  2. oracle java存储过程返回值_java程序调用Oracle 存储过程 获取返回值(无返回,非结果集,结果集)...

    java程序调用Oracle 存储过程 获取返回值(无返回,非结 果集,结果集) oracle中procedure是不能有返回值的,要想返回值,就得有 输出参数,同样要想返回记录集,可以把游标类型作为 ...

  3. 容易答错的java面试题_Java程序员面试中最容易答错的8道面试题,你中招了吗?...

    1. static 和 final 的用法 static 的作用从三个方面来谈,分别是静态变量.静态方法.静态类. 静态变量:声明为 static 的静态变量实质上就是全局变量,当声明一个对象时,并不 ...

  4. java优化方法_JAVA程序性能优化的10个简单方法

    学号:16030140019 姓名:   莫益彰 [嵌牛导读]:代码优化,一个很重要的课题.可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考 ...

  5. java ide排名_Java程序员的困惑,Java IDE到底怎么选

    Eclipse和IntelliJ IDEA可以说是程序员们最常用的两个IDE开发工具了.IntelliJ IDEA被认为是目前Java开发效率最快的IDE工具,Eclipse却是大多数Java程序员使 ...

  6. java view刷新_java – 如何调用onCreateView方法或刷新我的片段?

    我想在下面的代码中刷新或调用onCreateView. 我有一个上下文来删除一个Item,之后我想用新的Item刷新片段. 谢谢! public class ItemDetailFragmentBla ...

  7. java 静态链接_java如何调用静态链接库里面的函数?

    我现在有静态链接库文件:libtest.a里面有很多.o目标文件,其中一个目标文件在linux下使用nm命令查看其中包含的部分函数:kmer_counter.o:UA_memcpyU__cxa_ate ...

  8. java中sql语句怎么把开始和结束时间作为参数写sql查询_java程序员跳槽的一道坎,大公司面试官都会问的Mybatis...

    一.什么是Mybatis? 1. Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动.创建连接.创建statement ...

  9. java ip归属地查询_JAVA版IP地址查询调用示例

    package cn.juhe; import net.sf.json.JSONObject; import org.springframework.web.client.RestTemplate; ...

最新文章

  1. Python·Jupyter Notebook各种使用方法
  2. Java web 面试题
  3. php输出mysqli查询出来的结果
  4. ShellCode入门(提取ShellCode)
  5. OC-通知+Block
  6. flink sql设置并行度_Flink集成Hivestream模式用例
  7. mongodb 数组查询 php,关于PHP,查询mongodb里的数组的问题
  8. latex 生成中文目录乱码问题解决
  9. 2017百度之星初赛:B-1001. Chess
  10. 网站域名过户查询_过期域名查询
  11. 什么是光电耦合器?光耦有哪些类型
  12. unity的Rotation值如何修改
  13. batchnomal_Linux Kernel 排程機制介紹 ? Loda's blog
  14. AlphaGo灭了整个围棋界 下一步可能灭了散户跟交易员
  15. 无线网卡无信号无服务器,无线网卡不能连接网络是什么原因?
  16. kettle中报org.gjt.mm.mysql.Driver 解决办法
  17. mysql 1058_MySQL数据库之mysql启动服务报1058错误的解决方法
  18. 【转】Latex编译报错后中断编译并改正,然后重复出现不明原因报错的解决方法...
  19. 乐佰小迪智能机器人_助力产业升级,云知声 AI 陪伴教育机器人方案亮相广州国际玩具展...
  20. 【FNN回归预测】基于matlab蝙蝠算法优化前馈神经网络数据回归预测【含Matlab源码 2070期】

热门文章

  1. 迁移学习 简而言之_简而言之Java.io:22个案例研究
  2. 线程方法destroy()和stop(Throwable)在JDK 11中删除
  3. java 模板方法设计模式_Java中的模板方法设计模式
  4. java 垃圾回收手动回收_Java垃圾回收(2)
  5. 控制Java并行流的并行度
  6. 琥珀项目:Java的未来揭晓
  7. Spring Kafka生产者/消费者样本
  8. 2016年将是Java终于拥有窗口函数的那一年!
  9. 使用Apache Storm和Kite SDK Morphlines的可配置ETL处理
  10. 使用FlexDeploy对融合中间件应用程序进行自动化软件测试