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


Reply via email to