您的位置:首页 > 其它

hive删除表失败

2015-09-07 11:54 447 查看
删除hive表报错,报错信息如下

com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1103 > 1024). You can change this value on the server by setting th

at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3540)

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2417)

at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2582)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2535)

at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1911)

at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2034)

at com.jolbox.bonecp.PreparedStatementHandle.executeQuery(PreparedStatementHandle.java:174)

at org.datanucleus.store.rdbms.ParamLoggingPreparedStatement.executeQuery(ParamLoggingPreparedStatement.java:381)

at org.datanucleus.store.rdbms.SQLController.executeStatementQuery(SQLController.java:504)

at org.datanucleus.store.rdbms.query.JDOQLQuery.performExecute(JDOQLQuery.java:651)

at org.datanucleus.store.query.Query.performDeletePersistentAll(Query.java:2053)

at org.datanucleus.store.query.AbstractJavaQuery.performDeletePersistentAll(AbstractJavaQuery.java:106)

at org.datanucleus.store.query.Query.deletePersistentAll(Query.java:2029)

at org.datanucleus.store.query.Query.deletePersistentAll(Query.java:1985)

at org.datanucleus.api.jdo.JDOQuery.deletePersistentAll(JDOQuery.java:180)

at org.apache.hadoop.hive.metastore.ObjectStore.dropPartitionGrantsNoTxn(ObjectStore.java:4743)

at org.apache.hadoop.hive.metastore.ObjectStore.dropPartitions(ObjectStore.java:1635)

at sun.reflect.GeneratedMethodAccessor53.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:606)

at org.apache.hadoop.hive.metastore.RawStoreProxy.invoke(RawStoreProxy.java:98)

at com.sun.proxy.$Proxy0.dropPartitions(Unknown Source)

at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.dropPartitionsAndGetLocations(HiveMetaStore.java:1655)

at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.drop_table_core(HiveMetaStore.java:1505)

at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.drop_table_with_environment_context(HiveMetaStore.java:1676)

at sun.reflect.GeneratedMethodAccessor51.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:606)

at org.apache.hadoop.hive.metastore.RetryingHMSHandler.invoke(RetryingHMSHandler.java:102)

at com.sun.proxy.$Proxy3.drop_table_with_environment_context(Unknown Source)

at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Processor$drop_table_with_environment_context.getResult(ThriftHiveMe

at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Processor$drop_table_with_environment_context.getResult(ThriftHiveMe

at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)

at org.apache.hadoop.hive.metastore.TUGIBasedProcessor$1.run(TUGIBasedProcessor.java:110)

at org.apache.hadoop.hive.metastore.TUGIBasedProcessor$1.run(TUGIBasedProcessor.java:106)

at java.security.AccessController.doPrivileged(Native Method)

at javax.security.auth.Subject.doAs(Subject.java:415)

at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1671)

at org.apache.hadoop.hive.metastore.TUGIBasedProcessor.process(TUGIBasedProcessor.java:118)

at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:285)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

at java.lang.Thread.run(Thread.java:745)

)



解决办法:

修改hive数据库编码:

mysql> alter database hivedb character set latin1;

然后重启hive metastore和hive server就可以了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: