Support Questions

Find answers, ask questions, and share your expertise

Hive ODBC Error - could not connect to Hive Db from PowerBI

avatar
Contributor

I'm trying to connect to HIVE DB from PowerBI using Hive ODBC driver. I've successfully configured DSN and could connect to the server but when I try to list down Hive database in PowerBi I get the following error:'ODBC:ERROR [HY000] [Cloudera][Hardy] (35)
Error from server: error code:'0'
error message: 'MetaException(message:Got exception: org.apache.hadoop.hive.metastore.api.MetaException No such database row)'.'

 

Can someone help.

9 REPLIES 9

avatar
Guru

Do you face same issue when you connect via beeline ? If yes we need to check HMS logs.

 

 

avatar
Contributor
No I do not have issues connecting from beeline or any other took except
Power Bi

avatar
Guru

1. Do you use HDP/CDH/CDP?

2. What is the version?

3. What is the driver version?

4. Driver logs

5. Is your cluster SSL/Kerberos enabled?

avatar
Contributor
Hdp version 3.1.0
Cloudera Odbc hive driver - latest
Where should I check for driver logs?
No Kerberos
Kindly note I have a same set up in Dev environment and it works perfectly
fine.

avatar
Guru

The location would be in odbc.ini

avatar
Contributor

@asish wrote:

The location would be in odbc.ini


I could not find the ODBC.ini file.

Detail Error in Power BI:

DataSource.Error: ODBC: ERROR [HY000] [Cloudera][Hardy] (35) Error from server: error code: '0' error message: 'MetaException(message:Got exception: org.apache.hadoop.hive.metastore.api.MetaException No such database row)'. Details: DataSourceKind=Odbc DataSourcePath=dsn=Hive Batch Prod OdbcErrors=[Table]

 

And the below error in Hive Meta store:

ERROR [pool-6-thread-91]: metastore.RetryingHMSHandler (RetryingHMSHandler.java:invokeInternal(215)) - Retrying HMSHandler after 2000 ms (attempt 5 of 10) with error: javax.jdo.JDOObjectNotFoundException: No such database row
FailedObject:2488234[OID]org.apache.hadoop.hive.metastore.model.MTable
at org.datanucleus.api.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:564)
at org.datanucleus.api.jdo.JDOAdapter.getApiExceptionForNucleusException(JDOAdapter.java:678)
at org.datanucleus.state.StateManagerImpl.isLoaded(StateManagerImpl.java:2929)
at org.apache.hadoop.hive.metastore.model.MTable.dnGetdatabase(MTable.java)
at org.apache.hadoop.hive.metastore.model.MTable.getDatabase(MTable.java:224)
at org.apache.hadoop.hive.metastore.ObjectStore.getTableMeta(ObjectStore.java:1825)
at sun.reflect.GeneratedMethodAccessor100.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.hadoop.hive.metastore.RawStoreProxy.invoke(RawStoreProxy.java:97)
at com.sun.proxy.$Proxy29.getTableMeta(Unknown Source)
at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.get_table_meta(HiveMetaStore.java:3100)
at sun.reflect.GeneratedMethodAccessor99.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.hadoop.hive.metastore.RetryingHMSHandler.invokeInternal(RetryingHMSHandler.java:147)
at org.apache.hadoop.hive.metastore.RetryingHMSHandler.invoke(RetryingHMSHandler.java:108)
at com.sun.proxy.$Proxy31.get_table_meta(Unknown Source)

at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Processor$get_table_meta.getResult(ThriftHiveMetastore.java:15679)
at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Processor$get_table_meta.getResult(ThriftHiveMetastore.java:15663)
at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
at org.apache.hadoop.hive.metastore.TUGIBasedProcessor$1.run(TUGIBasedProcessor.java:111)
at org.apache.hadoop.hive.metastore.TUGIBasedProcessor$1.run(TUGIBasedProcessor.java:107)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:422)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1730)
at org.apache.hadoop.hive.metastore.TUGIBasedProcessor.process(TUGIBasedProcessor.java:119)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:286)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
NestedThrowablesStackTrace:
No such database row
org.datanucleus.exceptions.NucleusObjectNotFoundException: No such database row
at org.datanucleus.store.rdbms.request.FetchRequest.execute(FetchRequest.java:348)
at org.datanucleus.store.rdbms.RDBMSPersistenceHandler.fetchObject(RDBMSPersistenceHandler.java:319)
at org.datanucleus.state.AbstractStateManager.loadFieldsFromDatastore(AbstractStateManager.java:1147)
at org.datanucleus.state.StateManagerImpl.loadSpecifiedFields(StateManagerImpl.java:2564)
at org.datanucleus.state.StateManagerImpl.isLoaded(StateManagerImpl.java:2918)
at org.apache.hadoop.hive.metastore.model.MTable.dnGetdatabase(MTable.java)
at org.apache.hadoop.hive.metastore.model.MTable.getDatabase(MTable.java:224)
at org.apache.hadoop.hive.metastore.ObjectStore.getTableMeta(ObjectStore.java:1825)
at sun.reflect.GeneratedMethodAccessor100.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)

at org.apache.hadoop.hive.metastore.RetryingHMSHandler.invokeInternal(RetryingHMSHandler.java:147)
at org.apache.hadoop.hive.metastore.RetryingHMSHandler.invoke(RetryingHMSHandler.java:108)
at com.sun.proxy.$Proxy31.get_table_meta(Unknown Source)
at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Processor$get_table_meta.getResult(ThriftHiveMetastore.java:15679)
at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Processor$get_table_meta.getResult(ThriftHiveMetastore.java:15663)
at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
at org.apache.hadoop.hive.metastore.TUGIBasedProcessor$1.run(TUGIBasedProcessor.java:111)
at org.apache.hadoop.hive.metastore.TUGIBasedProcessor$1.run(TUGIBasedProcessor.java:107)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:422)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1730)
at org.apache.hadoop.hive.metastore.TUGIBasedProcessor.process(TUGIBasedProcessor.java:119)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:286)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)

 

avatar
Guru

Is the connection string correct?

I see below message: org.apache.hadoop.hive.metastore.api.MetaException No such database row

avatar
Contributor
Yes it is correct since I tested the DSN connection successfully.

avatar
Guru

Apologies for the late reply .We need the driver logs. Please check the below document to get the JDBC driver logs.

 

 https://www.simba.com/resources/drivers/enable-logging-odbc-driver/