impala-kudu

2021-02-20 04:43发布

kkudu 提供了自己的api来对kudu进行操作,但是有的开发人员习惯用jdbc来操作数据库,这里我们采用impala 来实现该功能,

impala 安装积配置,请百度,我们的集群采用kerberos认证。

1.jdbc:impala 连接(impala 官方建议连接方式)

官网下载cloudera-connector zip 

zip 中的其他jar包我们的集群已经有了,所以只加了ImpalaJDBC41.jar依赖

提交代码所在用户的 principal 是:impala/host@EXAMPLE.COM

连接代码如下:

    import java.sql.DriverManager
    val driverName = "com.cloudera.impala.jdbc41.Driver"
    val url = "jdbc:impala://host:21050;AuthMech=1;KrbRealm=EXAMPLE.COM;KrbHostFQDN=host;KrbServiceName=impala"
    Class.forName(driverName)
    val conn = DriverManager.getConnection(url)
    val prst = conn.prepareStatement("select * from database.movieas limit 10")
    val rs = prst.executeQuery()
    while(rs.next()){
      println(rs.getString(1))
    }

2.jdbc:hive2 连接

hive-jdbc 下载 我用的是org.apache.hive  hive-jdbc

示例代码

val driver = "org.apache.hive.jdbc.HiveDriver"
    val url = "jdbc:hive2://host:21050/;principal=impala/host@EXAMPLE.COM"
    Class.forName(driver)
    val conn = DriverManager.getConnection(url)
    val prst = conn.prepareStatement("select * from database.movieas limit 10")
    val rs = prst.executeQuery()
    while(rs.next()){
      println(rs.getString(1))
    }

 

官方说明文档

 

标签: