hive词频统计

发布时间 2023-10-17 15:36:56作者: Men!

1.首先在hadoop目录下创建一个input文件夹,并在文件夹里建立两个txt文件并写入信息

 第三行的echo命令会讲引号里的内容写入后边的文件,文件不存在的话会自动创建一个.

2.启动hive,创建一个名为docs的表,只含一列,列名为line,类型为string

 3.将第一步input文件夹中的内容导入表docs

 引号中的地址为file://加上input文件在所在的地址

4.然后执行下面的语句(词频统计的关键)

create table word_count as

select word, count(1) as count from

(select explode(split(line,' '))as word from docs) w

group by word

order by word;

解释:

  1. 从名为 "docs" 的表中的 "line" 列中分割字符串,然后使用 explode 函数将这些单词拆分成多行的形式。这样每个单词都会变成一个单独的行,形成一个名为 "word" 的临时表。

  2. 接下来,在这个临时表上使用 group by 子句按单词进行分组。

  3. 使用 count(1) 函数对每个单词分组进行计数,并将结果命名为 "count"。

  4. 最后,使用 order by 子句按字母顺序对单词进行排序。

       整个查询的结果将作为一个新的表 "word_count" 来存储。

5.最后一步,执行select * from word_count;

结果如下

 

参考地址:Hive3.1.3安装和使用指南_厦大数据库实验室博客 (xmu.edu.cn)