使用Hive实现词频统计

步骤:

创建一个测试表

hive> create table test(line string);

加载数据文件到临时表

hive> LOAD DATA LOCAL INPATH '/user/tmp/a.txt' OVERWRITE INTO TABLE test;

加载数据文件到临时表

hive> create table word_count as 
 select word,count(1) as count from 
 (select explode(split(line,'\\s')) as word from test) w
 group by word
 order by word;

其中split()函数中第一个参数为对谁进行切分,第二个参数为按什么进行切分。explode()函数是将每行切分好的单词数据,放到每一行,即每行只有一个单词。

Hive的优点

1.简单容易上手:提供了类SQL查询语言HQL

2.可扩展:为超大数据集设计了计算/扩展能力(MR作为计算引擎,HDFS作为存储系统)

3.一般情况下不需要重启服务Hive可以自由的扩展集群的规模。 提供统一的元数据管理

4.延展性:Hive支持用户自定义函数,用户可以根据自己的需求来实现自己的函数

5.容错:良好的容错性,节点出现问题SQL仍可完成执行

Hive的局限性

1.Hive的HQL表达能力有限

迭代式算法无法表达,比如PageRank

数据挖掘方面,比如K-Means

2.Hive的效率比较低

Hive自动生成的MapReduce作业,通常情况下不够智能化

Hive调优比较困难,粒度较粗

3.Hive可控性差

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值