Hi everyone, I get an error when getting the column info thrift API, the version of the hive is 3.1.1. I created a table using the following sql: CREATE EXTERNAL TABLE `my_table`( a string, b bigint) ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe'; When I calling the thrift API GetColumns(TGetColumnsResp& _return, const TGetColumnsReq& req), it returned an error, the error message is :
MetaException(message:java.lang.UnsupportedOperationException: Storage schema reading not supported) + [0] "*org.apache.hive.service.cli.HiveSQLException:MetaException(message:java.lang.UnsupportedOperationException: Storage schema reading not supported):25:24" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [1] "org.apache.hive.service.cli.operation.GetColumnsOperation:runInternal:GetColumnsOperation.java:213" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [2] "org.apache.hive.service.cli.operation.Operation:run:Operation.java:247" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [3] "org.apache.hive.service.cli.session.HiveSessionImpl:getColumns:HiveSessionImpl.java:695" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [4] "sun.reflect.GeneratedMethodAccessor46:invoke::-1" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [5] "sun.reflect.DelegatingMethodAccessorImpl:invoke:DelegatingMethodAccessorImpl.java:43" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [6] "java.lang.reflect.Method:invoke:Method.java:498" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [7] "org.apache.hive.service.cli.session.HiveSessionProxy:invoke:HiveSessionProxy.java:78" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [8] "org.apache.hive.service.cli.session.HiveSessionProxy:access$000:HiveSessionProxy.java:36" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [9] "org.apache.hive.service.cli.session.HiveSessionProxy$1:run:HiveSessionProxy.java:63" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [10] "java.security.AccessController:doPrivileged:AccessController.java:-2" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [11] "javax.security.auth.Subject:doAs:Subject.java:422" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [12] "org.apache.hadoop.security.UserGroupInformation:doAs:UserGroupInformation.java:1729" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [13] "org.apache.hive.service.cli.session.HiveSessionProxy:invoke:HiveSessionProxy.java:59" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [14] "com.sun.proxy.$Proxy43:getColumns::-1" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [15] "org.apache.hive.service.cli.CLIService:getColumns:CLIService.java:387" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [16] "org.apache.hive.service.cli.thrift.ThriftCLIService:GetColumns:ThriftCLIService.java:654" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [17] "org.apache.hive.service.rpc.thrift.TCLIService$Processor$GetColumns:getResult:TCLIService.java:1677" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [18] "org.apache.hive.service.rpc.thrift.TCLIService$Processor$GetColumns:getResult:TCLIService.java:1662" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [19] "org.apache.thrift.ProcessFunction:process:ProcessFunction.java:39" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [20] "org.apache.thrift.TBaseProcessor:process:TBaseProcessor.java:39" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [21] "org.apache.hive.service.auth.TSetIpAddressProcessor:process:TSetIpAddressProcessor.java:56" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [22] "org.apache.thrift.server.TThreadPoolServer$WorkerProcess:run:TThreadPoolServer.java:286" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [23] "java.util.concurrent.ThreadPoolExecutor:runWorker:ThreadPoolExecutor.java:1149" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [24] "java.util.concurrent.ThreadPoolExecutor$Worker:run:ThreadPoolExecutor.java:624" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [25] "java.lang.Thread:run:Thread.java:748" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [26] "*org.apache.hadoop.hive.metastore.api.MetaException:java.lang.UnsupportedOperationException: Storage schema reading not supported:42:17" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [27] "org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler:newMetaException:HiveMetaStore.java:6935" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [28] "org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler:get_fields_with_environment_context:HiveMetaStore.java:5182" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [29] "org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler:get_schema_with_environment_context:HiveMetaStore.java:5264" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [30] "sun.reflect.GeneratedMethodAccessor52:invoke::-1" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [31] "sun.reflect.DelegatingMethodAccessorImpl:invoke:DelegatingMethodAccessorImpl.java:43" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [32] "java.lang.reflect.Method:invoke:Method.java:498" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [33] "org.apache.hadoop.hive.metastore.RetryingHMSHandler:invokeInternal:RetryingHMSHandler.java:147" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [34] "org.apache.hadoop.hive.metastore.RetryingHMSHandler:invoke:RetryingHMSHandler.java:108" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [35] "com.sun.proxy.$Proxy39:get_schema_with_environment_context::-1" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [36] "org.apache.hadoop.hive.metastore.HiveMetaStoreClient:getSchema:HiveMetaStoreClient.java:2015" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [37] "org.apache.hadoop.hive.metastore.HiveMetaStoreClient:getSchema:HiveMetaStoreClient.java:2002" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [38] "org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient:getSchema:SessionHiveMetaStoreClient.java:334" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [39] "sun.reflect.GeneratedMethodAccessor51:invoke::-1" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [40] "sun.reflect.DelegatingMethodAccessorImpl:invoke:DelegatingMethodAccessorImpl.java:43" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [41] "java.lang.reflect.Method:invoke:Method.java:498" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [42] "org.apache.hadoop.hive.metastore.RetryingMetaStoreClient:invoke:RetryingMetaStoreClient.java:212" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [43] "com.sun.proxy.$Proxy40:getSchema::-1" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [44] "org.apache.hive.service.cli.operation.GetColumnsOperation:runInternal:GetColumnsOperation.java:169" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [45] "*java.lang.UnsupportedOperationException:Storage schema reading not supported:42:1" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [46] "org.apache.hadoop.hive.metastore.DefaultStorageSchemaReader:readSchema:DefaultStorageSchemaReader.java:36" std::basic_string<char,std::char_traits<char>,std::allocator<char> > + [47] "org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler:get_fields_with_environment_context:HiveMetaStore.java:5173" std::basic_string<char,std::char_traits<char>,std::allocator<char> > If the ROW FORMAT does not use JsonSerDe, I can get the correct result. I tried to query this table (select * from my_table) using the thrift API, and can return the data normally. Could you give some advice? Thanks, CJay Zhang