Hive - 标签计数

Hive - Hashtag Counting

我在使用 HiveQL 计算主题标签时遇到了困难。 我的问题: 我在一行中有这些标签格式:


jurassicworld;movie;night;dino

jurassicWorld;book;yourtickets;movie

jurassicWorld;movie


我查看了Hive中的https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF,但是没有函数,我可以选择一个分隔符(;)来分隔这些标签并进行计数。

我的结果应该是这样的:

+---------------+-----------+
| Hashtag       | Count     |
+---------------+-----------+
| jurassicworld | 300       |
| movie         | 200       |
| night         | 100       |
| dino          | 250       | 
| book          | 50        |  
| etc...        | 100       |
+---------------+-----------+

我创建了以下虚拟 table deli -

hive> describe deli;
OK
row1                    string                  None

我使用了以下查询 -

select hashTag, count(*) as data from deli LATERAL VIEW explode(split(row1,'\;')) t1 AS hashTag group by hashTag;

并且,它为您的数据提供了以下结果-

book    1
dino    1
jurassicWorld   2
jurassicworld   1
movie   3
night   1
yourtickets     1