前言
在impala执行sql时,报错“Caused by: org.apache.hive.service.cli.HiveSQLException: Invalid query handle: ba49fe5374bba89c:bf8f6dee00000000”,开始一直以为是sql编写错误的问题
解决
打断点排查后发现,while (resuleSet1.next())这个循环根本进不去。
原因是:
正常情况下如果使用Statement执行完一个查询,又去执行另一个查询时这时候第一个查询的结果集就会被关闭,也就是说,所有的Statement的查询对应的结果集是一个
如下图的代码,Statement先是给“resultSet1”赋值,之后Statement有给“resultSet2”赋值,而此时resultSet1已经没有结果集了,所以报错了。