Hive的DML

本文详细介绍了Hive中的DML操作,包括load、insert、delete、update和select。讲解了分组聚合如group by的使用,以及高级特性如多GroupBy插入、Map-Side聚合。还探讨了排序的order by、sort by、distribute by和cluster by的区别。此外,文章还涉及了查询语句中的子查询、表的join、union操作和数据抽样方法,如块抽样和桶抽样。最后提到了虚拟列和Lateral View的概念。
摘要由CSDN通过智能技术生成

Hive的DML---对表的操作,load数据、增删改查

1)load

load data [local] inpath '文件路径' [overwrite] into table datetable02; -->加载数据到对应的表,关键字 local是本地文件,如果没有那么是HDFS上的文件。关键字overwrite是是否覆盖,如果有,覆盖。

2)insert

--into Hive tables from queries
insert into table 表名 select * from 表名;  -->从一个select语句插入数据,注意你的表和查询的字段数需要一致,还有数据类型之间的转换
--into directories from queries
insert overwrite local directory '路径' select * from 表名; -->往系统文件中写入输入,如果带有local那就是本地文件,如果没有就是HDFS文件系统 
--into Hive tables from SQL
insert into table 表名 values(v1,v2,v3...)  -->相当于sql的insert语句,在0.14之后才被支持

3)delete

delete from table 表名 where... 

4)update

update table 表名 set col1=v1,col2=v2... where...

5)select

select * from 表名 where 列名 [not] between a and b;  -->约定某个字段的区间,查大于a小于b的数据
select * from 表名 where 列名 like "%a"; -->like语句,模糊查询,_匹配一个字符,%是匹配多个字符
select * from 表名 where 列名 rlike "^星";  -->使用正则来完成模糊查询
select * from 表名 where 列名 regexp "亮$"; -->和rlike的功能一样
select 列名+10 from 表名;  -->数学运算符,一般作用在我们字段上面(一般udf函数,作用在字段上)
select 1 from 表名 where 6.99999999999999999=7.0 limit 1; -->double精度为16位,超过16位就根据四舍五入的规则进1.
--ceil()函数是求大于等于当前数值的最小整数。
select 列名1,count(1) from 表名 group by 列名1; -->分组,并求出分组后每个组内的元素个数,1没意义,只是为了通过语法检查
■SELECT col1 FROM 表名 GROUP BY col1 HAVING SUM(col2) > 10  Hiving子句可以使用聚合函数 where就不可以

★分组--group by

当使用group by语句的时候

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值