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