参考文章:Impala之JDBC连接
简介
- 首先选择节点,Impala Daemon(守护进程)的作用是接收来自HUE、shell、jdbc等的连接,分配计算任务并汇总结果返回。连接Impala的节点就选Impala Daemon节点。
- impala的主流连接方式有两种,
一种是impala的专用jdbc,需要下载ImpalaJDBC41.jar(官网下载要填各种信息,有点麻烦,
下载地址:https://www.cloudera.com/downloads/connectors/impala/jdbc/2-6-17.html),
另一种是只需hive的pom依赖,改动端口和添加认证方式即可
hive的pom依赖:
<!--</dependency>-->
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-jdbc</artifactId>
<version>2.3.7</version>
</dependency>
认证方式:
;auth=noSasl
核心代码:
Class.forName("org.apache.hive.jdbc.HiveDriver");
connect = DriverManager.getConnection("jdbc:hive2://ip:21050/数据库名;auth=noSasl");
//使用impala先刷新元数据
state = connect.prepareStatement("refresh wz.test");
注意:
- 来自hive的更新并不会被impala侦听到,当hive操作引起元数据变化时,需要进行相应的元数据刷新操作。
- 刷新分两种,表结构的刷新和数据增删改的刷新(分别是INVALIDATE METADATA和REFRESH操作),其对资源的占用也相差较大,具体请自行参考网上的其他文章。
- 其余部分与常规jdbc相同