不多说,直接上干货!
• 配置:
– 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 classdemo {public staticConnection 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);returnconn;
}
@Testpublic 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)+"\t");
}
System.out.print("\n");
}
System.out.println("=====================================");
}
}
最后是测试结果:
更多参考