我有一张这样结构的table:
user_id | message_id | content
1 | 1 | "I like cats"
1 | 1 | "I like dogs"
和一个有效单词的列表 dictionary.txt
(或外部配置单元表),例如:
I,like,dogs,cats,lemurs
我的目标是为每个用户生成一个单词计数表
user_id | "I" | "like" | "dogs" | "cats" | "lemurs"
1 | 2 | 2 | 1 | 1 | 0
这就是我目前所尝试的:
SELECT user_id, word, COUNT(*)
FROM messages LATERAL VIEW explode(split(content, ' ')) lTable as word
GROUP BY user_id,word;
2条答案
按热度按时间jvidinwx1#
检查此项:
否则,您可以定义一个变量(搜索字符串)并将其放置在“a”、“w”等位置
wwtsj6pe2#
我不太熟悉在Hive上做枢轴,但在Pig身上可以做到。
你将不得不写一个简单的自定义项
GetWordCounts
它标记每个分组记录的输入内容,并使用输入字典进行检查。