Apache-tajo-jdbc-interface
提供:Dev Guides
Apache Tajo-JDBCインターフェース
Apache Tajoは、クエリを接続して実行するJDBCインターフェイスを提供します。 同じJDBCインターフェースを使用して、JavaベースのアプリケーションからTajoを接続できます。 このセクションのJDBCインターフェースを使用して、サンプルのJavaアプリケーションでTajoを接続し、コマンドを実行する方法を理解しましょう。
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
Tajoに接続
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 -データベース名。 デフォルトのデータベース名はデフォルトです。
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