idea连接Hive数据库并进行wordcount

idea连接Hive数据库

集群中的准备工作

  • 在node01中开启mysql服务[root@node01 ~]# service mysqld start
  • 在node03中开启hive的元数据服务[root@node03 ~]# hive --service metastore
  • 在node04中开启hiveserver2服务[root@node04 ~]# hiveserver2

在idea中配置hive数据库

  • 首先确认hive版本,我使用的是hive2.1,那么就应该准备2版本的jar包,idea中自带的是hive3的连接jar包,与hive2不兼容,连接会报错,jar包如下图所示

idea连接Hive数据库并进行wordcount_第1张图片

  • 在idea的右边栏中找到database选项

在这里插入图片描述

  • 选择添加Hive

idea连接Hive数据库并进行wordcount_第2张图片

  • 现在drivers栏中选择Apache Hive配置驱动,将之前准备好的jar包导入

idea连接Hive数据库并进行wordcount_第3张图片

  • 配置完之后再去配置data source中的Hive,配置完之后可测试连接,如果出现报错,先检查相关服务有没有全部开启,在检查hive版本与连接jar包是否匹配

idea连接Hive数据库并进行wordcount_第4张图片

  • 连接成功之后,可查看hive中的数据表
    idea连接Hive数据库并进行wordcount_第5张图片

上传数据并建表

上传数据

数据如下所示

hello world hi
hi hell hadoop
hive hbase spark
hello hi

上传数据至hdfs[root@node04 data]# hdfs dfs -put wc /usr/

建表

先有数据后有表,所以建外部表

create external table world_count
(
ling string 
)
location '/usr/';

创建结果表

create table wc_result
(
word string,
ct int 
);

进行wordcount

在idea中的hive console中输入如下sql语句,先将world_count中的数据行转成列,再进行count

from (select explode(split(ling, ' ')) word from world_count) t
insert into wc_result
select word, count(word) group by word;

最后结果如下图所示

idea连接Hive数据库并进行wordcount_第6张图片

你可能感兴趣的:(BigData)