The CData JDBC Drivers support standard JDBC interfaces to integrate with Web applications running on the JVM. This article details how to connect to Hive data from a connection pool in Tomcat.
Connect to Hive Data through a Connection Pool in Tomcat
- Copy the CData JAR and CData .lic file to $CATALINA_HOME/lib. The CData JAR is located in the lib subfolder of the installation directory.
- Add a definition of the resource to the context. Specify the JDBC URL here.
Set the Server, Port, TransportMode, and AuthScheme connection properties to connect to Hive.
Built-in Connection String Designer
For assistance in constructing the JDBC URL, use the connection string designer built into the Hive JDBC Driver. Either double-click the JAR file or execute the jar file from the command-line.
java -jar cdata.jdbc.apachehive.jar
Fill in the connection properties and copy the connection string to the clipboard.
You can see the JDBC URL specified in the resource definition below.
<Resource name="jdbc/apachehive" auth="Container" type="javax.sql.DataSource" driverClassName="cdata.jdbc.apachehive.ApacheHiveDriver" factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" url="jdbc:apachehive:Server=127.0.0.1;Port=10000;TransportMode=BINARY;" maxActive="20" maxIdle="10" maxWait="-1" />
To allow a single application to access Hive data, add the code above to the context.xml in the application's META-INF directory.
For a shared resource configuration, add the code above to the context.xml located in $CATALINA_BASE/conf. A shared resource configuration provides connectivity to Hive for all applications.
- Add a reference to the resource to the web.xml for the application.
Hive data JSP
jdbc/ApacheHive
javax.sql.DataSource
Container
-
Initialize connections from the connection pool:
Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
DataSource ds = (DataSource)envContext.lookup("jdbc/ApacheHive");
Connection conn = ds.getConnection();
More Tomcat Integration
The steps above show how to connect to Hive data in a simple connection pooling scenario. For more use cases and information, see the JNDI Datasource How-To in the Tomcat documentation.