I'm running Splunk 6.2 and trying to connect Hive through DB connect. I am able to add the DB type in (db_connection_types.conf) but i am not able to create any connection successfully. It looks like splunk makes some calls to hive JDBC but the method is not there in the hive driver class. Below are the exceptions,
**While validating connection** - Validating connection with URL [jdbc:hive2://myhiveserver:10000/default] failed: java.sql.SQLException:,Method not supported
**While executing Query** - External search command 'dbxquery' returned error code 1. Script output = "RuntimeError: Failed to run query: "SELECT * FROM (select * from mytable limit 1 ) t", caused by: AvroRemoteException(u'java.sql.SQLException: java.sql.SQLException:java.sql.SQLException: Method not supported',). "
Below are my configutations,
**db_connection_types.conf**
[hiveServer2]
displayName = Hive Server 2
serviceClass = com.splunk.dbx2.DefaultDBX2JDBC
jdbcDriverClass = org.apache.hive.jdbc.HiveDriver
port = 10000
jdbcUrlFormat = jdbc:hive2://:/
testQuery = select * from table limit 1
database = default
useConnectionPool = false
#Got connection pool error without above settings
**db_connections.conf**
[myHive]
connection_type = hiveServer2
database = default
host = myhiveserver
identity = hiveCred
jdbcUrlFormat = jdbc:hive2://:/
jdbcUseSSL = 0
port = 10000
readonly = 0
disabled = 0
The versions of different tools are,
Splunk - 6.2 and 6.4
DB Connect v2 - 2.2.0
Java - jdk1.8.0_66
Hadoop - Hortonworks Hadoop 2.7.1.2.3.4.0-3485
Hive - 1.2.1.2.3.4.0-3485
Command ran - | dbxquery connection=myHive query="select * from table limit 1 "
Also i verified that i could execute the below command in beeline and run queries,
beeline -u jdbc:hive2://myhiveserver:10000/default
Any suggestion on the next steps would be helpful.
↧