Impala作为一个SQL引擎,必然提供了Jdbc访问接口,特殊的是Impala完全兼容hiveserver2的接口,所以我们可以使用的客户端包括:

  • beeline
  • impala-shell
  • zeppelin
  • hue

前两种作为shell方式提供,其中beeline是hive的jdbc客户端(类似于mysql客户端),使用!connect的方式连接服务器,url的结构为jdbc:hive2://hostname:port/database;principal=server_principal;Impala-shell实际上是python实现的,使用thrift 接口访问Impala;hue也是通过Python实现的,同样使用的是thrift接口,不过它使用代理(hue用户)的方式访问的;zeppelin通过hive jdbc方式访问,类似于beeline。

从上面几种客户端实例可以看出访问Impala有两类接口:jdbc和thrift,impala可以同时支持hive jdbc和impala jdbc访问,前者的driver为org.apache.hive.jdbc.HiveDriver,后者的driver为com.cloudera.impala.jdbc41.Driver,url的结构也有所改变,例如:jdbc:impala://Host:Port[/Schema];Property1=Value;Property2=Value;…

这里提供了一个impala客户端实例,使用java的方式访问,分别使用thrift和jdbc方式,支持kerberos。

源码地址:https://github.com/terry-chelsea/impala-client-example

Logo

更多推荐