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))
}
来源:oschina
链接:https://my.oschina.net/u/4412692/blog/3627701