impala-kudu

末鹿安然 提交于 2021-02-20 05:38:02

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))
    }

 

官方说明文档

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!