文章转载自:http://blog.csdn.net/yu616568/article/details/52885156
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