Impala通过JDBC方式访问

   不多说,直接上干货!

• 配置:
  – impala.driver=org.apache.hive.jdbc.HiveDriver
  – impala.url=jdbc:hive2://node2:21050/;auth=noSasl
  – impala.username=
  – impala.password=


• 尽量使用PreparedStatement执行SQL语句:
  – 1.性能上PreparedStatement要好于Statement
  – 2.Statement存在查询不出数据的情况

下面是Java的测试代码:

  首先是引入Impala所需要的类库

  

  然后是测试代码:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.junit.Test;
public class demo {
    public static Connection getConnection() throws ClassNotFoundException, SQLException{
        String driver = "org.apache.hive.jdbc.HiveDriver";
        String url = "jdbc:hive2://node23:21050/;auth=noSasl";
        String username = "";
        String password = "";
        Connection conn = null;
        Class.forName(driver);
        conn = (Connection) DriverManager.getConnection(url,username,password);
        return conn;
    }
    @Test
    public void select() throws ClassNotFoundException, SQLException{
        Connection conn = getConnection();
        String sql = "select * from t_stu;";
        PreparedStatement ps = conn.prepareStatement(sql);
        ResultSet rs = ps.executeQuery();
        int col = rs.getMetaData().getColumnCount();
        System.out.println("=====================================");
        while (rs.next()){
            for(int i=1;i<=col;i++){
                System.out.print(rs.getString(i)+"	");
            }
            System.out.print("
");
        }
        System.out.println("=====================================");
    }
}

  最后是测试结果:

更多参考

http://www.cloudera.com/content/cloudera/en/documentation/cloudera-impala/latest/topics/impala_jdbc.html

原文地址:https://www.cnblogs.com/zlslch/p/6785760.html