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;
解释:
-
从名为 "docs" 的表中的 "line" 列中分割字符串,然后使用
explode
函数将这些单词拆分成多行的形式。这样每个单词都会变成一个单独的行,形成一个名为 "word" 的临时表。 -
接下来,在这个临时表上使用
group by
子句按单词进行分组。 -
使用
count(1)
函数对每个单词分组进行计数,并将结果命名为 "count"。 -
最后,使用
order by
子句按字母顺序对单词进行排序。
整个查询的结果将作为一个新的表 "word_count" 来存储。
5.最后一步,执行select * from word_count;
结果如下
参考地址:Hive3.1.3安装和使用指南_厦大数据库实验室博客 (xmu.edu.cn)