Apache Tajo JDBC 接口


Apache Tajo 提供 JDBC 接口来连接和执行查询。我们可以使用相同的 JDBC 接口从基于 Java 的应用程序连接 Tajo。现在让我们了解如何在本节中使用 JDBC 接口连接 Tajo 并在示例 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 

连接到Tajo


Apache Tajo 以单个 jar 文件的形式提供 JDBC 驱动程序,并且它是可用的 @/path/to/tajo/share/jdbc-dist/tajo-jdbc-0.11.3.jar .

连接Apache Tajo的连接字符串格式如下:

jdbc:tajo:// 主持人/
jdbc:tajo://主机/数据库
jdbc:tajo:// 主机:端口/
jdbc:tajo://主机:端口/数据库

Here,

  • host : TajoMaster 的主机名。

  • port :服务器正在监听的端口号。默认端口号为 26002。

  • database : 数据库名称。默认数据库名称为 default。

Java 应用程序


现在让我们了解Java应用程序。

Coding

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:// 本地主机/默认值");
            statement = connection.createStatement();
            String sql;
            sql = "select * from mytable”;
            // 从 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 

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