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的右边栏中找到database选项

在这里插入图片描述

  • 选择添加Hive

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

  • 连接成功之后,可查看hive中的数据表
    在这里插入图片描述

上传数据并建表

上传数据

数据如下所示

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;

最后结果如下图所示

https://raw.githubusercontent.com/ThisisWilli/BigData/master/Hive/pic/wc%E7%BB%93%E6%9E%9C.PNG

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值