Hive之WordCount

Hive-SQL练习

通过hive统计一篇文章中WordCount

1. hive创建内部表wc

create table wc (
lie string)
row format delimited fields terminated by '\n';

2. 向wc表中导入hdfs文章的内容

load data inpath '/1.txt' overwrite into table wc;

3. 统计词频

select word,count(1) as word_count 
from
(select explode(split(lie2, " ")) as word   //将文章的每一行(表中的每条记录),按照空格切割为每个元素
from 
(select regexp_replace(lie,'[^a-zA-Z0-9]',' ') as lie2  //过滤掉特殊字符,只保留a-zA-Z0-9,其余全部替换为空格
from wc
) t1
) t
where word REGEXP '[a-zA-Z0-9]'      //过滤掉空格
group by word
order by word_count desc    //按照词频排倒序(desc降序,默认asc升序)
limit 10;

4. 知识点

regexp_replace(source,reg规则,desc)   //字段source内容满足reg规则就替换为desc指定的内容
比如:regexp_replace(123,'^[0-9]',123)  //返回12323

转载于:https://www.cnblogs.com/blogyuhan/p/9269057.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值