2015-06-19 18 views
0

我通過用HiveQL計數標籤卡住了。 我的問題: 我有井號標籤的這些格式一行:配置單元 - 標籤計數


侏羅紀世界;電影;晚上,恐龍

侏羅紀世界,書,出示你的;電影

侏羅紀世界;電影


我查看了Hive的https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF,但沒有任何功能,我可以選擇一個分隔符(;)來分隔這些hashtags並對它們進行計數。

我的結果應該是這個樣子:

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

的可能重複的[蜂巢:轉換用逗號分隔的字符串數組表生成功能](http://stackoverflow.com/questions/13754648/hive-converting-a-comma-separated-string-to-array表生成函數)http://stackoverflow.com/questions/12160304/hadoop-hive-split-a-single-row-into-multiple-rows – gobrewers14

+0

http://stackoverflow.com/questions/12160304/hadoop-hive-split-a-row-into-multiple-rows – gobrewers14

回答

0

我創建了以下虛表熟食店 -

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 
+0

非常感謝!一切工作完美:) – Daniel