首页 理论教育 使用HiveJavaAPI进行数据操作实例

使用HiveJavaAPI进行数据操作实例

时间:2023-06-26 理论教育 版权反馈
【摘要】:Hive提供了jdbc驱动,使得我们可以通过Hive Java API连接Hive,并进行一些类关系型数据库的sql操作。下面详细介绍了如何通过Hive Java API查询Hive中表的数据的实现过程。图5-4复制jar包至lib4)此时,只是把jar包复制到项目中,还不能使用。由于hiveserver2增加了权限控制,需要在hadoop的配置文件中配置,否则会出现拒绝连接导致的连接失败。将CSV放在HDFS上命令:hadoop fs-put/home/hadoop/Desktop/sales_data.csv/user/;执行导入命令:load data inpath‘/user/sales_data.csv’into table表名;创建类HiveTest。

使用HiveJavaAPI进行数据操作实例

Hive提供了jdbc驱动,使得我们可以通过Hive Java API连接Hive,并进行一些类关系型数据库的sql操作。下面详细介绍了如何通过Hive Java API查询Hive中表的数据的实现过程。

(1)项目创建。

启动eclipse,创建projiect名称为test的项目(创建的具体过程前几章已经介绍,此处不再详细介绍)。

(2)加载所需的jar包。

JDBC访问hive需要加载如下Jar包:

$HADOOP_HOME/share/hadoop/common/hadoop-common-2.8.0.jar

$HIVE_HOME/lib/hive-exec-2.1.1.jar

$HIVE_HOME/lib/hive-jdbc-2.1.1.jar

$HIVE_HOME/lib/hive-metastore-2.1.1.jar

$HIVE_HOME/lib/hive-service-2.1.1.jar

$HIVE_HOME/lib/commons-logging-1.2.jar

在项目中,加载jar包的过程如下:

1)首先在项目下创建一个文件夹lib,用于保存我们的jar包。如图5-2所示。

图5-2 创建新文件夹

2)输入文件夹名称【lib】,点击【ok】。我们通常在lib文件夹中存放从外部引入的jar包。如图5-3所示。

图5-3 输入文件名称

3)先复制jar包,然后在lib文件夹上右击,选择复制。此时,打开选择框,我们选择默认的【copy files】,点击【OK】关闭。然后我们就可以在lib文件夹下看到我们复制成功的jar包。首先在项目下创建一个文件夹lib,用于保存我们的jar包。其次,把jar包复制到lib中。如图5-4所示。

图5-4 复制jar包至lib

4)此时,只是把jar包复制到项目中,还不能使用。我们再在项目名上右击,依次选择【Build Path】→【Configure Build Path...】。如图5-5所示。

图5-5 选择Configure Build Path...

5)在打开的窗口中,先选中【Libraries】页,再从右边的按钮中点击【add JARs...】。如图5-6所示。

图5-6 add JARs...

6)在打开的窗口中,我们依次展开本项目的项目和lib文件夹,然后选中我们刚才复制到项目中的jar包,然后点击【OK】关闭窗口。如图5-7所示。

(www.xing528.com)

图5-7 选择jar包

7)此时,我们在刚才打开的【Libraries】页中可以看到我们引入的jar包的名称。点击【OK】确认。如图5-8所示。

图5-8 jar包添加成功确认

(3)用户授权。

由于hiveserver2增加了权限控制,需要在hadoop的配置文件中配置,否则会出现拒绝连接导致的连接失败。因此,需要在core-site.xml文件中添加如下配置。

(4)加载hadoop配置文件。

复制hadoop配置文件hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml和yarn-site.xml以及log4j.properties到目下的src文件夹中。

(5)创建数据库和表。

在hive交互终端执行如下命令,创建数据库、表和导入数据。

load data inpath'/user/out_clear/part-r-00000'into table datas;//将part-r-00000文件的数据导入表datas中,其中,文件part-r-00000中数据示例如下:

123.126.50.73,2012-01-04 00:00:02

203.208.60.187,2012-01-04 00:00:02

114.112.141.6,2012-01-04 00:00:02

114.112.141.6,2012-01-04 00:00:02

注意:导入CSV文件不要放在本地目录,要放在HDFS下才可以读入。

将CSV放在HDFS上命令:

hadoop fs-put /home/hadoop/Desktop/sales_data.csv /user/;

执行导入命令:

load data inpath‘/user/sales_data.csv’into table表名;

(6)创建类HiveTest。

在项目中创建类HiveTest,且HiveTest实现代码如下:

(7)启动hiveserver2。

在执行程序之前,需要在终端hadoop和HiveServe,启动hiveserver的shell命令为

hive--service hiveserver2 &。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈