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。< /p>

连接 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 + ";
Name: " + name + "
"); 
         }  
         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