我通过使用HiveQL计算主题标签而陷入困境。 我的问题: 我将这些标签格式排在一行:
侏罗纪世界;电影;夜间;恐龙
侏罗纪世界;书;出示你;电影
侏罗纪世界;电影
我查看了Hive中的https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF,但是没有函数,我可以选择一个分隔符(;)来分隔这些主题标签并计算它们。
我的结果应该是这样的:
+---------------+-----------+
| Hashtag | Count |
+---------------+-----------+
| jurassicworld | 300 |
| movie | 200 |
| night | 100 |
| dino | 250 |
| book | 50 |
| etc... | 100 |
+---------------+-----------+
答案 0 :(得分:0)
我创建了以下虚拟表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