Impala-JDBC使用方法

原创
2017/02/21 15:57
阅读数 1.4W

Cloudera-Impala JDBC是以版本JDBC4.0和JDBC4.1数据标准编译的。

Impala-JDBC的系统要求

Java版本要求:

Impala版本要求:

Impala(apache 单独)版本范围:impala1.0.1---impala2.5

或者:CDH版本5.6和 5.7.

Cloudera Impala JDBC 应用所需要的Jar包,和api文档下载:

下载地址:https://www.cloudera.com/downloads/connectors/impala/jdbc/2-5-28.html

下载需要用户注册cloudera账户邮箱电话等,随便注册一下就可以了。。。        

下载的是一个zip包:impala_jdbc_2.5.36.2056.zip 

解压后文件夹下面有两个zip包和两个操作文档:

根据系统版本和环境的要求:大多数情况下我们使用个的是Cloudera-ImpalaJDBC41这个zip包

解压这个Cloudera-ImpalaJDBC41 zip包得到我们Impala-JDBC所有需要得jar包:

解压后得到的jar包添加到我们得开发环境中,然后就可以开发了。

测试代码:

package com.renrenxing.impala;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
/**
 * Created by xiaohu on 2017/2/20.
 */
//$ip代表impalad得ip地址,默认情况下就是我们可以只写impala-shell命令得客户端地址。
public class ImpalJDBC {
    static String JDBC_DRIVER = "com.cloudera.impala.jdbc41.Driver";
    static String CONNECTION_URL = "jdbc:impala://ip:21050/default";
    public static void main(String[] args){
        Connection con = null;
        ResultSet rs = null;
        PreparedStatement ps = null;
        try{
            Class.forName(JDBC_DRIVER);
            con = DriverManager.getConnection(CONNECTION_URL);
            ps = con.prepareStatement("select count(*)  from a");
            rs = ps.executeQuery();
            while (rs.next()){
                System.out.println(rs.getString(1));
            }
        } catch (Exception e){
            e.printStackTrace();
        } finally{
            try {
                ps.close();
                rs.close();
                con.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}

或者可以到github社区下载相应得代码:

github代码下载地址:https://github.com/onefoursix/Cloudera-Impala-JDBC-Example

备注:

    在linux环境开发得时候需要我们把所有得jar包加入CLASSPTH中,这样才可以编译通过。

    export CLASSPATH=.:/your jar dir/*.jar:$CLASSPATH

编译:javac ImpalJDBC.java 

 把编译后得 ImpalJDBC.class 文件打成jar包:jar -cvf ImpalJDBC.jar ImpalJDBC.class

还需要注意一点得是:如果想要执行代码必须把所有得Jar带上。如,

java -cp .:./ImpalJDBC.jar:./ImpalaJDBC41.jar:./hive_service.jar:./hive_metastore.jar:./libthrift-0.9.0.jar:./log4j-1.2.14.jar:./slf4j-log4j12-1.5.11.jar:./slf4j-api-1.5.11.jar:./TCLIServiceClient.jar   ImpalJDBC

另外:如何权限控制Impala还在调研中。

 

 

 

 

 

 

 

 

 

 

展开阅读全文
打赏
2
0 收藏
分享
加载中
很好的分享,感谢博主!
2017/02/21 16:05
回复
举报
更多评论
打赏
1 评论
0 收藏
2
分享
返回顶部
顶部