Apache Tajo provides JDBC interface to connect and execute queries. We can use the same JDBC interface to connect Tajo from our Java based application. Let us now understand how to connect Tajo and execute the commands in our sample Java application using JDBC interface in this section.
Download the JDBC driver by visiting the following link − http://apache.org/dyn/closer.cgi/tajo/tajo-0.11.3/tajo-jdbc-0.11.3.jar.
Now, “tajo-jdbc-0.11.3.jar” file has been downloaded on your machine.
To make use of the JDBC driver in your program, set the class path as follows −
CLASSPATH = path/to/tajo-jdbc-0.11.3.jar:$CLASSPATH
Apache Tajo provides a JDBC driver as a single jar file and it is available @ /path/to/tajo/share/jdbc-dist/tajo-jdbc-0.11.3.jar.
The connection string to connect the Apache Tajo is of the following format −
jdbc:tajo://host/ jdbc:tajo://host/database jdbc:tajo://host:port/ jdbc:tajo://host:port/database
Here,
host − The hostname of the TajoMaster.
port − The port number that server is listening. Default port number is 26002.
database − The database name. The default database name is default.
Let us now understand Java application.
import java.sql.*; import org.apache.tajo.jdbc.TajoDriver; public class TajoJdbcSample { public static void main(String[] args) { Connection connection = null; Statement statement = null; try { Class.forName("org.apache.tajo.jdbc.TajoDriver"); connection = DriverManager.getConnection(“jdbc:tajo://localhost/default"); statement = connection.createStatement(); String sql; sql = "select * from mytable”; // fetch records from mytable. ResultSet resultSet = statement.executeQuery(sql); while(resultSet.next()){ int id = resultSet.getInt("id"); String name = resultSet.getString("name"); System.out.print("ID: " + id + ";\nName: " + name + "\n"); } resultSet.close(); statement.close(); connection.close(); }catch(SQLException sqlException){ sqlException.printStackTrace(); }catch(Exception exception){ exception.printStackTrace(); } } }
The application can be compiled and run using the following commands.
javac -cp /path/to/tajo-jdbc-0.11.3.jar:. TajoJdbcSample.java
java -cp /path/to/tajo-jdbc-0.11.3.jar:. TajoJdbcSample
The above commands will generate the following result −
ID: 1; Name: Adam ID: 2; Name: Amit ID: 3; Name: Bob ID: 4; Name: David ID: 5; Name: Esha ID: 6; Name: Ganga ID: 7; Name: Jack ID: 8; Name: Leena ID: 9; Name: Mary ID: 10; Name: Peter