hive的简单增删改查

安装好hive后,打开hadoop的目录,可以看到,比之前多了一个tmp文件夹,同时user目录下也多了一个hive文件夹

一、建表及插入

数据准备:在本地准备一个word.txt文件,内容如下:

 

1 小明
2 小张
3 小美
4 小李
5 小宋
6 小曲
7 小樊
8 小曲
9 小樊
10 小明
11 小美

 


每行两个数据,中间用空格隔开

 

 

show tables;可以查看所有表

现要建立word表,建表和插入都有两种方法,一是在hdfs上hive的warehouse目录下手动建文件夹word(即为表)、上传本地文件word.txt(即为表中数据);

二是在终端启动hive后使用hive命令

create table word(id int,name string) row format delimited fields terminated by ' ';   (表示建立一个id-name的表,两个字段间用空格分开)

上传数据:

load data inpath 'hdfs://localhost:9000/user/zt/input1' into table word;这是从hdfs上上传的,如果想从本地导入,可以使用这个load data local inpath '...'

删除表: drop table word;

二、查询操作

其实和sql语句基本相似。

如查询每个name及出现的次数(类似于MapReduce的WordCount):select name,count(*) from word group by name;

终端显示结果如下:

其实如果是在mysql中运行这样的sql 语句,耗时会更小。这就解释了,hive是适合大数据的,在小数据量并不具有优势,而且也是离线服务的,在线服务耗时太长,用户无法接受。之前介绍的MapReduce也是这样,大数据的体系在数据小的时候效率并不高。

 

数据去重select distinct(name) from word;

统计id平均值select name,sum(id)/count(name) from word group by name;类似于统计平均成绩:

 

小宋	5.0
小张	2.0
小明	5.5
小曲	7.0
小李	4.0
小樊	8.0
小美	7.0

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

w_t_y_y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值