ApacheTajo-JDBCインターフェース
Apache Tajoは、クエリを接続して実行するためのJDBCインターフェイスを提供します。同じJDBCインターフェースを使用して、JavaベースのアプリケーションからTajoに接続できます。このセクションでは、Tajoに接続し、JDBCインターフェースを使用してサンプルJavaアプリケーションでコマンドを実行する方法を理解しましょう。
JDBCドライバーをダウンロードする
次のリンクにアクセスして、JDBCドライバーをダウンロードします- http://apache.org/dyn/closer.cgi/tajo/tajo-0.11.3/tajo-jdbc-0.11.3.jar。
これで、「tajo-jdbc-0.11.3.jar」ファイルがマシンにダウンロードされました。
クラスパスを設定する
プログラムでJDBCドライバーを使用するには、クラスパスを次のように設定します。
CLASSPATH = path/to/tajo-jdbc-0.11.3.jar:$CLASSPATH
テージョに接続する
Apache Tajoは、JDBCドライバーを単一のjarファイルとして提供し、利用可能です。 @ /path/to/tajo/share/jdbc-dist/tajo-jdbc-0.11.3.jar。
Apache Tajoを接続するための接続文字列は、次の形式です。
jdbc:tajo://host/
jdbc:tajo://host/database
jdbc:tajo://host:port/
jdbc:tajo://host:port/database
ここに、
host −TajoMasterのホスト名。
port−サーバーがリッスンしているポート番号。デフォルトのポート番号は26002です。
database−データベース名。デフォルトのデータベース名はdefaultです。
Javaアプリケーション
Javaアプリケーションについて理解しましょう。
コーディング
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();
}
}
}
アプリケーションは、次のコマンドを使用してコンパイルおよび実行できます。
コンパイル
javac -cp /path/to/tajo-jdbc-0.11.3.jar:. TajoJdbcSample.java
実行
java -cp /path/to/tajo-jdbc-0.11.3.jar:. TajoJdbcSample
結果
上記のコマンドは次の結果を生成します-
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