前两天,由于系统的架构设计的原因,想通过Java直接访问Hive数据库,对于我这个Java以及Hadoop平台的菜鸟来说,的确是困难重重,不过,还好是搞定了。感觉也不是很麻烦。这篇文章,作为一个感想记录下来。( 作者:yangyang8848)
一、Hive的访问方式
一般情况下,Hive是不能直接Java连接并访问的,后来出现来一个SparkSQL的东东,变得可以通过JDBC的方式访问连接。首先,我先介绍一些从Linux下访问的方法:
1、远程登录到Linux平台:
2、进入到hive数据库中,我们执行一条查询语句:
通过上图可以看到,系统执行了Map/Reduce操作,并最后显示相关的结果。
这里有一个干货哦:Hive查询语句不支持类似于Mysql中的分页查询的,因此,这里采用了另外一种办法进行分页,自己看图片学习啦~!
3、下边我们采用Beeline远程连接SqarkSQL然后访问Hive数据。
通过上边页面可以看到,系统可以正确将数据查询出来。
二、使用Java代码进行连接访问。
如果想要通过Java进行访问,首先要在引用一下三个Jar包:
<dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-jdbc</artifactId> <version>1.2.1</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>2.4.1</version> </dependency> <dependency> <groupId>jdk.tools</groupId> <artifactId>jdk.tools</artifactId> <version>1.6</version> <scope>system</scope> <systemPath>${JAVA_HOME}/lib/tools.jar</systemPath> </dependency>